dsh-metaphysics 0.62.4 → 0.62.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -1
- package/client.almanac.js +1 -1
- package/client.bazi.js +127 -121
- package/client.chenggu.js +1 -1
- package/client.convert.js +1 -1
- package/client.daliuren.js +94 -88
- package/client.fengshui.js +1 -1
- package/client.hepan.js +122 -116
- package/client.js +1 -1
- package/client.liuyao.js +85 -79
- package/client.mbti.js +1 -1
- package/client.name.js +70 -70
- package/client.numerology.js +1 -1
- package/client.qimen.js +110 -104
- package/client.star.js +1 -1
- package/client.tarot.js +61 -55
- package/client.trend.js +117 -111
- package/client.xiaoliuren.js +1 -1
- package/client.zeri.js +1 -1
- package/client.ziwei.js +128 -122
- package/engine/bazi.js +71 -2
- package/engine/citations-fuwen.js +222 -0
- package/engine/citations.js +129 -5
- package/engine/diff.js +1 -1
- package/engine/geju.js +333 -2
- package/engine/interpret-knowledge.js +10 -10
- package/engine/interpret.js +45 -5
- package/engine/qimen.js +9 -0
- package/engine/structure.js +218 -0
- package/package.json +1 -1
- package//345/221/275/347/220/206/346/216/222/347/233/230.html +826 -30
package/client.daliuren.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
window.__ModuleLoader__.load({id:"dsh-metaphysics",chunk:"client.daliuren.js",factory(pt){const J={};return J.fail=(function(){return{fail:(
|
|
2
|
-
`);const y=
|
|
3
|
-
`)}const b=(s,i,t,r,y,h)=>({key:s,title:i,short:t,read:c=>{const N=c[s]!==void 0?c[s]:c.schools&&c.schools[s];return h[N]?N:r},alt:c=>c===y?r:y,label:c=>h[c]||c}),p={bazi:[{key:"lateZi",title:"晚子时:23:00 后是否换日",short:"晚子时",read:s=>U(s.lateZi,!0),alt:s=>!s,label:s=>s?"换日":"不换日"},{key:"trueSolar",title:"真太阳时:是否按出生地经度修正",short:"真太阳时",read:s=>U(s.trueSolar,!0),alt:s=>!s,label:s=>s?"修正":"不修正"}],ziwei:[{key:"leapMonth",title:"闰月归月:按日切分 / 整月归次月",short:"闰月归月",read:s=>s.leapMonth==="next"||s.leapMonth==="prev"?s.leapMonth:"split",alt:s=>s==="split"?"next":"split",label:s=>({split:"按日切分",next:"整月归次月",prev:"整月归本月"})[s]||s},{key:"trueSolar",title:"真太阳时:是否按出生地经度修正",short:"真太阳时",read:s=>U(s.trueSolar,!0),alt:s=>!s,label:s=>s?"修正":"不修正"},b("brightnessSchool","亮度表:默认 / QS 七档","亮度表","default","QS",{default:"默认",QS:"QS(七档)",XD1:"XD1(七档)",ZZ:"ZZ(五档)",XD2:"XD2(五档)"}),b("gengYearSihua","庚干四化:阳武阴同 / 同科阴忌","庚干四化","GYWYT","GYWTY",{GYWYT:"阳武阴同",GYWTY:"同科阴忌",GYWFT:"府科同忌",GYWFX:"府科相忌",GYWTX:"同科相忌"}),b("tianmaSchool","天马:按年支 / 按生月","天马","year-branch","month-branch",{"year-branch":"年支","month-branch":"生月"}),b("tiankongSchool","天空:不排 / 年支顺行","天空","off","normal",{off:"不排",normal:"年支顺行","shun-jia-shi":"加生时"}),b("jiekongSchool","截空旬空:不排 / 正副双星","截空旬空","off","double",{off:"不排",single:"单星",double:"正副双星",zhanyan:"占验派"}),b("kuiyueSchool","魁钺:qs1 / qs2","魁钺","qs1","qs2",{qs1:"qs1",qs2:"qs2","zhong-yiming":"中一鸣"}),b("tianshiTianshang","天伤天使:常规 / 中州互换","天伤天使","normal","zhongzhou",{normal:"常规",zhongzhou:"中州(阴男阳女互换)"}),b("changshengSchool","长生:阴阳顺逆 / 火土起寅","长生","yin-yang-shun-ni","huo-tu",{"yin-yang-shun-ni":"阴阳顺逆","shui-tu":"水二","huo-tu":"火土(土五局起寅)"}),b("lateZishi","晚子时:归当日 / 归次日","晚子时","current-day","next-day",{"current-day":"归当日","next-day":"归次日","all-current":"全归当日","day-cur-time-next":"日归当日·时归次日"}),b("shenzhuSchool","身主:子午皆火星 / 子铃午火","身主","common","verse",{common:"子午皆火星",verse:"子铃午火(安身主诀逐字)"}),b("zuoyaoSchool","杂曜:49 颗简盘 / 61 颗全表","杂曜全表","minimal","full",{minimal:"49 颗(简盘)",full:"61 颗(加十二颗杂曜)"})],qimen:[{key:"juMethod",title:"取局流派:拆补 / 超神接气 / 置闰",short:"取局流派",read:s=>["chaibu","chaoshen","zhirun"].includes(s.juMethod)?s.juMethod:"chaibu",alt:s=>s==="chaibu"?"zhirun":"chaibu",label:s=>({chaibu:"拆补法",chaoshen:"超神接气",zhirun:"置闰法"})[s]||s},{key:"lateZiHourMode",title:"晚子时:23:00 后归当日 / 次日",short:"晚子时归日",read:s=>s.lateZiHourMode==="next-day"?"next-day":"same-day",alt:s=>s==="next-day"?"same-day":"next-day",label:s=>s==="next-day"?"归次日":"归当日"}]},w={bazi:[{path:"pillars.day.ganzhi",label:"日柱"},{path:"pillars.hour.ganzhi",label:"时柱"},{path:"strength.level",label:"旺衰"},{path:"frame.primaryName",label:"格局"},{path:"frame.yongshen.favor",label:"喜用"},{path:"dayun.jiao.at",label:"起运"}],ziwei:[{path:"soul.ganzhi",label:"命宫"},{path:"body.branch",label:"身宫支"},{path:"bureau.name",label:"五行局"},{path:"bodyMaster",label:"身主"},{path:"daxianList.0.ages",label:"起大限"}],qimen:[{path:"siZhu.day",label:"日柱"},{path:"ju",label:"局数"},{path:"zhiFu.star",label:"值符"},{path:"zhiShi.gate",label:"值使"}]};function g(s,i){let t=s;for(const r of String(i).split(".")){if(t==null)return;t=t[r]}return t}function m(s){return s==null?"—":Array.isArray(s)?s.join("、"):typeof s=="object"?"—":String(s)}function f(s,i,t){return(w[s]||[]).map(y=>{const h=m(g(i,y.path)),c=m(g(t,y.path));return{key:y.path,label:y.label,current:h,alt:c,changed:h!==c}})}return{diffObjects:re,labelOf:H,categoryOf:o,rootOf:A,sortDiffs:q,summarize:Z,formatValue:j,renderDiff:$,CALIBER_SWITCHES:p,CALIBER_VIEWS:w,viewCell:m,viewRows:f}})(),J.fingerprint=(function(){const U="0123456789ABCDEFGHJKMNPQRSTVWXYZ";function Q(T){return JSON.stringify(ae(T))}function ae(T){if(T===null)return null;const _=typeof T;if(_==="string")return typeof T.normalize=="function"?T.normalize("NFC"):T;if(_==="number")return Number.isFinite(T)?Object.is(T,-0)?0:T:null;if(_==="boolean")return T;if(Array.isArray(T))return T.map(ae);if(_==="object"){const H=Object.create(null);for(const o of Object.keys(T).sort()){const A=T[o];A===void 0||typeof A=="function"||typeof A=="symbol"||(H[o]=ae(A))}return H}return null}function re(T){const _=String(T);let H=2166136261,o=2654435769;for(let Z=0;Z<_.length;Z+=1){const j=_.charCodeAt(Z);for(const $ of[j&255,j>>>8])H=Math.imul(H^$,16777619),o=Math.imul(o^$,2246822507)}let A=(H>>>0)*8+(o>>>29),q="";for(let Z=0;Z<7;Z+=1)q=U[A%32]+q,A=Math.floor(A/32);return q}function ne(T={}){const _=String(T.system||""),H=String(T.version||"dev"),o=T.seed===void 0||T.seed===null||T.seed===""?null:Number(T.seed),A=T.asOf?String(T.asOf):null,q=T.params&&typeof T.params=="object"?T.params:{},Z=Q({system:_,params:q,seed:o,asOf:A}),j=Q({base:Z,version:H});return{id:`LY-${re(j)}`,baseId:`LY-${re(Z)}`,version:H,system:_,payload:Z}}return{canonicalJson:Q,shortHash:re,fingerprintOf:ne}})(),J.validate=(function(){const{fail:U}=J.fail||{},Q=1600,ae=2400;function re(q){return q%4===0&&q%100!==0||q%400===0}function ne(q,Z){return Z===2?re(q)?29:28:[31,28,31,30,31,30,31,31,30,31,30,31][Z-1]||0}const T=q=>typeof q=="string"?`「${q}」`:String(q),_="引擎只接受解析好的公历字段 { year, month, day, hour?, minute? };字符串请先交给宿主层的 parseDateTime 解析";function H(q,Z=""){const j=Z?`${Z} 的`:"";if(!q||typeof q!="object"||Array.isArray(q)){const w=q===null?"null":Array.isArray(q)?"数组":typeof q;throw U("E_INPUT",`${j}入参必须是对象(收到 ${w});${_}`)}const $=q.hour===void 0?0:q.hour,b=q.minute===void 0?0:q.minute;for(const[w,g]of[["year",q.year],["month",q.month],["day",q.day],["hour",$],["minute",b]])if(!Number.isInteger(g))throw U("E_INPUT",`${j}${w} 必须是整数(收到 ${T(g)});${_}`);if(q.year<Q||q.year>ae)throw U("E_INPUT",`${j}year 超出支持范围 ${Q}–${ae}(收到 ${q.year});更早的年份时区与历法口径不可靠`);if(q.month<1||q.month>12)throw U("E_INPUT",`${j}month 超出范围 1–12(收到 ${q.month})`);const p=ne(q.year,q.month);if(q.day<1||q.day>p)throw U("E_INPUT",`${j}日期不存在:${q.year}-${q.month}-${q.day}(${q.year} 年 ${q.month} 月只有 ${p} 天)`);if($<0||$>23)throw U("E_INPUT",`${j}hour 超出范围 0–23(收到 ${$})`);if(b<0||b>59)throw U("E_INPUT",`${j}minute 超出范围 0–59(收到 ${b})`);return q}function o(q,Z,j){if(!q||typeof q!="object"||Array.isArray(q)){const $=q===null?"null":q===void 0?"undefined":Array.isArray(q)?"数组":typeof q;throw U("E_INPUT",`${Z} 必须是对象(收到 ${$});${j}`)}return q}function A(q,Z=""){const j=Z?`${Z}:`:"";if(q.year<Q||q.year>ae)throw U("E_RANGE",`${j}晚子时按次日归后落到 ${q.year}-${String(q.month).padStart(2,"0")}-${String(q.day).padStart(2,"0")},超出可计算范围 ${Q}–${ae};请把时刻挪到 23 点前,或换一天起课`);return q}return{MIN_YEAR:Q,MAX_YEAR:ae,isLeapYear:re,daysInMonth:ne,assertCivil:H,assertObject:o,assertShifted:A}})(),J.datetime=(function(){const{fail:U}=J.fail||{},{MIN_YEAR:Q,MAX_YEAR:ae}=J.validate||{};function re(_,H){return H===2?_%4===0&&_%100!==0||_%400===0?29:28:[31,28,31,30,31,30,31,31,30,31,30,31][H-1]}function ne(_,H=""){const o=String(_??"").trim(),A=/^(\d{4})-(\d{1,2})-(\d{1,2})$/.exec(o);if(!A)return null;const q=Number(A[1]),Z=Number(A[2]),j=Number(A[3]);if(Z<1||Z>12||j<1||j>re(q,Z))return null;if(q<Q||q>ae){const $=H?`${H} `:"";throw U("E_RANGE",`${$}「${A[0]}」的年份超出可计算范围(${Q}–${ae},收到 ${q} 年);农历与节气表不覆盖之外的年份`)}return{year:q,month:Z,day:j}}function T(_){if(typeof _!="string"||!_.trim())throw U("E_INPUT","缺少 datetime(公历日期时间),例如 1990-05-12T14:30");const H=_.trim().match(/^(\d{4})-(\d{1,2})-(\d{1,2})(?:[T\s](\d{1,2}):(\d{1,2})(?::(\d{1,2}))?)?$/);if(!H)throw U("E_INPUT",`无法解析 datetime:「${_}」,请用 1990-05-12T14:30 这种格式`);if(H[6]!==void 0&&Number(H[6])>59)throw U("E_INPUT",`秒超出范围:${H[6]}`);const o={year:Number(H[1]),month:Number(H[2]),day:Number(H[3]),hour:Number(H[4]??0),minute:Number(H[5]??0)};if(o.month<1||o.month>12)throw U("E_INPUT",`月份超出范围:${o.month}`);const A=re(o.year,o.month);if(o.day<1||o.day>A)throw U("E_INPUT",`日期不存在:${o.year}-${o.month}-${o.day}(${o.year} 年 ${o.month} 月只有 ${A} 天)`);if(o.hour>23||o.minute>59)throw U("E_INPUT",`时间超出范围:${o.hour}:${o.minute}`);if(o.year<Q||o.year>ae)throw U("E_RANGE",`年份 ${o.year} 超出可计算范围(${Q}–${ae})`);return(o.year<1900||o.year>2100)&&(o.precision={level:"approx",note:`ΔT 模型仅覆盖 1900–2100,${o.year} 年按端点值外推,节气与朔望时刻可能有分钟级偏差,月柱在交节前后需复核`}),o}return{daysInMonth:re,parseYmd:ne,parseDateTime:T}})(),J.lru=(function(){function U({max:Q=64,ttlMs:ae=0,name:re="lru",now:ne=()=>Date.now()}={}){const T=new Map,_={name:re,hits:0,misses:0,evictions:0,expirations:0},H=o=>ae>0&&ne()-o.at>ae;return{name:re,max:Q,ttlMs:ae,get(o){const A=T.get(o);if(!A||H(A)){A&&(T.delete(o),_.expirations+=1),_.misses+=1;return}return T.delete(o),T.set(o,A),_.hits+=1,A.value},set(o,A){for(T.has(o)&&T.delete(o),T.set(o,{value:A,at:ne()});T.size>Q;)T.delete(T.keys().next().value),_.evictions+=1;return A},has(o){const A=T.get(o);return A?H(A)?(T.delete(o),_.expirations+=1,!1):!0:!1},delete(o){return T.delete(o)},clear(){T.clear()},get size(){return T.size},stats(){const o=_.hits+_.misses;return{name:re,size:T.size,max:Q,hits:_.hits,misses:_.misses,evictions:_.evictions,expirations:_.expirations,hitRate:o?_.hits/o:0}}}}return{createLru:U}})(),J.nayin=(function(){const U=["海中金","炉中火","大林木","路旁土","剑锋金","山头火","涧下水","城头土","白蜡金","杨柳木","泉中水","屋上土","霹雳火","松柏木","长流水","沙中金","山下火","平地木","壁上土","金箔金","覆灯火","天河水","大驿土","钗钏金","桑柘木","大溪水","沙中土","天上火","石榴木","大海水"];function Q(ae){const re=(Number(ae)%60+60)%60,ne=U[Math.floor(re/2)];return{name:ne,element:ne[2]}}return{NAYIN_NAMES:U,nayinOf:Q}})(),J.sanhe=(function(){const U=[{branches:["申","子","辰"],element:"水"},{branches:["亥","卯","未"],element:"木"},{branches:["寅","午","戌"],element:"火"},{branches:["巳","酉","丑"],element:"金"}],Q=Object.fromEntries(U.map(ne=>[ne.branches.join(""),ne.element])),ae=Object.fromEntries(U.flatMap(ne=>ne.branches.map(T=>[T,ne.element])));function re(ne){return U.find(T=>T.branches.includes(ne))||null}return{SANHE_GROUPS:U,SANHE:Q,SANHE_ELEMENT:ae,sanheGroupOf:re}})(),J["vsop-earth"]=(function(){const U=[[1.75347045673,0,0],[.03341656453,4.66925680415,6283.0758499914],[.00034894275,4.62610242189,12566.1516999828],[3417572e-11,2.82886579754,3.523118349],[3497056e-11,2.74411783405,5753.3848848968],[3135899e-11,3.62767041756,77713.7714681205],[2676218e-11,4.41808345438,7860.4193924392],[2342691e-11,6.13516214446,3930.2096962196],[1273165e-11,2.03709657878,529.6909650946],[1324294e-11,.74246341673,11506.7697697936],[901854e-11,2.04505446477,26.2983197998],[1199167e-11,1.10962946234,1577.3435424478],[857223e-11,3.50849152283,398.1490034082],[779786e-11,1.17882681962,5223.6939198022],[99025e-10,5.23268072088,5884.9268465832],[753141e-11,2.53339052847,5507.5532386674],[505267e-11,4.58292599973,18849.2275499742],[492392e-11,4.20505711826,775.522611324],[356672e-11,2.91954114478,.0673103028],[284125e-11,1.89869240932,796.2980068164],[242879e-11,.34481445893,5486.777843175],[317087e-11,5.84901948512,11790.6290886588],[271112e-11,.31486255375,10977.078804699],[206217e-11,4.80646631478,2544.3144198834],[205478e-11,1.86953770281,5573.1428014331],[202318e-11,2.45767790232,6069.7767545534],[126225e-11,1.08295459501,20.7753954924],[155516e-11,.83306084617,213.299095438],[115132e-11,.64544911683,.9803210682],[102851e-11,.63599845579,4694.0029547076],[101724e-11,4.2667980198,7.1135470008],[99206e-11,6.20992926918,2146.1654164752],[132212e-11,3.41118292683,2942.4634232916],[97607e-11,.68101342359,155.4203994342],[85128e-11,1.29870764804,6275.9623029906],[74651e-11,1.755089133,5088.6288397668],[101895e-11,.97569280312,15720.8387848784],[84711e-11,3.67080093031,71430.69561812909],[73547e-11,4.67926633877,801.8209311238],[73874e-11,3.50319414955,3154.6870848956],[78757e-11,3.03697458703,12036.4607348882],[79637e-11,1.80791287082,17260.1546546904],[85803e-11,5.9832263126,161000.6857376741],[56963e-11,2.78430458592,6286.5989683404],[61148e-11,1.81839892984,7084.8967811152],[69627e-11,.83297621398,9437.762934887],[56116e-11,4.38694865354,14143.4952424306],[62449e-11,3.97763912806,8827.3902698748],[51145e-11,.28306832879,5856.4776591154],[55577e-11,3.47006059924,6279.5527316424],[41036e-11,5.36817592855,8429.2412664666],[51605e-11,1.33282739866,1748.016413067],[51992e-11,.18914947184,12139.5535091068],[49e-8,.48735014197,1194.4470102246],[392e-9,6.16833020996,10447.3878396044],[3557e-10,1.775968892,6812.766815086],[3677e-10,6.04133863162,10213.285546211],[36596e-11,2.56957481827,1059.3819301892],[33296e-11,.59310278598,17789.845619785],[35954e-11,1.70875808777,2352.8661537718],[40938e-11,2.39850938714,19651.048481098],[30047e-11,2.73975124088,1349.8674096588],[30412e-11,.44294464169,83996.84731811189],[23663e-11,.48473622521,8031.0922630584],[23574e-11,2.06528133162,3340.6124266998],[21089e-11,4.14825468851,951.7184062506],[24738e-11,.21484762138,3.5904286518],[25352e-11,3.16470891653,4690.4798363586],[22823e-11,5.22195230819,4705.7323075436],[21419e-11,1.42563910473,16730.4636895958],[21891e-11,5.55594302779,553.5694028424],[203e-9,.37133792946,283.8593188652]],Q=[[6283.0758499914,0,0],[.00206058863,2.67823455808,6283.0758499914],[4303419e-11,2.63512233481,12566.1516999828],[425264e-11,1.59046982018,3.523118349],[109017e-11,2.96631010675,1577.3435424478],[93479e-11,2.59211109542,18849.2275499742],[119305e-11,5.79555765566,26.2983197998],[72121e-11,1.13840581212,529.6909650946],[67784e-11,1.87453300345,398.1490034082],[6735e-10,4.40932832004,5507.5532386674],[59045e-11,2.88815790631,5223.6939198022],[55976e-11,2.17471740035,155.4203994342],[45411e-11,.39799502896,796.2980068164],[36298e-11,.46875437227,775.522611324],[28962e-11,2.64732254645,7.1135470008],[20844e-11,5.34138275149,.9803210682]],ae=[[8721859e-11,1.07253635559,6283.0758499914],[99099e-10,3.14159265359,0],[294833e-11,.43717350256,12566.1516999828],[27338e-11,.05295636147,3.523118349],[16333e-11,5.18820215724,26.2983197998],[15745e-11,3.68504712183,155.4203994342],[9425e-11,.29667114694,18849.2275499742],[8938e-11,2.05706319592,77713.7714681205],[694e-10,.82691541038,775.522611324],[5061e-11,4.6624323168,1577.3435424478]],re=[[289058e-11,5.84173149732,6283.0758499914],[20712e-11,6.0498393902,12566.1516999828],[2962e-11,5.1956057957,155.4203994342],[2527e-11,3.14159265359,0],[1288e-11,4.7219761197,3.523118349]],ne=[[7714e-11,4.14117321449,6283.0758499914],[1016e-11,3.27573644241,12566.1516999828]];function T(_){let H=0;for(const[A,q,Z]of U)H+=A*Math.cos(q+Z*_);let o=1;for(const A of[Q,ae,re,ne]){o*=_;for(const[q,Z,j]of A)H+=q*o*Math.cos(Z+j*_)}return H}return{earthL:T}})(),J.calendar=(function(){const{earthL:U}=J["vsop-earth"]||{},{createLru:Q}=J.lru||{},{bool:ae}=J.bool||{},re=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],ne=["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"],T=["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"];function _(W){return(285+15*W)%360}function H(W,D,z){const P=Math.floor((14-D)/12),V=W+4800-P,ue=D+12*P-3;return z+Math.floor((153*ue+2)/5)+365*V+Math.floor(V/4)-Math.floor(V/100)+Math.floor(V/400)-32045}function o(W){const D=W+32044,z=Math.floor((4*D+3)/146097),P=D-Math.floor(146097*z/4),V=Math.floor((4*P+3)/1461),ue=P-Math.floor(1461*V/4),le=Math.floor((5*ue+2)/153);return{year:100*z+V-4800+Math.floor(le/10),month:le+3-12*Math.floor(le/10),day:ue-Math.floor((153*le+2)/5)+1}}function A(W,D){for(let z=0;z<60;z++)if(z%10===W&&z%12===D)return z;return-1}function q(W){const D=(W%60+60)%60;return{index:D,stem:re[D%10],branch:ne[D%12],name:re[D%10]+ne[D%12]}}function Z(W){return((W+49)%60+60)%60}function j(W){const D=W-2451545,z=D/36525,P=D/365250;let V=U(P)*180/Math.PI+180;V=(V%360+360)%360;const ue=(5029.0966*z+1.11113*z*z-6e-6*z*z*z)/3600;V+=ue,V-=.09033/3600;const le=(125.04452-1934.136261*z)*Math.PI/180,ve=(280.4665+36000.7698*z)*Math.PI/180,Ae=(218.3165+481267.8813*z)*Math.PI/180,hn=(-17.2*Math.sin(le)-1.32*Math.sin(2*ve)-.23*Math.sin(2*Ae)+.21*Math.sin(2*le))/3600;V+=hn;const ye=(357.52911+35999.05029*z-1537e-7*z*z)*Math.PI/180,nn=.016708634-42037e-9*z-1267e-10*z*z,Gn=1.000001018*(1-nn*nn)/(1+nn*Math.cos(ye+(1.914602-.004817*z)*(Math.PI/180)*Math.sin(ye)));return V-=20.4898/3600/(Gn||1),(V%360+360)%360}function $(W){if(W<1900){const le=W;if(le<1600)return 120;if(le<1700){const Ae=le-1600;return 120-.9808*Ae-.01532*Ae*Ae+Ae*Ae*Ae/7129}if(le<1800){const Ae=le-1700;return 8.83+.1603*Ae-.0059285*Ae*Ae+13336e-8*Ae*Ae*Ae-Ae**4/1174e3}if(le<1860){const Ae=le-1800;return 13.72-.332447*Ae+.0068612*Ae*Ae+.0041116*Ae**3-37436e-8*Ae**4+121272e-10*Ae**5-1699e-10*Ae**6+875e-12*Ae**7}const ve=le-1860;return 7.62+.5737*ve-.251754*ve*ve+.01680668*ve**3-.0004473624*ve**4+ve**5/233174}const D=[[1900,-2.8],[1920,21.2],[1940,24.3],[1950,29.1],[1960,33.2],[1970,40.2],[1980,50.5],[1990,56.9],[2e3,63.8],[2010,66.1],[2020,69.4],[2030,72],[2050,80],[2100,110]];if(W<=D[0][0])return D[0][1];for(let le=1;le<D.length;le++)if(W<=D[le][0]){const[ve,Ae]=D[le-1],[hn,ye]=D[le];return Ae+(ye-Ae)*(W-ve)/(hn-ve)}const[z,P]=D[D.length-1],V=(z-1820)/100,ue=(W-1820)/100;return P+32*(ue*ue-V*V)}const b=8/24,p=7.7611/24,w=2425612+4/24;function g(W){return W<w?p:b}const m=Q({max:4096,name:"termInstant"}),f=1e-5,s=new Map,i=365.2422;function t(W,D){const z=_(D),P=H(W,1,5)-.5+D*15.2184,V=s.get(D);let ue=V!==void 0?V+i:P;Math.abs(ue-P)>20&&(ue=P);for(let ve=0;ve<12;ve++){let Ae=z-j(ue);if(Ae=((Ae+180)%360+360)%360-180,ue+=Ae/.98564736,Math.abs(Ae)<f)break}s.set(D,ue);const le=ue-$(W)/86400;return le+g(le)}function r(W,D){const z=W*24+D,P=m.get(z);if(P!==void 0)return P;const V=t(W,D);return m.set(z,V),V}function y(W){const D=Math.floor(W+.5),z=W+.5-D,P=Math.min(1439,Math.floor(Math.round(z*86400)/60)),{year:V,month:ue,day:le}=o(D);return{year:V,month:ue,day:le,hour:Math.floor(P/60),minute:P%60}}function h({year:W,month:D,day:z,hour:P=0,minute:V=0}){return H(W,D,z)-.5+(P*60+V)/1440}function c(W,D,z){const P=H(W,D,z)-H(W,1,1)+1,V=2*Math.PI*(P-81)/364;return 9.87*Math.sin(2*V)-7.53*Math.cos(V)-1.5*Math.sin(V)}const N=Q({max:8,name:"termWindow"}),O=Q({max:32,name:"termYear"}),we=Array.from({length:24},(W,D)=>D),Ye=we.filter(W=>W%2===0);function d(W,D){const z=D?`${W}|jie`:`${W}|all`,P=O.get(z);if(P)return P;if(D){const ue=O.get(`${W}|all`);if(ue){const le=ue.filter(ve=>ve.index%2===0);return O.set(z,le),le}}const V=[];for(const ue of D?Ye:we)V.push({year:W,index:ue,name:T[ue],jd:r(W,ue)});return V.sort((ue,le)=>ue.jd-le.jd),O.set(z,V),V}function I(W,D={}){const z=ae(D.jieOnly),P=z?`${W}|jie`:W,V=N.get(P);if(V)return V;const ue=[...d(W-1,z),...d(W,z),...d(W+1,z)];return ue.sort((le,ve)=>le.jd-ve.jd),N.set(P,ue),ue}function F(W){if(typeof W!="string"||W.length<2)return[];const D=re.indexOf(W[0]),z=ne.indexOf(W[1]);if(D<0||z<0)return[];const P=A(D,z);if(P<0)return[];const V=Math.floor(P/10)*10;return[ne[(V+10)%12],ne[(V+11)%12]]}function oe(W,D){let z=null;for(const P of W)if(P.index%2===0)if(P.jd<=D)z=P;else break;return z}function te(W,D){for(const z of W)if(z.index%2===0&&z.jd>D)return z;return null}function fe(W){const D=y(W),z=P=>String(P).padStart(2,"0");return`${D.year}-${z(D.month)}-${z(D.day)} ${z(D.hour)}:${z(D.minute)}`}function ze(){return[m.stats(),O.stats(),N.stats()]}return{STEMS:re,BRANCHES:ne,TERM_NAMES:T,termLongitude:_,toJDN:H,fromJDN:o,sexagenaryIndex:A,ganzhiName:q,dayGanzhiIndex:Z,sunLongitude:j,deltaTSeconds:$,OFFSET_MODERN:b,OFFSET_BEIJING_LOCAL:p,CUTOVER_JD:w,localOffsetFor:g,termInstantJd:r,jdToParts:y,partsToJd:h,equationOfTime:c,termWindow:I,xunKongOf:F,previousJie:oe,nextJie:te,formatJd:fe,cacheMetrics:ze}})(),J.lunar=(function(){const{toJDN:U,jdToParts:Q,termInstantJd:ae,deltaTSeconds:re,localOffsetFor:ne}=J.calendar||{},T=29.530588861,_=245155009766e-5,H=Math.PI/180;function o($){const b=$/1236.85,p=_+T*$+15437e-8*b*b-15e-8*b*b*b+73e-11*b*b*b*b,w=1-.002516*b-74e-7*b*b,g=(2.5534+29.1053567*$-14e-7*b*b-11e-8*b*b*b)*H,m=(201.5643+385.81693528*$+.0107582*b*b+1238e-8*b*b*b-58e-9*b*b*b*b)*H,f=(160.7108+390.67050284*$-.0016118*b*b-227e-8*b*b*b+11e-9*b*b*b*b)*H,s=(124.7746-1.56375588*$+.0020672*b*b+215e-8*b*b*b)*H,i=-.4072*Math.sin(m)+.17241*w*Math.sin(g)+.01608*Math.sin(2*m)+.01039*Math.sin(2*f)+.00739*w*Math.sin(m-g)-.00514*w*Math.sin(m+g)+.00208*w*w*Math.sin(2*g)-.00111*Math.sin(m-2*f)-57e-5*Math.sin(m+2*f)+56e-5*w*Math.sin(2*m+g)-42e-5*Math.sin(3*m)+42e-5*w*Math.sin(g+2*f)+38e-5*w*Math.sin(g-2*f)-24e-5*w*Math.sin(2*m-g)-17e-5*Math.sin(s)-7e-5*Math.sin(m+2*g)+4e-5*Math.sin(2*m-2*f)+4e-5*Math.sin(3*g)+3e-5*Math.sin(m+g-2*f)+3e-5*Math.sin(2*m+2*f)-3e-5*Math.sin(m+g+2*f)+3e-5*Math.sin(m-g+2*f)-2e-5*Math.sin(m-g-2*f)-2e-5*Math.sin(3*m+g)+2e-5*Math.sin(4*m),t=p+i-re(2e3+b*100)/86400;return t+ne(t)}function A($){return Math.floor($+.5)}function q($){return Math.round(($+.5-_)/T)}function Z($,b,p){for(let w=$-1;w<=$+1;w++)for(let g=1;g<24;g+=2){const m=ae(w,g),f=A(m);if(f>=b&&f<p)return{index:g,jd:m}}return null}function j($,b,p){const w=U($,b,p),g=A(ae($,23)),m=w<g?$-1:$,f=A(ae(m,23));let s=q(f);for(;A(o(s))>f;)s--;for(;A(o(s+1))<=f;)s++;const i=A(ae(m+1,23));let t=s;for(;A(o(t+1))<=i;)t++;const r=t-s;let y=-1;if(r===13)for(let N=1;N<=r;N++){const O=A(o(s+N-1)),we=A(o(s+N));if(!Z(m,O,we)){y=N;break}}let h=11,c=!1;for(let N=1;N<=15;N++){const O=A(o(s+N-1)),we=A(o(s+N)),Ye=Z(m,O,we),d=N===y;if(w>=O&&w<we){const I=Q(o(s+N-1)),F=d?(h+10)%12+1:h;return{year:m,lunarYear:c?m+1:m,month:F,day:w-O+1,isLeap:d,monthStart:`${I.year}-${String(I.month).padStart(2,"0")}-${String(I.day).padStart(2,"0")}`,hasZhongQi:!!Ye}}d||(h=h%12+1,h===1&&(c=!0))}throw new Error(`农历换算失败:${$}-${b}-${p}`)}return{SYNODIC:T,newMoonJd:o,dayNumberOf:A,solarToLunar:j}})(),J.geo=(function(){const{bool:U}=J.bool||{},Q=`
|
|
1
|
+
window.__ModuleLoader__.load({id:"dsh-metaphysics",chunk:"client.daliuren.js",factory(pt){const J={};return J.fail=(function(){return{fail:(V,ae)=>{const re=new Error(ae);return re.code=V,re}}})(),J.bool=(function(){function U($,b=!1){return $==null||$===""?b:$===!0||$===1||$==="true"||$==="1"?!0:$===!1||$===0||$==="false"||$==="0"?!1:b}const V={lateZi:!0,trueSolar:!0,dst:!0,isLeapMonth:!1,leapAsNext:!1,cross:!1,hourUnknown:!1,diff:!1,shadow:!1,trace:!1,rectify:!1,withInterpret:!1},ae={lateZi:!0,trueSolar:!0,dst:!0,hourUnknown:!1};function re($,b){let p=$;const w=(m,f)=>{Object.is($[m],f)||(p===$&&(p={...$}),p[m]=f)},g=m=>{p===$&&(p={...$}),delete p[m]};for(const[m,f]of Object.entries(b))if($[m]!==void 0){if(typeof $[m]=="string"&&$[m].trim()===""){g(m);continue}w(m,U($[m],f))}return p}function te($){if(!$||typeof $!="object"||Array.isArray($))return $;let b=$;for(const[p,w]of Object.entries(ae)){if($[p]===void 0)continue;if(typeof $[p]=="string"&&$[p].trim()===""){b===$&&(b={...$}),delete b[p];continue}const g=U($[p],w);Object.is($[p],g)||(b===$&&(b={...$}),b[p]=g)}return b}function T($){if(!$||typeof $!="object")return $;let b=re($,V);for(const p of["partner","partner2"]){const w=b[p],g=te(w);g!==w&&(b===$&&(b={...$}),b[p]=g)}return b}const _=["hour","minute","longitude","verifyPast","seed","days","lunarYear","lunarMonth","lunarDay","num1","num2","num3","upper","lower","changing","count","toAge","fortuneYear","period","limit","sittingOffset","sittingDegree","facingOffset","facingDegree","year","month","day"],H=["lines","rectifyHours","answers"],o=["strokeOverrides","surnameStrokes"],A=/^[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?$/;function E($){if(typeof $!="string")return $;const b=$.trim();if(!A.test(b))return $;const p=Number(b);return Number.isFinite(p)?p:$}function Z($){let b=!1;const p={};for(const[w,g]of Object.entries($)){const m=g===null?null:E(g);Object.is(m,g)||(b=!0),p[w]=m}return b?p:$}function j($){if(!$||typeof $!="object")return $;let b=$;const p=(w,g)=>{Object.is($[w],g)||(b===$&&(b={...$}),b[w]=g)};for(const w of _)if($[w]!==void 0){if(typeof $[w]=="string"&&$[w].trim()===""){b===$&&(b={...$}),delete b[w];continue}p(w,E($[w]))}for(const w of H){const g=$[w];if(!Array.isArray(g))continue;let m=!1;const f=g.map(s=>{if(s===null)return null;if(typeof s=="string"&&s.trim()===""){m=!0;return}const i=E(s);return Object.is(i,s)||(m=!0),i});m&&p(w,f)}for(const w of o){const g=$[w];!g||typeof g!="object"||Array.isArray(g)||p(w,Z(g))}return b}return{bool:U,FLAG_DEFAULTS:V,canonicalFlags:T,NUMERIC_KEYS:_,NUMERIC_ARRAY_KEYS:H,NUMERIC_MAP_KEYS:o,canonicalNumbers:j}})(),J.diff=(function(){const{bool:U}=J.bool||{},V=new Set(["summary","interpret","castAt","asOf","precision","disclaimer","note","trueSolarText","civilText","offsetMinutes","input","jd","juMethod","juMethodNote","lateZiHourMode","leapPolicy","schools","bodyMasterSchool","bodyMasterNote","handle","handleError","revision","brief","briefError"]),ae=s=>s!==null&&typeof s=="object";function re(s,i,t="",r=[]){if(s===i)return r;if(!ae(s)||!ae(i))return r.push({path:t||"(root)",from:s,to:i}),r;const y=new Set([...Object.keys(s),...Object.keys(i)]);for(const h of y){if(V.has(h))continue;const c=t?`${t}.${h}`:h,q=s[h],O=i[h];ae(q)&&ae(O)?re(q,O,c,r):JSON.stringify(q)!==JSON.stringify(O)&&r.push({path:c,from:q,to:O})}return r}const te=[[/^pillars\.year\.ganzhi$/,"年柱"],[/^pillars\.month\.ganzhi$/,"月柱"],[/^pillars\.day\.ganzhi$/,"日柱"],[/^pillars\.hour\.ganzhi$/,"时柱"],[/^pillars\.\w+\.hidden/,"藏干"],[/^pillars\.\w+\.stemTenGod$/,"十神"],[/^pillars\.\w+\.kongwang/,"空亡"],[/^pillars\.\w+\.dishi$|^pillars\.\w+\.zizuo$/,"十二长生"],[/^pillars\.\w+\.nayin$/,"纳音"],[/^dayMaster\./,"日主"],[/^palaces\.(taiyuan|minggong|shengong)\./,"命身宫"],[/^palaces\.\d+\.(palace|branch|stem|ganzhi)$/,"宫位"],[/^palaces\.\d+\.stars\.\d+\.(name|brightness|type)$/,"星曜"],[/^palaces\.\d+\.shensha\./,"神煞"],[/^palaces\.\d+\.(daxian|xiaoxian)\./,"大限"],[/^palaces\.\d+\.sanfang\./,"三方四正"],[/^palaces\.\d+\./,"宫位"],[/^palaces\./,"命身宫"],[/^soul\./,"命宫"],[/^body\./,"身宫"],[/^doujun\./,"流年斗君"],[/^siZhu\.year$/,"年柱"],[/^siZhu\.month$/,"月柱"],[/^siZhu\.day$/,"日柱"],[/^siZhu\.time$/,"时柱"],[/^ju$|^juNumber$/,"局数"],[/^yuan$/,"三元"],[/^dun$/,"阴阳遁"],[/^daxian(List)?\./,"大限"],[/^fly(Chains|Composite)?\./,"飞星"],[/^pattern/,"格局"],[/^schools\./,"流派回显"],[/^dayun\.jiao\./,"起运"],[/^dayun\.toNextJieDays$/,"起运时间"],[/^dayun\.list\.(\d+)\.ganzhi$/,"大运干支"],[/^dayun\.startAge(Exact)?\./,"起运时间"],[/^dayun\./,"大运评分"],[/^liunian\./,"流年"],[/^jieqi\./,"节气边界"],[/^solarTime\./,"真太阳时"],[/^dayGanZhi$/,"日辰"],[/^hourZhi$/,"时支"],[/^yueJiang\./,"月将"],[/^xunKong$/,"旬空"],[/^lines\.(\d+)\./,"爻"],[/^shensha\./,"神煞"],[/^frame\./,"格局用神"],[/^strength\./,"旺衰"],[/^wuxing\./,"五行计数"],[/^relations\./,"干支关系"],[/^input\./,"输入回显"]],T=[[/^pillars\./,"四柱"],[/^shensha\./,"神煞"],[/^dayun\./,"大运"],[/^liunian\./,"流年"],[/^frame\./,"格局用神"],[/^strength\./,"旺衰"],[/^wuxing\./,"五行计数"],[/^dayMaster\./,"日主"],[/^relations\./,"干支关系"],[/^palaces\.(taiyuan|minggong|shengong)\./,"命身宫"],[/^palaces\.\d+\./,"宫位"],[/^palaces\./,"命身宫"],[/^soul\.|^body\.|^doujun\./,"命身宫"],[/^siZhu\./,"四柱"],[/^ju$|^juNumber$|^yuan$|^dun$/,"局数"],[/^daxian/,"大限"],[/^fly/,"飞星"],[/^pattern/,"格局"],[/^jieqi\./,"节气"],[/^solarTime\./,"真太阳时"],[/^input\./,"输入回显"],[/^lines\./,"爻"]],_=[[/^pillars\.(year|month|day|hour)\.ganzhi$/,"柱"],[/^palaces\.(minggong|shengong)\.ganzhi$/,"命身宫"],[/^soul\.ganzhi$/,"命宫"],[/^body\.branch$/,"身宫"],[/^siZhu\.(year|month|day|time)$/,"柱"],[/^dayun\.jiao\.at$/,"起运"],[/^dayGanZhi$/,"日辰"],[/^hourZhi$/,"时支"],[/^ju$|^juNumber$|^juName$/,"局数"],[/^dun$/,"阴阳遁"],[/^lines\.\d+\.(ganzhi|yinYang|name)$/,"爻"],[/^yueJiang\.(name|zhi)$/,"月将"]];function H(s){for(const[i,t]of te)if(i.test(s))return t;return o(s)||s}function o(s){for(const[i,t]of T)if(i.test(s))return t;return""}function A(s){for(const[i,t]of _)if(i.test(s))return t;return""}function E(s){return[...s].sort((i,t)=>i.path.localeCompare(t.path,"zh-Hans-CN",{numeric:!0}))}function Z(s){if(!s.length)return"本盘不受此口径影响:所有字段一致。";const i=s.filter(h=>A(h.path)),t=[...new Set(s.map(h=>o(h.path)).filter(Boolean))],r=i.length?`根因 ${i.length} 处:`+i.slice(0,4).map(h=>`${H(h.path)} ${j(h.from)}→${j(h.to)}`).join("、")+(i.length>4?" 等":""):"无单一根因",y=t.length?`;连带影响 ${t.slice(0,6).join("、")}${t.length>6?" 等":""} ${t.length} 类,共 ${s.length} 处`:`;共 ${s.length} 处`;return r+y+"。"}const j=s=>s===void 0?"—":s===null?"null":typeof s=="string"?s:Array.isArray(s)?s.join("")||"[]":typeof s=="object"?JSON.stringify(s):String(s);function $(s,{title:i="",limit:t=12}={}){const r=[];if(i&&r.push(`【${i}】`),r.push(Z(s)),!s.length)return r.join(`
|
|
2
|
+
`);const y=E(s.filter(c=>A(c.path))),h=E(s.filter(c=>!A(c.path)));if(y.length){r.push(""),r.push(" 根因(口径直接改动):");for(const c of y)r.push(` ${H(c.path).padEnd(6)} ${j(c.from)} → ${j(c.to)}`)}if(h.length){r.push(""),r.push(` 连带变化(${h.length} 处,展示前 ${Math.min(t,h.length)} 处):`);for(const c of h.slice(0,t))r.push(` ${H(c.path).padEnd(6)} ${j(c.from)} → ${j(c.to)}`);if(h.length>t){const c={};for(const q of h.slice(t)){const O=o(q.path)||"其他";c[O]=(c[O]||0)+1}r.push(" 其余:"+Object.entries(c).map(([q,O])=>`${q} ${O} 处`).join("、"))}}return r.join(`
|
|
3
|
+
`)}const b=(s,i,t,r,y,h)=>({key:s,title:i,short:t,read:c=>{const q=c[s]!==void 0?c[s]:c.schools&&c.schools[s];return h[q]?q:r},alt:c=>c===y?r:y,label:c=>h[c]||c}),p={bazi:[{key:"lateZi",title:"晚子时:23:00 后是否换日",short:"晚子时",read:s=>U(s.lateZi,!0),alt:s=>!s,label:s=>s?"换日":"不换日"},{key:"trueSolar",title:"真太阳时:是否按出生地经度修正",short:"真太阳时",read:s=>U(s.trueSolar,!0),alt:s=>!s,label:s=>s?"修正":"不修正"}],ziwei:[{key:"leapMonth",title:"闰月归月:按日切分 / 整月归次月",short:"闰月归月",read:s=>s.leapMonth==="next"||s.leapMonth==="prev"?s.leapMonth:"split",alt:s=>s==="split"?"next":"split",label:s=>({split:"按日切分",next:"整月归次月",prev:"整月归本月"})[s]||s},{key:"trueSolar",title:"真太阳时:是否按出生地经度修正",short:"真太阳时",read:s=>U(s.trueSolar,!0),alt:s=>!s,label:s=>s?"修正":"不修正"},b("brightnessSchool","亮度表:默认 / QS 七档","亮度表","default","QS",{default:"默认",QS:"QS(七档)",XD1:"XD1(七档)",ZZ:"ZZ(五档)",XD2:"XD2(五档)"}),b("gengYearSihua","庚干四化:阳武阴同 / 同科阴忌","庚干四化","GYWYT","GYWTY",{GYWYT:"阳武阴同",GYWTY:"同科阴忌",GYWFT:"府科同忌",GYWFX:"府科相忌",GYWTX:"同科相忌"}),b("tianmaSchool","天马:按年支 / 按生月","天马","year-branch","month-branch",{"year-branch":"年支","month-branch":"生月"}),b("tiankongSchool","天空:不排 / 年支顺行","天空","off","normal",{off:"不排",normal:"年支顺行","shun-jia-shi":"加生时"}),b("jiekongSchool","截空旬空:不排 / 正副双星","截空旬空","off","double",{off:"不排",single:"单星",double:"正副双星",zhanyan:"占验派"}),b("kuiyueSchool","魁钺:qs1 / qs2","魁钺","qs1","qs2",{qs1:"qs1",qs2:"qs2","zhong-yiming":"中一鸣"}),b("tianshiTianshang","天伤天使:常规 / 中州互换","天伤天使","normal","zhongzhou",{normal:"常规",zhongzhou:"中州(阴男阳女互换)"}),b("changshengSchool","长生:阴阳顺逆 / 火土起寅","长生","yin-yang-shun-ni","huo-tu",{"yin-yang-shun-ni":"阴阳顺逆","shui-tu":"水二","huo-tu":"火土(土五局起寅)"}),b("lateZishi","晚子时:归当日 / 归次日","晚子时","current-day","next-day",{"current-day":"归当日","next-day":"归次日","all-current":"全归当日","day-cur-time-next":"日归当日·时归次日"}),b("shenzhuSchool","身主:子午皆火星 / 子铃午火","身主","common","verse",{common:"子午皆火星",verse:"子铃午火(安身主诀逐字)"}),b("zuoyaoSchool","杂曜:49 颗简盘 / 61 颗全表","杂曜全表","minimal","full",{minimal:"49 颗(简盘)",full:"61 颗(加十二颗杂曜)"})],qimen:[{key:"juMethod",title:"取局流派:拆补 / 超神接气 / 置闰",short:"取局流派",read:s=>["chaibu","chaoshen","zhirun"].includes(s.juMethod)?s.juMethod:"chaibu",alt:s=>s==="chaibu"?"zhirun":"chaibu",label:s=>({chaibu:"拆补法",chaoshen:"超神接气",zhirun:"置闰法"})[s]||s},{key:"lateZiHourMode",title:"晚子时:23:00 后归当日 / 次日",short:"晚子时归日",read:s=>s.lateZiHourMode==="next-day"?"next-day":"same-day",alt:s=>s==="next-day"?"same-day":"next-day",label:s=>s==="next-day"?"归次日":"归当日"}]},w={bazi:[{path:"pillars.day.ganzhi",label:"日柱"},{path:"pillars.hour.ganzhi",label:"时柱"},{path:"strength.level",label:"旺衰"},{path:"frame.primaryName",label:"格局"},{path:"frame.yongshen.favor",label:"喜用"},{path:"dayun.jiao.at",label:"起运"}],ziwei:[{path:"soul.ganzhi",label:"命宫"},{path:"body.branch",label:"身宫支"},{path:"bureau.name",label:"五行局"},{path:"bodyMaster",label:"身主"},{path:"daxianList.0.ages",label:"起大限"}],qimen:[{path:"siZhu.day",label:"日柱"},{path:"ju",label:"局数"},{path:"zhiFu.star",label:"值符"},{path:"zhiShi.gate",label:"值使"}]};function g(s,i){let t=s;for(const r of String(i).split(".")){if(t==null)return;t=t[r]}return t}function m(s){return s==null?"—":Array.isArray(s)?s.join("、"):typeof s=="object"?"—":String(s)}function f(s,i,t){return(w[s]||[]).map(y=>{const h=m(g(i,y.path)),c=m(g(t,y.path));return{key:y.path,label:y.label,current:h,alt:c,changed:h!==c}})}return{diffObjects:re,labelOf:H,categoryOf:o,rootOf:A,sortDiffs:E,summarize:Z,formatValue:j,renderDiff:$,CALIBER_SWITCHES:p,CALIBER_VIEWS:w,viewCell:m,viewRows:f}})(),J.fingerprint=(function(){const U="0123456789ABCDEFGHJKMNPQRSTVWXYZ";function V(T){return JSON.stringify(ae(T))}function ae(T){if(T===null)return null;const _=typeof T;if(_==="string")return typeof T.normalize=="function"?T.normalize("NFC"):T;if(_==="number")return Number.isFinite(T)?Object.is(T,-0)?0:T:null;if(_==="boolean")return T;if(Array.isArray(T))return T.map(ae);if(_==="object"){const H=Object.create(null);for(const o of Object.keys(T).sort()){const A=T[o];A===void 0||typeof A=="function"||typeof A=="symbol"||(H[o]=ae(A))}return H}return null}function re(T){const _=String(T);let H=2166136261,o=2654435769;for(let Z=0;Z<_.length;Z+=1){const j=_.charCodeAt(Z);for(const $ of[j&255,j>>>8])H=Math.imul(H^$,16777619),o=Math.imul(o^$,2246822507)}let A=(H>>>0)*8+(o>>>29),E="";for(let Z=0;Z<7;Z+=1)E=U[A%32]+E,A=Math.floor(A/32);return E}function te(T={}){const _=String(T.system||""),H=String(T.version||"dev"),o=T.seed===void 0||T.seed===null||T.seed===""?null:Number(T.seed),A=T.asOf?String(T.asOf):null,E=T.params&&typeof T.params=="object"?T.params:{},Z=V({system:_,params:E,seed:o,asOf:A}),j=V({base:Z,version:H});return{id:`LY-${re(j)}`,baseId:`LY-${re(Z)}`,version:H,system:_,payload:Z}}return{canonicalJson:V,shortHash:re,fingerprintOf:te}})(),J.validate=(function(){const{fail:U}=J.fail||{},V=1600,ae=2400;function re(E){return E%4===0&&E%100!==0||E%400===0}function te(E,Z){return Z===2?re(E)?29:28:[31,28,31,30,31,30,31,31,30,31,30,31][Z-1]||0}const T=E=>typeof E=="string"?`「${E}」`:String(E),_="引擎只接受解析好的公历字段 { year, month, day, hour?, minute? };字符串请先交给宿主层的 parseDateTime 解析";function H(E,Z=""){const j=Z?`${Z} 的`:"";if(!E||typeof E!="object"||Array.isArray(E)){const w=E===null?"null":Array.isArray(E)?"数组":typeof E;throw U("E_INPUT",`${j}入参必须是对象(收到 ${w});${_}`)}const $=E.hour===void 0?0:E.hour,b=E.minute===void 0?0:E.minute;for(const[w,g]of[["year",E.year],["month",E.month],["day",E.day],["hour",$],["minute",b]])if(!Number.isInteger(g))throw U("E_INPUT",`${j}${w} 必须是整数(收到 ${T(g)});${_}`);if(E.year<V||E.year>ae)throw U("E_INPUT",`${j}year 超出支持范围 ${V}–${ae}(收到 ${E.year});更早的年份时区与历法口径不可靠`);if(E.month<1||E.month>12)throw U("E_INPUT",`${j}month 超出范围 1–12(收到 ${E.month})`);const p=te(E.year,E.month);if(E.day<1||E.day>p)throw U("E_INPUT",`${j}日期不存在:${E.year}-${E.month}-${E.day}(${E.year} 年 ${E.month} 月只有 ${p} 天)`);if($<0||$>23)throw U("E_INPUT",`${j}hour 超出范围 0–23(收到 ${$})`);if(b<0||b>59)throw U("E_INPUT",`${j}minute 超出范围 0–59(收到 ${b})`);return E}function o(E,Z,j){if(!E||typeof E!="object"||Array.isArray(E)){const $=E===null?"null":E===void 0?"undefined":Array.isArray(E)?"数组":typeof E;throw U("E_INPUT",`${Z} 必须是对象(收到 ${$});${j}`)}return E}function A(E,Z=""){const j=Z?`${Z}:`:"";if(E.year<V||E.year>ae)throw U("E_RANGE",`${j}晚子时按次日归后落到 ${E.year}-${String(E.month).padStart(2,"0")}-${String(E.day).padStart(2,"0")},超出可计算范围 ${V}–${ae};请把时刻挪到 23 点前,或换一天起课`);return E}return{MIN_YEAR:V,MAX_YEAR:ae,isLeapYear:re,daysInMonth:te,assertCivil:H,assertObject:o,assertShifted:A}})(),J.datetime=(function(){const{fail:U}=J.fail||{},{MIN_YEAR:V,MAX_YEAR:ae}=J.validate||{};function re(_,H){return H===2?_%4===0&&_%100!==0||_%400===0?29:28:[31,28,31,30,31,30,31,31,30,31,30,31][H-1]}function te(_,H=""){const o=String(_??"").trim(),A=/^(\d{4})-(\d{1,2})-(\d{1,2})$/.exec(o);if(!A)return null;const E=Number(A[1]),Z=Number(A[2]),j=Number(A[3]);if(Z<1||Z>12||j<1||j>re(E,Z))return null;if(E<V||E>ae){const $=H?`${H} `:"";throw U("E_RANGE",`${$}「${A[0]}」的年份超出可计算范围(${V}–${ae},收到 ${E} 年);农历与节气表不覆盖之外的年份`)}return{year:E,month:Z,day:j}}function T(_){if(typeof _!="string"||!_.trim())throw U("E_INPUT","缺少 datetime(公历日期时间),例如 1990-05-12T14:30");const H=_.trim().match(/^(\d{4})-(\d{1,2})-(\d{1,2})(?:[T\s](\d{1,2}):(\d{1,2})(?::(\d{1,2}))?)?$/);if(!H)throw U("E_INPUT",`无法解析 datetime:「${_}」,请用 1990-05-12T14:30 这种格式`);if(H[6]!==void 0&&Number(H[6])>59)throw U("E_INPUT",`秒超出范围:${H[6]}`);const o={year:Number(H[1]),month:Number(H[2]),day:Number(H[3]),hour:Number(H[4]??0),minute:Number(H[5]??0)};if(o.month<1||o.month>12)throw U("E_INPUT",`月份超出范围:${o.month}`);const A=re(o.year,o.month);if(o.day<1||o.day>A)throw U("E_INPUT",`日期不存在:${o.year}-${o.month}-${o.day}(${o.year} 年 ${o.month} 月只有 ${A} 天)`);if(o.hour>23||o.minute>59)throw U("E_INPUT",`时间超出范围:${o.hour}:${o.minute}`);if(o.year<V||o.year>ae)throw U("E_RANGE",`年份 ${o.year} 超出可计算范围(${V}–${ae})`);return(o.year<1900||o.year>2100)&&(o.precision={level:"approx",note:`ΔT 模型仅覆盖 1900–2100,${o.year} 年按端点值外推,节气与朔望时刻可能有分钟级偏差,月柱在交节前后需复核`}),o}return{daysInMonth:re,parseYmd:te,parseDateTime:T}})(),J.lru=(function(){function U({max:V=64,ttlMs:ae=0,name:re="lru",now:te=()=>Date.now()}={}){const T=new Map,_={name:re,hits:0,misses:0,evictions:0,expirations:0},H=o=>ae>0&&te()-o.at>ae;return{name:re,max:V,ttlMs:ae,get(o){const A=T.get(o);if(!A||H(A)){A&&(T.delete(o),_.expirations+=1),_.misses+=1;return}return T.delete(o),T.set(o,A),_.hits+=1,A.value},set(o,A){for(T.has(o)&&T.delete(o),T.set(o,{value:A,at:te()});T.size>V;)T.delete(T.keys().next().value),_.evictions+=1;return A},has(o){const A=T.get(o);return A?H(A)?(T.delete(o),_.expirations+=1,!1):!0:!1},delete(o){return T.delete(o)},clear(){T.clear()},get size(){return T.size},stats(){const o=_.hits+_.misses;return{name:re,size:T.size,max:V,hits:_.hits,misses:_.misses,evictions:_.evictions,expirations:_.expirations,hitRate:o?_.hits/o:0}}}}return{createLru:U}})(),J.nayin=(function(){const U=["海中金","炉中火","大林木","路旁土","剑锋金","山头火","涧下水","城头土","白蜡金","杨柳木","泉中水","屋上土","霹雳火","松柏木","长流水","沙中金","山下火","平地木","壁上土","金箔金","覆灯火","天河水","大驿土","钗钏金","桑柘木","大溪水","沙中土","天上火","石榴木","大海水"];function V(ae){const re=(Number(ae)%60+60)%60,te=U[Math.floor(re/2)];return{name:te,element:te[2]}}return{NAYIN_NAMES:U,nayinOf:V}})(),J.sanhe=(function(){const U=[{branches:["申","子","辰"],element:"水"},{branches:["亥","卯","未"],element:"木"},{branches:["寅","午","戌"],element:"火"},{branches:["巳","酉","丑"],element:"金"}],V=Object.fromEntries(U.map(te=>[te.branches.join(""),te.element])),ae=Object.fromEntries(U.flatMap(te=>te.branches.map(T=>[T,te.element])));function re(te){return U.find(T=>T.branches.includes(te))||null}return{SANHE_GROUPS:U,SANHE:V,SANHE_ELEMENT:ae,sanheGroupOf:re}})(),J["vsop-earth"]=(function(){const U=[[1.75347045673,0,0],[.03341656453,4.66925680415,6283.0758499914],[.00034894275,4.62610242189,12566.1516999828],[3417572e-11,2.82886579754,3.523118349],[3497056e-11,2.74411783405,5753.3848848968],[3135899e-11,3.62767041756,77713.7714681205],[2676218e-11,4.41808345438,7860.4193924392],[2342691e-11,6.13516214446,3930.2096962196],[1273165e-11,2.03709657878,529.6909650946],[1324294e-11,.74246341673,11506.7697697936],[901854e-11,2.04505446477,26.2983197998],[1199167e-11,1.10962946234,1577.3435424478],[857223e-11,3.50849152283,398.1490034082],[779786e-11,1.17882681962,5223.6939198022],[99025e-10,5.23268072088,5884.9268465832],[753141e-11,2.53339052847,5507.5532386674],[505267e-11,4.58292599973,18849.2275499742],[492392e-11,4.20505711826,775.522611324],[356672e-11,2.91954114478,.0673103028],[284125e-11,1.89869240932,796.2980068164],[242879e-11,.34481445893,5486.777843175],[317087e-11,5.84901948512,11790.6290886588],[271112e-11,.31486255375,10977.078804699],[206217e-11,4.80646631478,2544.3144198834],[205478e-11,1.86953770281,5573.1428014331],[202318e-11,2.45767790232,6069.7767545534],[126225e-11,1.08295459501,20.7753954924],[155516e-11,.83306084617,213.299095438],[115132e-11,.64544911683,.9803210682],[102851e-11,.63599845579,4694.0029547076],[101724e-11,4.2667980198,7.1135470008],[99206e-11,6.20992926918,2146.1654164752],[132212e-11,3.41118292683,2942.4634232916],[97607e-11,.68101342359,155.4203994342],[85128e-11,1.29870764804,6275.9623029906],[74651e-11,1.755089133,5088.6288397668],[101895e-11,.97569280312,15720.8387848784],[84711e-11,3.67080093031,71430.69561812909],[73547e-11,4.67926633877,801.8209311238],[73874e-11,3.50319414955,3154.6870848956],[78757e-11,3.03697458703,12036.4607348882],[79637e-11,1.80791287082,17260.1546546904],[85803e-11,5.9832263126,161000.6857376741],[56963e-11,2.78430458592,6286.5989683404],[61148e-11,1.81839892984,7084.8967811152],[69627e-11,.83297621398,9437.762934887],[56116e-11,4.38694865354,14143.4952424306],[62449e-11,3.97763912806,8827.3902698748],[51145e-11,.28306832879,5856.4776591154],[55577e-11,3.47006059924,6279.5527316424],[41036e-11,5.36817592855,8429.2412664666],[51605e-11,1.33282739866,1748.016413067],[51992e-11,.18914947184,12139.5535091068],[49e-8,.48735014197,1194.4470102246],[392e-9,6.16833020996,10447.3878396044],[3557e-10,1.775968892,6812.766815086],[3677e-10,6.04133863162,10213.285546211],[36596e-11,2.56957481827,1059.3819301892],[33296e-11,.59310278598,17789.845619785],[35954e-11,1.70875808777,2352.8661537718],[40938e-11,2.39850938714,19651.048481098],[30047e-11,2.73975124088,1349.8674096588],[30412e-11,.44294464169,83996.84731811189],[23663e-11,.48473622521,8031.0922630584],[23574e-11,2.06528133162,3340.6124266998],[21089e-11,4.14825468851,951.7184062506],[24738e-11,.21484762138,3.5904286518],[25352e-11,3.16470891653,4690.4798363586],[22823e-11,5.22195230819,4705.7323075436],[21419e-11,1.42563910473,16730.4636895958],[21891e-11,5.55594302779,553.5694028424],[203e-9,.37133792946,283.8593188652]],V=[[6283.0758499914,0,0],[.00206058863,2.67823455808,6283.0758499914],[4303419e-11,2.63512233481,12566.1516999828],[425264e-11,1.59046982018,3.523118349],[109017e-11,2.96631010675,1577.3435424478],[93479e-11,2.59211109542,18849.2275499742],[119305e-11,5.79555765566,26.2983197998],[72121e-11,1.13840581212,529.6909650946],[67784e-11,1.87453300345,398.1490034082],[6735e-10,4.40932832004,5507.5532386674],[59045e-11,2.88815790631,5223.6939198022],[55976e-11,2.17471740035,155.4203994342],[45411e-11,.39799502896,796.2980068164],[36298e-11,.46875437227,775.522611324],[28962e-11,2.64732254645,7.1135470008],[20844e-11,5.34138275149,.9803210682]],ae=[[8721859e-11,1.07253635559,6283.0758499914],[99099e-10,3.14159265359,0],[294833e-11,.43717350256,12566.1516999828],[27338e-11,.05295636147,3.523118349],[16333e-11,5.18820215724,26.2983197998],[15745e-11,3.68504712183,155.4203994342],[9425e-11,.29667114694,18849.2275499742],[8938e-11,2.05706319592,77713.7714681205],[694e-10,.82691541038,775.522611324],[5061e-11,4.6624323168,1577.3435424478]],re=[[289058e-11,5.84173149732,6283.0758499914],[20712e-11,6.0498393902,12566.1516999828],[2962e-11,5.1956057957,155.4203994342],[2527e-11,3.14159265359,0],[1288e-11,4.7219761197,3.523118349]],te=[[7714e-11,4.14117321449,6283.0758499914],[1016e-11,3.27573644241,12566.1516999828]];function T(_){let H=0;for(const[A,E,Z]of U)H+=A*Math.cos(E+Z*_);let o=1;for(const A of[V,ae,re,te]){o*=_;for(const[E,Z,j]of A)H+=E*o*Math.cos(Z+j*_)}return H}return{earthL:T}})(),J.calendar=(function(){const{earthL:U}=J["vsop-earth"]||{},{createLru:V}=J.lru||{},{bool:ae}=J.bool||{},re=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],te=["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"],T=["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"];function _(W){return(285+15*W)%360}function H(W,D,k){const P=Math.floor((14-D)/12),ee=W+4800-P,ue=D+12*P-3;return k+Math.floor((153*ue+2)/5)+365*ee+Math.floor(ee/4)-Math.floor(ee/100)+Math.floor(ee/400)-32045}function o(W){const D=W+32044,k=Math.floor((4*D+3)/146097),P=D-Math.floor(146097*k/4),ee=Math.floor((4*P+3)/1461),ue=P-Math.floor(1461*ee/4),le=Math.floor((5*ue+2)/153);return{year:100*k+ee-4800+Math.floor(le/10),month:le+3-12*Math.floor(le/10),day:ue-Math.floor((153*le+2)/5)+1}}function A(W,D){for(let k=0;k<60;k++)if(k%10===W&&k%12===D)return k;return-1}function E(W){const D=(W%60+60)%60;return{index:D,stem:re[D%10],branch:te[D%12],name:re[D%10]+te[D%12]}}function Z(W){return((W+49)%60+60)%60}function j(W){const D=W-2451545,k=D/36525,P=D/365250;let ee=U(P)*180/Math.PI+180;ee=(ee%360+360)%360;const ue=(5029.0966*k+1.11113*k*k-6e-6*k*k*k)/3600;ee+=ue,ee-=.09033/3600;const le=(125.04452-1934.136261*k)*Math.PI/180,ve=(280.4665+36000.7698*k)*Math.PI/180,Ae=(218.3165+481267.8813*k)*Math.PI/180,mn=(-17.2*Math.sin(le)-1.32*Math.sin(2*ve)-.23*Math.sin(2*Ae)+.21*Math.sin(2*le))/3600;ee+=mn;const ye=(357.52911+35999.05029*k-1537e-7*k*k)*Math.PI/180,nn=.016708634-42037e-9*k-1267e-10*k*k,Gn=1.000001018*(1-nn*nn)/(1+nn*Math.cos(ye+(1.914602-.004817*k)*(Math.PI/180)*Math.sin(ye)));return ee-=20.4898/3600/(Gn||1),(ee%360+360)%360}function $(W){if(W<1900){const le=W;if(le<1600)return 120;if(le<1700){const Ae=le-1600;return 120-.9808*Ae-.01532*Ae*Ae+Ae*Ae*Ae/7129}if(le<1800){const Ae=le-1700;return 8.83+.1603*Ae-.0059285*Ae*Ae+13336e-8*Ae*Ae*Ae-Ae**4/1174e3}if(le<1860){const Ae=le-1800;return 13.72-.332447*Ae+.0068612*Ae*Ae+.0041116*Ae**3-37436e-8*Ae**4+121272e-10*Ae**5-1699e-10*Ae**6+875e-12*Ae**7}const ve=le-1860;return 7.62+.5737*ve-.251754*ve*ve+.01680668*ve**3-.0004473624*ve**4+ve**5/233174}const D=[[1900,-2.8],[1920,21.2],[1940,24.3],[1950,29.1],[1960,33.2],[1970,40.2],[1980,50.5],[1990,56.9],[2e3,63.8],[2010,66.1],[2020,69.4],[2030,72],[2050,80],[2100,110]];if(W<=D[0][0])return D[0][1];for(let le=1;le<D.length;le++)if(W<=D[le][0]){const[ve,Ae]=D[le-1],[mn,ye]=D[le];return Ae+(ye-Ae)*(W-ve)/(mn-ve)}const[k,P]=D[D.length-1],ee=(k-1820)/100,ue=(W-1820)/100;return P+32*(ue*ue-ee*ee)}const b=8/24,p=7.7611/24,w=2425612+4/24;function g(W){return W<w?p:b}const m=V({max:4096,name:"termInstant"}),f=1e-5,s=new Map,i=365.2422;function t(W,D){const k=_(D),P=H(W,1,5)-.5+D*15.2184,ee=s.get(D);let ue=ee!==void 0?ee+i:P;Math.abs(ue-P)>20&&(ue=P);for(let ve=0;ve<12;ve++){let Ae=k-j(ue);if(Ae=((Ae+180)%360+360)%360-180,ue+=Ae/.98564736,Math.abs(Ae)<f)break}s.set(D,ue);const le=ue-$(W)/86400;return le+g(le)}function r(W,D){const k=W*24+D,P=m.get(k);if(P!==void 0)return P;const ee=t(W,D);return m.set(k,ee),ee}function y(W){const D=Math.floor(W+.5),k=W+.5-D,P=Math.min(1439,Math.floor(Math.round(k*86400)/60)),{year:ee,month:ue,day:le}=o(D);return{year:ee,month:ue,day:le,hour:Math.floor(P/60),minute:P%60}}function h({year:W,month:D,day:k,hour:P=0,minute:ee=0}){return H(W,D,k)-.5+(P*60+ee)/1440}function c(W,D,k){const P=H(W,D,k)-H(W,1,1)+1,ee=2*Math.PI*(P-81)/364;return 9.87*Math.sin(2*ee)-7.53*Math.cos(ee)-1.5*Math.sin(ee)}const q=V({max:8,name:"termWindow"}),O=V({max:32,name:"termYear"}),we=Array.from({length:24},(W,D)=>D),Ye=we.filter(W=>W%2===0);function d(W,D){const k=D?`${W}|jie`:`${W}|all`,P=O.get(k);if(P)return P;if(D){const ue=O.get(`${W}|all`);if(ue){const le=ue.filter(ve=>ve.index%2===0);return O.set(k,le),le}}const ee=[];for(const ue of D?Ye:we)ee.push({year:W,index:ue,name:T[ue],jd:r(W,ue)});return ee.sort((ue,le)=>ue.jd-le.jd),O.set(k,ee),ee}function I(W,D={}){const k=ae(D.jieOnly),P=k?`${W}|jie`:W,ee=q.get(P);if(ee)return ee;const ue=[...d(W-1,k),...d(W,k),...d(W+1,k)];return ue.sort((le,ve)=>le.jd-ve.jd),q.set(P,ue),ue}function F(W){if(typeof W!="string"||W.length<2)return[];const D=re.indexOf(W[0]),k=te.indexOf(W[1]);if(D<0||k<0)return[];const P=A(D,k);if(P<0)return[];const ee=Math.floor(P/10)*10;return[te[(ee+10)%12],te[(ee+11)%12]]}function oe(W,D){let k=null;for(const P of W)if(P.index%2===0)if(P.jd<=D)k=P;else break;return k}function ie(W,D){for(const k of W)if(k.index%2===0&&k.jd>D)return k;return null}function fe(W){const D=y(W),k=P=>String(P).padStart(2,"0");return`${D.year}-${k(D.month)}-${k(D.day)} ${k(D.hour)}:${k(D.minute)}`}function ke(){return[m.stats(),O.stats(),q.stats()]}return{STEMS:re,BRANCHES:te,TERM_NAMES:T,termLongitude:_,toJDN:H,fromJDN:o,sexagenaryIndex:A,ganzhiName:E,dayGanzhiIndex:Z,sunLongitude:j,deltaTSeconds:$,OFFSET_MODERN:b,OFFSET_BEIJING_LOCAL:p,CUTOVER_JD:w,localOffsetFor:g,termInstantJd:r,jdToParts:y,partsToJd:h,equationOfTime:c,termWindow:I,xunKongOf:F,previousJie:oe,nextJie:ie,formatJd:fe,cacheMetrics:ke}})(),J.lunar=(function(){const{toJDN:U,jdToParts:V,termInstantJd:ae,deltaTSeconds:re,localOffsetFor:te}=J.calendar||{},T=29.530588861,_=245155009766e-5,H=Math.PI/180;function o($){const b=$/1236.85,p=_+T*$+15437e-8*b*b-15e-8*b*b*b+73e-11*b*b*b*b,w=1-.002516*b-74e-7*b*b,g=(2.5534+29.1053567*$-14e-7*b*b-11e-8*b*b*b)*H,m=(201.5643+385.81693528*$+.0107582*b*b+1238e-8*b*b*b-58e-9*b*b*b*b)*H,f=(160.7108+390.67050284*$-.0016118*b*b-227e-8*b*b*b+11e-9*b*b*b*b)*H,s=(124.7746-1.56375588*$+.0020672*b*b+215e-8*b*b*b)*H,i=-.4072*Math.sin(m)+.17241*w*Math.sin(g)+.01608*Math.sin(2*m)+.01039*Math.sin(2*f)+.00739*w*Math.sin(m-g)-.00514*w*Math.sin(m+g)+.00208*w*w*Math.sin(2*g)-.00111*Math.sin(m-2*f)-57e-5*Math.sin(m+2*f)+56e-5*w*Math.sin(2*m+g)-42e-5*Math.sin(3*m)+42e-5*w*Math.sin(g+2*f)+38e-5*w*Math.sin(g-2*f)-24e-5*w*Math.sin(2*m-g)-17e-5*Math.sin(s)-7e-5*Math.sin(m+2*g)+4e-5*Math.sin(2*m-2*f)+4e-5*Math.sin(3*g)+3e-5*Math.sin(m+g-2*f)+3e-5*Math.sin(2*m+2*f)-3e-5*Math.sin(m+g+2*f)+3e-5*Math.sin(m-g+2*f)-2e-5*Math.sin(m-g-2*f)-2e-5*Math.sin(3*m+g)+2e-5*Math.sin(4*m),t=p+i-re(2e3+b*100)/86400;return t+te(t)}function A($){return Math.floor($+.5)}function E($){return Math.round(($+.5-_)/T)}function Z($,b,p){for(let w=$-1;w<=$+1;w++)for(let g=1;g<24;g+=2){const m=ae(w,g),f=A(m);if(f>=b&&f<p)return{index:g,jd:m}}return null}function j($,b,p){const w=U($,b,p),g=A(ae($,23)),m=w<g?$-1:$,f=A(ae(m,23));let s=E(f);for(;A(o(s))>f;)s--;for(;A(o(s+1))<=f;)s++;const i=A(ae(m+1,23));let t=s;for(;A(o(t+1))<=i;)t++;const r=t-s;let y=-1;if(r===13)for(let q=1;q<=r;q++){const O=A(o(s+q-1)),we=A(o(s+q));if(!Z(m,O,we)){y=q;break}}let h=11,c=!1;for(let q=1;q<=15;q++){const O=A(o(s+q-1)),we=A(o(s+q)),Ye=Z(m,O,we),d=q===y;if(w>=O&&w<we){const I=V(o(s+q-1)),F=d?(h+10)%12+1:h;return{year:m,lunarYear:c?m+1:m,month:F,day:w-O+1,isLeap:d,monthStart:`${I.year}-${String(I.month).padStart(2,"0")}-${String(I.day).padStart(2,"0")}`,hasZhongQi:!!Ye}}d||(h=h%12+1,h===1&&(c=!0))}throw new Error(`农历换算失败:${$}-${b}-${p}`)}return{SYNODIC:T,newMoonJd:o,dayNumberOf:A,solarToLunar:j}})(),J.geo=(function(){const{bool:U}=J.bool||{},V=`
|
|
4
4
|
北京 116.41 39.90;上海 121.47 31.23;天津 117.20 39.13;重庆 106.55 29.56
|
|
5
5
|
广州 113.26 23.13;深圳 114.06 22.55;珠海 113.58 22.27;东莞 113.75 23.02;佛山 113.12 23.02
|
|
6
6
|
汕头 116.68 23.35;中山 113.39 22.52;惠州 114.42 23.11;江门 113.08 22.58;湛江 110.36 21.27
|
|
@@ -67,139 +67,145 @@ window.__ModuleLoader__.load({id:"dsh-metaphysics",chunk:"client.daliuren.js",fa
|
|
|
67
67
|
贵港 109.60 23.11;贺州 111.57 24.40;来宾 109.23 23.75;崇左 107.36 22.40
|
|
68
68
|
海口 110.20 20.04;三亚 109.51 18.25;儋州 109.58 19.52;琼海 110.47 19.26
|
|
69
69
|
香港 114.17 22.32;澳门 113.55 22.20;台北 121.52 25.03;高雄 120.31 22.63;台中 120.68 24.14
|
|
70
|
-
`,ae={河北:"石家庄",山西:"太原",内蒙古:"呼和浩特",辽宁:"沈阳",吉林:"长春",黑龙江:"哈尔滨",江苏:"南京",浙江:"杭州",安徽:"合肥",福建:"福州",江西:"南昌",山东:"济南",河南:"郑州",湖北:"武汉",湖南:"长沙",广东:"广州",广西:"南宁",海南:"海口",四川:"成都",贵州:"贵阳",云南:"昆明",西藏:"拉萨",陕西:"西安",甘肃:"兰州",青海:"西宁",宁夏:"银川",新疆:"乌鲁木齐",台湾:"台北"},re={石家庄:[114.51,38.04],太原:[112.55,37.87],沈阳:[123.43,41.8],长春:[125.32,43.82],哈尔滨:[126.53,45.8],南京:[118.8,32.06],杭州:[120.15,30.28],合肥:[117.23,31.82],福州:[119.3,26.08],南昌:[115.86,28.68],济南:[117,36.65],郑州:[113.62,34.75],武汉:[114.3,30.59],长沙:[112.94,28.23],广州:[113.26,23.13],南宁:[108.37,22.82],海口:[110.2,20.04],成都:[104.07,30.67],贵阳:[106.63,26.65],昆明:[102.83,24.88],拉萨:[91.13,29.65],西安:[108.94,34.34],兰州:[103.83,36.06],西宁:[101.78,36.62],银川:[106.23,38.49],乌鲁木齐:[87.62,43.82],台北:[121.52,25.03]},
|
|
71
|
-
`))for(const b of $.split(";")){const p=b.trim().split(/\s+/);if(p.length!==3)continue;const[w,g,m]=p;j[w]={lon:Number(g),lat:Number(m)}}for(const[$,[b,p]]of Object.entries(re))j[$]||(j[$]={lon:b,lat:p});return j})(),T=/[省区路街道巷弄号村镇乡组队]/,_={中山区:{city:"大连"},朝阳区:{city:"北京",byProvince:{吉林:"长春",辽宁:"朝阳"}}};function H(j){const $=String(j||"").trim();if(!$)return null;const b=Number($);if(Number.isFinite(b)&&/^-?\d+(\.\d+)?$/.test($)&&b>=60&&b<=150)return{lon:b,lat:null,matched:`${b}°E`,level:"经度",note:"按你输入的经度计算"};const p=$.replace(/\s/g,""),w=Object.keys(ne).sort((f,s)=>s.length-f.length),g=[];for(const f of w)for(let s=p.indexOf(f);s>=0;s=p.indexOf(f,s+f.length)){const i=p.charAt(s+f.length);T.test(i)||g.push({name:f,at:s,after:i,explicit:i==="市"?1:0})}if(g.sort((f,s)=>s.explicit-f.explicit||f.at-s.at),g.length){const f=g[0],s=ne[f.name];return f.after==="县"?{lon:s.lon,lat:s.lat,matched:`${f.name}县`,level:"区县",note:`「${f.name}县」按 ${f.name} 城区估算(约 ${s.lon}°E)`}:{lon:s.lon,lat:s.lat,matched:f.name,level:"地级市",note:`按 ${f.name} 估算(约 ${s.lon}°E)`}}for(const[f,s]of Object.entries(_)){if(!p.includes(f))continue;let i=s.city;for(const[r,y]of Object.entries(s.byProvince||{}))if(p.includes(r)){i=y;break}const t=ne[i];if(t)return{lon:t.lon,lat:t.lat,matched:i,level:"区县",note:`「${f}」按 ${i} 估算(约 ${t.lon}°E)`}}const m=w.find(f=>p.includes(`${f}路`)||p.includes(`${f}街`));if(m)return{lon:null,lat:null,matched:null,level:"未匹配",note:`「${m}路」是全国常见的路名,无法确定城市;请补上城市(如「厦门市${m}路」)或直接填经度`};for(const[f,s]of Object.entries(ae)){const i=p.indexOf(f);if(i<0)continue;const t=p.charAt(i+f.length);if(t==="区"||t==="县")continue;const r=ne[s]||{lon:re[s][0],lat:re[s][1]};return{lon:r.lon,lat:r.lat,matched:s,level:"省会",note:`未匹配到具体城市,按 ${f} 省会 ${s} 估算(约 ${r.lon}°E)`}}return{lon:null,lat:null,matched:null,level:"未匹配",note:`没查到「${$}」,可改填经度(如 116.4)`}}const o=/(区|县|镇|乡|村|小区|街道|路|号|巷|弄|组|队)/,A="dsh-metaphysics (+https://github.com/xuanfu-web/dsh-metaphysics)";async function q(j,{timeoutMs:$=2500}={}){if(typeof fetch!="function")return null;let b=null;try{const p=typeof AbortController=="function"?new AbortController:null;p&&(b=setTimeout(()=>p.abort(),$));const w="https://nominatim.openstreetmap.org/search?format=jsonv2&limit=1&accept-language=zh-CN&countrycodes=cn&q="+encodeURIComponent(j),g=await fetch(w,{signal:p?p.signal:void 0,headers:{"User-Agent":A}});if(!g||!g.ok)return null;const m=await g.json();if(!Array.isArray(m)||m.length===0)return null;const f=m[0],s=Number(f.lon),i=Number(f.lat);return Number.isFinite(s)?{lon:s,lat:i,matched:f.display_name,level:"在线",note:`在线解析:${f.display_name}`}:null}catch{return null}finally{b&&clearTimeout(b)}}async function Z(j,$={}){const b=H(j),p=String(j||"").trim();if(!p||!U($.online)||b&&typeof b.lon=="number"&&!o.test(p))return b;const g=await q(p,$);return g?{...g,local:b&&b.lon!=null?b:null}:b&&typeof b.lon=="number"?{...b,onlineFailed:!0,note:`${b.note}(联网解析失败或超时,已退回内置坐标表)`}:{...b,onlineFailed:!0}}return{CITIES:ne,PROVINCES:ae,resolveAddress:H,geocodeAddress:Z}})(),J.random=(function(){function U(T){const _=Number(T),H=_>>>0,o=Math.floor(Math.abs(_)/4294967296)>>>0,A=Math.round((_-Math.trunc(_))*4294967296)>>>0;let q=(H^Math.imul(o+1,2246822507)^A)>>>0;return q||(q=2654435769),function(){q=q+1831565813>>>0;let j=q;return j=Math.imul(j^j>>>15,j|1),j^=j+Math.imul(j^j>>>7,j|61),((j^j>>>14)>>>0)/4294967296}}const Q=/^[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?$/,ae=T=>{if(typeof T=="number")return Number.isFinite(T)?T:NaN;if(typeof T=="string"){const _=T.trim();if(_!==""&&Q.test(_))return Number(_)}return NaN};function re(T){if(T==null||T==="")return Math.random;const _=ae(T);return Number.isFinite(_)?U(_):Math.random}function ne(T){return T==null||T===""?!0:Number.isFinite(ae(T))}return{mulberry32:U,randomOf:re,isSeed:ne}})(),J.dst=(function(){const{daysInMonth:U}=J.validate||{},Q={1986:["1986-05-04","1986-09-14"],1987:["1987-04-12","1987-09-13"],1988:["1988-04-10","1988-09-11"],1989:["1989-04-16","1989-09-17"],1990:["1990-04-15","1990-09-16"],1991:["1991-04-14","1991-09-15"]},ae=(_,H,o)=>_*1e4+H*100+o;function re(_){const H=Q[_.year];if(!H)return!1;const[o,A,q]=H[0].split("-").map(Number),[Z,j,$]=H[1].split("-").map(Number),b=ae(_.year,_.month,_.day);if(b<ae(o,A,q)||b>ae(Z,j,$))return!1;const p=_.hour*60+(_.minute||0);return!(b===ae(o,A,q)&&p<120||b===ae(Z,j,$)&&p>=120)}function ne(_){const H=Q[_.year];if(!H)return null;const[o,A,q]=H[0].split("-").map(Number),[Z,j,$]=H[1].split("-").map(Number),b=ae(_.year,_.month,_.day),p=_.hour*60+(_.minute||0);return b===ae(o,A,q)&&p>=120&&p<180?"gap":b===ae(Z,j,$)&&p>=60&&p<120?"twice":null}function T(_){const H=_.minute||0;if(!re(_))return{year:_.year,month:_.month,day:_.day,hour:_.hour,minute:H,applied:!1,note:null};let{year:o,month:A,day:q,hour:Z}=_;Z-=1,Z<0&&(Z+=24,q-=1,q<1&&(A-=1,A<1&&(A=12,o-=1),q=U(o,A)));const j=ne(_);return{year:o,month:A,day:q,hour:Z,minute:H,applied:!0,note:`检出自 ${Q[_.year][0]} 至 ${Q[_.year][1]} 的中国夏令时:出生钟面时间已减 1 小时校正`+(j==="gap"?";这一天 02:00–03:00 钟表直接跳过,所给钟面时间在当年并不存在——这里按「拨快后的读数」回退一小时,若登记的本是标准时间,请传 dst:false 重排。":j==="twice"?";这一天 01:00–02:00 因回拨走了两遍,同一钟面时间对应两个真实时刻——这里按夏令时的那一遍(回退一小时)取。":"")}}return{DST_SPANS:Q,inDstSpan:re,dstAmbiguity:ne,applyDst:T}})(),J.classics=(function(){const U={ziping:{name:"子平真诠",author:"清·沈孝瞻",base:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/"},ditian:{name:"滴天髓",author:"明·京图(通行本)",base:"https://www.diancang.xyz/xuanxuewushu/ditiansui/"},sanming:{name:"三命通会",author:"明·万民英",base:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/"}},Q=[{id:"zp-yongshen",book:"ziping",chapter:"八、论用神",scene:"用神",tags:[],quote:"八字用神,专求月令,以日干配月令地支,而生克不同,格局分焉。财官印食,此用神之善而顺用之者也;煞伤劫刃,用神之不善而逆用之者也。",plain:"用神从月令里找:财、官、印、食四吉神顺用(生之护之),煞、伤、劫、刃四凶神逆用(制之化之)。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53628.html"},{id:"zp-zhenguan",book:"ziping",chapter:"三十一、论正官",scene:"格局",tags:["正官"],quote:"以刑冲破害为忌,则以生之护之为喜矣。存其喜而去其忌则贵,而贵之中又有高低者,何也?",plain:"正官格最忌刑冲破害,喜财生官、印护官;去忌存喜才谈得上贵,贵的层次还要看财印是否并透、有无伤官七煞混杂。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53651.html"},{id:"zp-cai",book:"ziping",chapter:"三十三、论财",scene:"格局",tags:["财","正财","偏财"],quote:"财为我克,使用之物也,以能生官,所以为美。为财帛,为妻妾,为才能,为驿马,皆财类也。",plain:"财是我所克、能为我用之物,因能生官而美;它同时代表钱财、配偶、才能、走动,不只「钱」一项。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53653.html"},{id:"zp-yin",book:"ziping",chapter:"三十五、论印绶",scene:"格局",tags:["印"],quote:"印绶喜其生身,正偏同为美格,故财与印不分偏正,同为一格而论之。",plain:"印能生身,正印偏印都算美格,不分偏正而论;印格的关键在身印强弱与官杀、食伤、财的配合。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53655.html"},{id:"zp-shishen",book:"ziping",chapter:"三十七、论食神",scene:"格局",tags:["食神"],quote:"食神本属泄气,以其能生正财,所以喜之。故食神生财,美格也。财要有根,不必偏正叠出,如身强食旺而财透,大贵之格。",plain:"食神本是泄气,可贵在能生财;食神生财要财有根,身强、食旺、财透三者齐,格局才大。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53657.html"},{id:"zp-pianguan",book:"ziping",chapter:"三十九、论偏官",scene:"格局",tags:["七杀","偏官"],quote:"煞以攻身,似非美物,百大贵之格,多存七煞。盖控制得宜,煞为我用,如大英雄大豪杰,似难驾驭,而处之有方,则惊天动地之功,忽焉而就。",plain:"七煞攻身,看着不美,但大贵之格多有七煞——能控制住就为我所用,像驾驭豪杰,处之有方就能成大事。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53659.html"},{id:"zp-shangguan",book:"ziping",chapter:"四十一、论伤官",scene:"格局",tags:["伤官"],quote:"伤官虽非吉神,实为秀气,故文人学士,多于伤官格内得之。而夏木见水,冬金见火,则又为秀之尤秀者也。",plain:"伤官不是吉神,却是秀气所在,文人多出伤官格;夏木得水、冬金得火,是秀气里更秀的两种。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53661.html"},{id:"zp-yangren",book:"ziping",chapter:"四十三、论阳刃",scene:"格局",tags:["劫财","阳刃"],quote:"阳刃者,劫我正财之神,乃正财之七煞也。禄前一位,惟五阳有之,故为阳刃。不曰劫而曰刃,劫之甚也。刃宜伏制,官煞皆宜,财印相随,尤为贵显。",verifiedQuote:"阳刃者,劫我正财之神,乃正财之七煞也。禄前一位,惟五阳有之",variantNote:"典藏网此页把「故为阳刃」刻作「故为旭刃」,与通行本异文;前段仍可逐字核验",plain:"阳刃是劫财之极(只有五阳干有),宜用官煞制伏;财印相随而不相碍,格局更显。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53663.html"},{id:"zp-lujie",book:"ziping",chapter:"四十五、论建禄月劫",scene:"格局",tags:["比肩","建禄","月劫"],quote:"故建禄与月劫,可同一格,不必加分,皆以透干支,别取财官煞食为用。",plain:"建禄、月劫同看一格,月令本身不算用神,要另看透出的财官煞食取用。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53665.html"},{id:"zp-qihou",book:"ziping",chapter:"十四、论用神配气候得失",scene:"调候",tags:[],quote:"论命惟以月令用神为主,然亦须配气候而互参之。譬如英雄豪杰,生得其时,自然事半功倍;遭时不顺,虽有奇才,成功不易。",plain:"月令用神为主,但必须配气候参看;同样的格局,生在得时的气候里事半功倍,逆着气候就费劲。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53634.html"},{id:"zp-chengbai",book:"ziping",chapter:"九、论用神成败救应",scene:"格局",tags:[],quote:"成中有败,必是带忌;败中有成,全凭救应。",plain:"成格不等于一路顺:成中带忌(官逢财又逢伤、官被合之类)就打了折;败格也未必无救——印来解伤、合来清煞,败中还能转成。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53629.html"},{id:"zp-zaji",book:"ziping",chapter:"十六、论杂气如何取用",scene:"用神",tags:[],quote:"何谓透干?如甲生辰月,透戊则用偏财,透癸则用正印,透乙则用月劫是也。何谓会支?如甲生辰月,逢申与子会局,则用水印是也。一透则一用,兼透则兼用,透而又会,则透与会并用。",plain:"四墓(辰戌丑未)所藏不止一气,所以叫杂气:取用先看哪一藏干透到天干,透一个用一个;没有透干,再看地支有没有与月支会成三合局,会成什么局就取局中那一气。透干与会支同时成立时两样并用。原文对「兼透」只给原则,没有给取舍次序。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53636.html"},{id:"zp-bianhua",book:"ziping",chapter:"十、论用神变化",scene:"格局",tags:[],quote:"故若丁生亥月,本为正官,支全卯未,则化为印。己生申月,本属伤官。藏庚透壬,则化为财。凡此之类皆用神之变化也。",plain:"用神本从月令取,但月令藏干不一:丁生亥月本为正官,支会卯未就化为印;己生申月本属伤官,庚藏壬透就化为财。起点相同,合化一变,取用也跟着变(原文只说变化之由,不断定某盘必化)。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53630.html"},{id:"dt-hannuan",book:"ditian",chapter:"通神论·寒暖",scene:"调候",tags:[],quote:"天道有寒暖,生育万物,人道行之,不可过也。",plain:"天有寒暖才能生养万物,人命里寒暖也不能过——过寒过热都要调。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-zaoshi",book:"ditian",chapter:"通神论·燥湿",scene:"调候",tags:[],quote:"地道有燥湿,生成品汇,人道得之,不可偏也。",plain:"地有燥湿才有品类生成,人命得燥湿之气也不能偏。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-shuaiwang",book:"ditian",chapter:"通神论·衰旺",scene:"调候",tags:[],quote:"能知旺衰之真机,其于三命之奥,思过半矣。",plain:"真正看懂旺衰的机关,命理之奥就过了一半——旺衰不是数个数,要看真机。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-zhonghe",book:"ditian",chapter:"通神论·中和",scene:"调候",tags:[],quote:"既识中和之正理,而于五行之妙,有全能焉。",plain:"懂得中和的道理,五行的妙处就都在其中了。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-guansha",book:"ditian",chapter:"通神论·官杀",scene:"十神",tags:["正官","七杀"],quote:"官杀混杂来问我,有可有不可。",plain:"官杀混杂不是一律不好,要看能不能去留取清。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-shangguan",book:"ditian",chapter:"通神论·伤官",scene:"十神",tags:["伤官"],quote:"伤官见官最难辨,可见不可见。",plain:"伤官见官是最难分辨的一条:有的能见,有的不能见,不能一句「伤官见官为祸百端」了事。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-yueling",book:"ditian",chapter:"通神论·月令",scene:"用神",tags:[],quote:"月令乃提纲之府,譬之宅也,人元为用事之神,宅之定向也,不可以不卜。",plain:"月令像宅子,藏干是用事之神,像宅子的朝向,必须细看。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-tiyong",book:"ditian",chapter:"通神论·体用",scene:"用神",tags:[],quote:"道有体用,不可以一端论也,要在扶之抑之得其宜。",plain:"体用不能只看一头,关键是扶抑得宜。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-jingshen",book:"ditian",chapter:"通神论·精神",scene:"用神",tags:[],quote:"人有精神,不可以一偏求也,要在损之益之得其中。",plain:"看精神不能偏执一端,要在损益之间求其中。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-tongguan",book:"ditian",chapter:"通神论·通关",scene:"用神",tags:[],quote:"关内有织女,关外有牛郎,此关若通也,相邀入洞房。",plain:"两股力隔着一道关相望:一边织女、一边牛郎,中间若有一行能把两边接上(一方生它、它再生另一方),对峙就化成相生。原文只给取象,哪一行为关要按五行生克定。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"smt-zhenguan",book:"sanming",chapter:"卷五·论正官",scene:"格局",tags:["正官"],quote:"正官者,乃甲见辛、乙见庚之例。阴阳配合,相制有用,成其道也。故正官为六格之首,止许一位,多则不宜。",plain:"正官取「克我而阴阳相配」,有制而能成用;六格以正官居首,只宜一位,多见就杂。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7582.html"},{id:"smt-zhengcai",book:"sanming",chapter:"卷六·论正财",scene:"格局",tags:["财","正财"],quote:"正财者,乃甲见己、乙见戊之例。受我克制,为我之妻,譬人娶妻,妻赍财嫁我,我必精神康强,而后可享用,若衰微不振,虽妻财丰厚,但能目视,终不得用。",plain:"正财是我克制之物,古人以「娶妻带财」作比:自身精神康强才受用得起,身弱不振,财再厚也只是看着。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7645.html"},{id:"smt-piancai",book:"sanming",chapter:"卷六·论偏财",scene:"格局",tags:["财","偏财"],quote:"何谓偏财?乃甲见戊、乙见己之例。非妻所带,乃众人之财也。切忌有姊妹兄弟分夺,柱无官星,祸患百出。",plain:"偏财取「我克而阴阳不同」:不是妻家带来的私财,而是众人之财,宜流通不宜独占。原文最忌比肩劫财来分夺,又说柱中无官星则多事(旧说的重话照录,本插件只记原文、不作断语)。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7650.html"},{id:"smt-yinshou",book:"sanming",chapter:"卷六·论印绶",scene:"格局",tags:["印"],quote:"印绶者,乃五行生我之名。如甲乙在亥子月,丙丁在寅卯月之类,乃我气之源,为生气,为父母,能护我官星,使无伤克",plain:"印是生我之气,像源头与父母:它能护住官星,使官不受伤克;反过来说,印重就怕财来破。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7655.html"},{id:"smt-shishen",book:"sanming",chapter:"卷六·论食神",scene:"格局",tags:["食神"],quote:"凡命遇财煞之地,食神旺相,煞被食制,不敢为祸,财被食生,充裕不竭,故食神一名寿星,一名爵星,良有以也。",plain:"食神旺,一头制煞、一头生财:煞被制住不敢为祸,财被生起不至枯竭;所以食神又叫寿星、爵星。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7663.html"},{id:"smt-shangguan",book:"sanming",chapter:"卷六·论伤官",scene:"格局",tags:["伤官"],quote:"伤官虽凶,乃我所生,自家之物,伤尽则能生财,财旺则能生官,造化展转有情。",plain:"伤官虽称凶,却是我自己生出来的:伤尽(柱中不见官星)反能生财,财旺再生官,辗转还是有情。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7662.html"},{id:"smt-yangren",book:"sanming",chapter:"卷六·论阳刃",scene:"格局",tags:["阳刃","劫财"],quote:"阳者,阴阳之阳,刃者,刀刃之刃,即禄前一位,言旺越其分,故险。",plain:"阳刃指禄前一位,旺过了本分,所以险;甲丙戊庚壬五阳干才有刃,阴干见伤官同论。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7671.html"},{id:"smt-jianlu",book:"sanming",chapter:"卷六·论建禄",scene:"格局",tags:["建禄","比肩","月劫"],quote:"凡命月令建禄,难招祖业,必主平生见财不聚,却病少寿长,行运再见比肩,克妻妨父损子",plain:"月令建禄是日主临官之地,身旺而财官难取:古说难承祖业、见财不聚,但病少寿长;再走比肩运,古书说克妻妨父损子(属于旧说的重话,本插件只记原文、不作断语)。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7672.html"},{id:"smt-guansha-liu",book:"sanming",chapter:"卷五·官煞去留杂论",scene:"格局",tags:["七杀","偏官"],quote:"凡看去留,要详柱中官煞孰重孰轻,天干透者易去,月支所藏者难去,须伤官食神去官煞之物众而有力,方才去得。",plain:"官煞混见时先比谁重谁轻:天干透出的容易去,月支藏着的难去;用来去官煞的伤官食神要成众、有根有力,才真去得掉。七杀格遇正官混杂,就按这一篇看取舍。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7599.html"},{id:"smt-quzhi",book:"sanming",chapter:"卷六·曲直",scene:"格局",tags:["曲直格","专旺"],quote:"甲乙日得亥卯未局,柱中须有亥字带印为入格,若无亥有卯,止是木之本气,却要见金土为贵,既无亥字,又无金土,则木不秀不实,难以言贵。",plain:"曲直格要木局成方(亥卯未)且带亥字为印,才算入格;只有卯、没有亥,只是木的本气,得另见金土才谈得上贵;两样都没有,木虽旺而无成,难称贵格。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7630.html"},{id:"smt-yanshang",book:"sanming",chapter:"卷六·炎上",scene:"格局",tags:["炎上格","专旺"],quote:"丙丁日遇寅午戌局,柱中须有寅字带印为入格,无寅止是九流近贵之命,若火自旺,无亥水相济,不贵。喜东北方运,忌见辰丑戊己,晦火光明,多主眼疾,或患风气,柱有木制成贵,忌水金乡,怕冲。",plain:"炎上格要火局成方(寅午戌)且带寅字为印才入格;无寅只是偏贵的命。火自旺还要一点水相济,过燥不贵;行运喜东北、忌湿土晦火,也怕冲。原文另带「多主眼疾」一句,属于旧说,本插件只记原文、不作健康判断。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7631.html"},{id:"smt-congge",book:"sanming",chapter:"卷六·从革",scene:"格局",tags:["从革格","专旺"],quote:"庚辛日见巳酉丑局,须带丙丁巳午一二位方成其器,但不可火多。如辛巳、辛酉、辛丑三日不喜五月生,被火所伤,宜八月或水土养育食神印绶为吉。",plain:"从革格是金局成方(巳酉丑),但金要火炼才成器:须带丙丁或巳午一二位,火又不能多。辛巳、辛酉、辛丑三日出身在五月(火旺)被伤,原文说宜八月或水土养育。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7632.html"},{id:"smt-runxia",book:"sanming",chapter:"卷六·润下",scene:"格局",tags:["润下格","专旺"],quote:"壬癸日见申子辰全,忌引卯巳死绝之地,三刑四冲之乡,死绝则不流,冲刑则横流,岁运同。或曰水太泛须柱有土神一两位制之,得成堤岸,既有土怕会木为凶,如有木伤土要金印救解,终是一生成败。",plain:"润下格是水局三合全(申子辰),最忌卯巳死绝与三刑四冲:死绝水不流,冲刑水横流,行运也一样看。水太泛要一两位土作堤,有土又怕木来破堤,木伤土再用金印解救——原文把成败条件摊开讲。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7633.html"},{id:"smt-jiasi",book:"sanming",chapter:"卷六·稼穑",scene:"格局",tags:["稼穑格","专旺"],quote:"赋云:戊己忻逢四季,乃为稼穑之名。是戊己生逢季月,喜见木为官,止得一木为妙,木多则土虚,主虚诈为破家不仁之人。",plain:"稼穑格取戊己生于四季月(辰戌丑未)。原文说喜见一木为官,木多则土虚;后半对木多之人的评语是旧说的重话,本插件只照录条件、不拿来评价人。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7634.html"},{id:"smt-congsha",book:"sanming",chapter:"卷五·弃命从煞",scene:"格局",tags:["从杀格"],quote:"《独步》云:弃命从煞,须要会煞从财,忌煞从煞。盖言从煞格,以煞神太重,身无所归,不得已从之,要行煞旺及财乡,四柱无一点比肩印绶方论,如遇运扶身旺,与煞为敌,从煞不专,故为祸患。",plain:"从煞格是煞太重、日主无所归才「弃命」相从:条件是四柱没有一点比肩印绶扶身,行运喜煞旺与财乡;一旦走扶身之运,与煞为敌,就从得不专。本插件只作结构说明,不据此断寿夭。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7598.html"},{id:"smt-congcai",book:"sanming",chapter:"卷六·弃命从财",scene:"格局",tags:["从财格"],quote:"《独步》云:弃命从财,须要会财,若逢根气,命损无猜。假如丁生酉月,柱多庚辛,日干无气,只得弃命相从,运入北方财官旺地,乃为入格,南行灾。",plain:"从财格要财会成局、日干无气;一见根气就破格,原文用「命损无猜」这种重话写明。以丁生酉月、柱多庚辛为例:只能弃命相从,行北方财官旺地为入格,南行则灾。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7652.html"},{id:"smt-suiyun",book:"sanming",chapter:"卷二·总论岁运",scene:"岁运",tags:[],quote:"行运以生月为运元,最怕行运与太岁冲克,若岁运冲月必祸;若岁运与日相对,谓之返吟,岁运压日,谓之伏吟,二者不利六亲,非横破财,不为吉兆。",plain:"大运以生月为起点,最怕与流年(太岁)冲克:原文说岁运冲月为祸,又把「岁运与日柱相对」叫返吟、「岁运压日」叫伏吟。这两句是按「对日柱」说的,与本插件「干支相同为伏吟、天克地冲为反吟」不是同一套定义(本插件取后者);末句「不利六亲、破财」是旧说的重话,只作变动提示,不作断语。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7539.html"},{id:"smt-renyuan",book:"sanming",chapter:"卷二·论人元司事",scene:"人元",tags:[],quote:"故支吕所藏者主命,谓之人元,名为司事之神,以命术言之为月令。如正月建寅,寅中有艮土用事五日,丙火长生五日,甲木二十日;二月建卯,卯中有甲木用事七日,乙木二十三日;",plain:"地支所藏为「人元」,按月令分日轮值。三命通会这一本给的是另一套日数:寅月艮土(戊土)五日、丙火五日、甲木二十日,卯月甲七日、乙二十三日。它与本插件采用的通行 30 日表(寅月戊7丙7甲16,即 7/7/16;卯月甲10乙20,即 10/20)不是同一套分法;两表各照原样并列,本插件仍按通行表给「第几日谁当权」,不改取格。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7529.html"}],ae=Q.reduce((j,$)=>(j[$.id]=$,j),{}),re={正官格:"正官",七杀格:"七杀",偏官格:"偏官",正财格:"正财",偏财格:"偏财",正印格:"印",偏印格:"印",食神格:"食神",伤官格:"伤官",阳刃格:"阳刃",月劫格:"月劫",建禄格:"建禄"},ne={曲直格:"smt-quzhi",炎上格:"smt-yanshang",从革格:"smt-congge",润下格:"smt-runxia",稼穑格:"smt-jiasi",从财格:"smt-congcai",从杀格:"smt-congsha"};function T(j){return ae[j]||null}function _(j){return(j&&Array.isArray(j.liunian)?j.liunian:[]).some(p=>p&&p.suiyun&&Array.isArray(p.suiyun.signals)&&p.suiyun.signals.length)?T("smt-suiyun"):null}function H(j){const $=String(j||"");if(re[$])return re[$];const b=$.replace(/格$/,"");return re[b+"格"]||b}function o(j,$){return Q.find(b=>b.scene==="格局"&&b.tags.includes(j)&&(!$||b.book===$))||null}function A(j){return j.chapter.replace(/^.*[、·]/,"").replace(/^论/,"")}function q(j,$=5){if(!j)return[];const b=[],p=new Set,w=(c,N)=>{!c||p.has(c.id)||b.length>=$||(p.add(c.id),b.push({...c,why:N}))},g=Array.isArray(j.geju)?j.geju:j.frame&&Array.isArray(j.frame.geju)?j.frame.geju:[],m=g.some(c=>c&&c.kind==="化气格");for(const c of g){if(c&&c.status==="破格"||m&&c&&c.status==="假从")continue;const N=c&&ne[c.name]?T(ne[c.name]):null;N&&w(N,`本盘列有「${c.name}」,故取${U[N.book].name}「${A(N)}」一条`)}for(const c of g){if(!c||c.kind&&c.kind!=="月令格")continue;const N=H(c.name),O=o(N,"ziping")||o(N);O&&w(O,`你的月令格局是「${c.name}」,故取${U[O.book].name}「${A(O)}」一条`);const we=Q.find(Ye=>Ye.scene==="格局"&&Ye.tags.includes(N)&&(!O||Ye.book!==O.book));we&&w(we,`同是「${c.name}」,${U[we.book].name}「${A(we)}」另有取法,可对照读`)}const f=j.climate||j.frame&&j.frame.yongshen&&(j.frame.yongshen.climate||j.frame.yongshen.tiaohou),s=j.frame&&j.frame.yongshen&&j.frame.yongshen.tongguan,i=s&&s.usable?T("dt-tongguan"):null;if(f&&f.kind&&f.kind!=="平和"){const c=!!(f.cold||f.kind.indexOf("寒")>=0),N=!!(f.hot||f.kind.indexOf("热")>=0);w(T(c?"dt-hannuan":"dt-zaoshi"),`本盘气候判为「${f.kind}」,故取${U.ditian.name}寒暖燥湿一条`),i||w(T("zp-qihou"),"气候与月令用神要互参,故取子平真诠「用神配气候」一条"),N&&w(T("dt-hannuan"),"本盘偏热,寒暖一条正对")}i&&w(i,`本盘忌${s.foe}克用${s.use},局中${s.bridge}${s.weight}分可作通关,故取${U.ditian.name}「通关」一条`);const t=g.find(c=>c&&c.kind==="化气格"),r=g.find(c=>c&&c.kind==="组合"),y=j.monthBranch||j.frame&&j.frame.monthBranch||j.pillars&&j.pillars.month&&j.pillars.month.branch,h=["辰","未","戌","丑"].includes(y);return t?w(T("zp-bianhua"),`本盘列有「${t.name}」:用神由月令合化而变,总纲一位改取${U.ziping.name}论用神变化`):h?w(T("zp-zaji"),`月令${y}属四墓杂气,取用先看透干、再看会支,总纲一位取${U.ziping.name}论杂气如何取用`):r?w(T("zp-chengbai"),`本盘另有「${r.name}」组合:成格还要看带忌与救应,总纲一位改取${U.ziping.name}论用神成败救应`):w(T("zp-yongshen"),"用神从月令取、四吉顺用四凶逆用,是通用总纲"),b}function Z(j){return!j||!j.length?"":j.map($=>`《${U[$.book].name}·${$.chapter}》「${$.quote}」`).join(`
|
|
72
|
-
`)}return{CLASSIC_BOOKS:U,CLASSICS:Q,classicOf:T,suiyunClassicOf:_,classicsFor:q,classicsText:Z}})(),J.daliuren=(function(){const{toJDN:U,dayGanzhiIndex:Q,ganzhiName:ae,termWindow:re,formatJd:ne,jdToParts:T,xunKongOf:_}=J.calendar||{},{assertCivil:H,assertShifted:o}=J.validate||{},{SANHE_ELEMENT:A}=J.sanhe||{},{bool:q}=J.bool||{},Z=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],j=["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"],$=["贵","蛇","雀","合","勾","龙","空","虎","常","玄","阴","后"],b={贵:"贵人",蛇:"螣蛇",雀:"朱雀",合:"六合",勾:"勾陈",龙:"青龙",空:"天空",虎:"白虎",常:"太常",玄:"玄武",阴:"太阴",后:"天后"},p={亥:"登明",戌:"河魁",酉:"从魁",申:"传送",未:"小吉",午:"胜光",巳:"太乙",辰:"天罡",卯:"太冲",寅:"功曹",丑:"大吉",子:"神后"},w={甲:"木",乙:"木",丙:"火",丁:"火",戊:"土",己:"土",庚:"金",辛:"金",壬:"水",癸:"水"},g={子:"水",丑:"土",寅:"木",卯:"木",辰:"土",巳:"火",午:"火",未:"土",申:"金",酉:"金",戌:"土",亥:"水"},m={金:"水",水:"木",木:"火",火:"土",土:"金"},f={金:"木",木:"土",土:"水",水:"火",火:"金"};function s(be,je){return be===je?"比和":f[be]===je?"克":f[je]===be?"被克":m[be]===je?"生":m[je]===be?"被生":"比和"}const i={被生:"父母",生:"子孙",克:"妻财",比和:"兄弟",被克:"官鬼"},t={甲:"寅",乙:"辰",丙:"巳",丁:"未",戊:"巳",己:"未",庚:"申",辛:"戌",壬:"亥",癸:"丑"},r=["巳","午","未","申","酉","戌"],y={雨水:"亥",惊蛰:"亥",春分:"戌",清明:"戌",谷雨:"酉",立夏:"酉",小满:"申",芒种:"申",夏至:"未",小暑:"未",大暑:"午",立秋:"午",处暑:"巳",白露:"巳",秋分:"辰",寒露:"辰",霜降:"卯",立冬:"卯",小雪:"寅",大雪:"寅",冬至:"丑",小寒:"丑",大寒:"子",立春:"子"},h={甲:{day:"丑",night:"未"},戊:{day:"丑",night:"未"},庚:{day:"丑",night:"未"},乙:{day:"子",night:"申"},己:{day:"子",night:"申"},丙:{day:"亥",night:"酉"},丁:{day:"亥",night:"酉"},壬:{day:"巳",night:"卯"},癸:{day:"巳",night:"卯"},辛:{day:"午",night:"寅"}},c={卯:"昼",辰:"昼",巳:"昼",午:"昼",未:"昼",申:"昼",酉:"夜",戌:"夜",亥:"夜",子:"夜",丑:"夜",寅:"夜"},N={甲:"寅",乙:"卯",丙:"巳",丁:"午",戊:"巳",己:"午",庚:"申",辛:"酉",壬:"亥",癸:"子"},O={甲:"卯",乙:"辰",丙:"午",丁:"未",戊:"午",己:"未",庚:"酉",辛:"戌",壬:"子",癸:"丑"},we={水:{驿马:"寅",桃花:"酉",华盖:"辰",劫煞:"巳",亡神:"亥"},火:{驿马:"申",桃花:"卯",华盖:"戌",劫煞:"亥",亡神:"巳"},金:{驿马:"亥",桃花:"午",华盖:"丑",劫煞:"寅",亡神:"申"},木:{驿马:"巳",桃花:"子",华盖:"未",劫煞:"申",亡神:"寅"}};function Ye(be){const je=be[0],Te=be[1],Ge=[],Ze=(Fe,Se,cn)=>{Ge.some(ln=>ln.name===Fe)||Ge.push({name:Fe,branch:Se,note:cn})};N[je]&&Ze("日禄",N[je],"日干临官之位"),O[je]&&Ze("羊刃",O[je],"日干帝旺之位");const Ie=we[A[Te]];return Ie&&(Ze("驿马",Ie.驿马,"日支三合冲位,主迁动"),Ze("桃花",Ie.桃花,"咸池,主情缘"),Ze("华盖",Ie.华盖,"主孤高、技艺"),Ze("劫煞",Ie.劫煞,"主意外耗损"),Ze("亡神",Ie.亡神,"主失脱、心神不定")),Ge}const d=Array.from({length:60},(be,je)=>Z[je%10]+j[je%12]),I={子:"午",午:"子",丑:"未",未:"丑",寅:"申",申:"寅",卯:"酉",酉:"卯",辰:"戌",戌:"辰",巳:"亥",亥:"巳"},F={子:"卯",卯:"子",寅:"巳",巳:"申",申:"寅",丑:"戌",戌:"未",未:"丑",辰:"辰",午:"午",酉:"酉",亥:"亥"},oe={寅:"申",午:"申",戌:"申",申:"寅",子:"寅",辰:"寅",巳:"亥",酉:"亥",丑:"亥",亥:"巳",卯:"巳",未:"巳"},te=["壬子","甲寅","乙卯","丁巳","己未","庚申","辛酉","癸亥"],fe=["甲寅","丁未","己未","庚申","癸丑"],ze=be=>["甲","丙","戊","庚","壬"].includes(be)||["子","寅","辰","午","申","戌"].includes(be)?"阳":"阴";function W(be,je,Te){const Ge=y[be]??"子",Ze=j.indexOf(je),Ie=j.indexOf(Ge),Fe=new Array(12);for(let rn=0;rn<12;rn++)Fe[(Ze+rn)%12]=j[(Ie+rn)%12];const Se=c[je]??"昼",cn=h[Te],ln=Se==="昼"?cn.day:cn.night,dn=j.indexOf(ln),mn=Fe[dn],jn=r.includes(mn),zn=new Array(12);if(jn){const rn=["贵","后","阴","玄","常","虎","空","龙","勾","合","雀","蛇"];for(let Cn=0;Cn<12;Cn++)zn[(dn+Cn)%12]=rn[Cn]}else for(let rn=0;rn<12;rn++)zn[(dn+rn)%12]=$[rn];const Rn={},Zn={};for(let rn=0;rn<12;rn++)Rn[j[rn]]=Fe[rn],Zn[j[rn]]=zn[rn];return{tianPan:Fe,diToTian:Rn,diToJiang:Zn,yueJiang:Ge,dayNight:Se,guirenStart:ln,isReverse:jn}}function D(be,je){const Te=g[be]??w[be]??"土",Ge=g[je]??w[je]??"土",Ze=s(Te,Ge);return{克:"上克下",被克:"下贼上",生:"上生下",被生:"下生上",比和:"比和"}[Ze]??"比和"}function z(be,je,Te){const{diToTian:Ge,diToJiang:Ze}=Te,Ie=t[be],Fe=Ge[Ie],Se=Ge[Fe],cn=Ge[je],ln=Ge[cn],dn=(mn,jn,zn)=>({position:mn,shang:jn,xia:zn,jiang:Ze[t[zn]??zn]??"",relation:D(jn,zn)});return[dn(1,Fe,be),dn(2,Se,Fe),dn(3,cn,je),dn(4,ln,cn)]}function P(be){const je={shangKeXia:0,xiaZeiShang:0};for(const Te of be)Te.relation==="上克下"?je.shangKeXia++:Te.relation==="下贼上"&&je.xiaZeiShang++;return je}function V(be,je){return _(be).includes(je)?je:null}function ue(be,je,Te,Ge,Ze){const Ie=s(w[Ge]??"土",g[je]??"土");return{position:be,zhi:je,jiang:Te.diToJiang[je]??"",jiangFull:b[Te.diToJiang[je]]??"",liuQin:i[Ie]??"兄弟",xunKong:V(Ze,je)}}function le(be){let je=0;for(let Te=0;Te<12;Te++)I[j[Te]]===be.diToTian[j[Te]]&&je++;return je>=6}function ve(be,je){const Te=g[be]??"土",Ge=j.indexOf(je),Ze=j.indexOf(be);let Ie=0,Fe=Ge;for(;Fe!==Ze;)s(Te,g[j[Fe]])==="克"&&Ie++,Fe=(Fe-1+12)%12;return Ie}function Ae(be,je,Te){const Ge=be.filter(ln=>ln.relation===Te);if(Ge.length===1)return{zhi:Ge[0].shang,geJu:"贼克",detail:Te==="下贼上"?"重审":"元首"};const Ze=ze(je),Ie=Ge.filter(ln=>ze(ln.shang)===Ze);if(Ie.length===1)return{zhi:Ie[0].shang,geJu:"比用",detail:"知一"};const Se=(Ie.length?Ie:Ge).map(ln=>({k:ln,d:ve(ln.shang,ln.xia)})).sort((ln,dn)=>dn.d-ln.d),cn=Se.length>=2&&Se[0].d===Se[1].d;return{zhi:Se[0].k.shang,geJu:"涉害",detail:cn?"察微":"见机"}}function hn(be,je,Te,Ge){const Ze=w[Te]??"土";for(const Ie of be)if(s(g[Ie.shang]??"土",Ze)==="克")return{zhi:Ie.shang,geJu:"遥克",detail:"蒿矢"};for(const Ie of be)if(s(g[Ie.shang]??"土",Ze)==="被克")return{zhi:Ie.shang,geJu:"遥克",detail:"弹射"};return{...ye(je,Te,Ge)}}function ye(be,je,Te){const Ge=be.diToTian[t[je]],Ze=be.diToTian[Te];if(ze(je)==="阳")return{zhi:be.diToTian.酉,zhong:Ze,mo:Ge,geJu:"昴星",detail:"虎视"};let Fe=null;for(const Se of j)if(be.diToTian[Se]==="酉"){Fe=Se;break}return{zhi:Fe,zhong:Ge,mo:Ze,geJu:"昴星",detail:"冬蛇掩目"}}function nn(be,je,Te){const Ge=be.diToTian[t[je]],Ze=be.diToTian[Te],Ie=ze(je),Fe=Ie==="阳"?Ge:Ze,Se=j.indexOf(Fe);return{zhi:j[(Se+(Ie==="阳"?2:-2)+12)%12],zhong:Ie==="阳"?Ze:Ge,mo:Ie==="阳"?Ge:Ze}}function Gn(be,je,Te,Ge){const Ze=be.filter(zn=>zn.relation==="下贼上"),Ie=be.filter(zn=>zn.relation==="上克下"),Fe=ze(Te);let Se,cn;Ze.length||Ie.length?(Se=(Ze.length?Ze.length===1&&!Ie.length?{zhi:Ze[0].shang}:Ae(be,Te,"下贼上"):Ie.length===1?{zhi:Ie[0].shang}:Ae(be,Te,"上克下")).zhi,cn="有克"):(Se=Fe==="阳"?t[Te]:Ge,cn=Fe==="阳"?"自任":"杜传");const ln=je.diToTian[t[Te]],dn=je.diToTian[Ge];let mn;F[Se]===Se?mn=(Fe==="阳"?[dn,ln]:[ln,dn]).find(Rn=>Rn&&Rn!==Se)||Se:mn=F[Se];let jn=F[mn];return jn===mn&&(jn=I[mn]),{chu:Se,zhong:mn,mo:jn,detail:cn}}function ke(be,je,Te,Ge,Ze){if(Ze)return{zhi:oe[Te]??"寅",detail:"绝嗣"};for(const Ie of["下贼上","上克下"]){const Fe=be.filter(Se=>Se.relation===Ie);if(Fe.length){const Se=ze(je);return{zhi:(Fe.filter(ln=>ze(ln.shang)===Se)[0]??Fe[0]).shang,detail:"无依"}}}return{zhi:oe[Te]??"寅",detail:"无亲"}}function qn(be){H(be);const{year:je,month:Te,day:Ge,hour:Ze=0,minute:Ie=0}=be,Fe=q(be.lateZi,!0),Se=U(je,Te,Ge),cn=Fe&&Ze>=23?Se+1:Se,ln=Q(cn),dn=ae(ln).name,mn=dn[0],jn=dn[1],zn=j[Math.floor((Ze+1)%24/2)],Rn=Se-.5+(Ze*60+Ie)/1440;Fe&&Ze>=23&&o(T(Rn+1),"大六壬");const Zn=re(je).filter(v=>v.jd<=Rn),rn=Zn.length?Zn[Zn.length-1]:null,Cn=rn?rn.name:"冬至",pn=W(Cn,zn,mn),On=z(mn,jn,pn),En=P(On),Wn=pn.yueJiang===zn,rt=le(pn),Xn=te.includes(dn),it=fe.includes(dn)&&En.xiaZeiShang===4;let In,_n,Dn,l,S;if(rt||it){const v=ke(On,mn,jn,En,it);In=v.zhi,l="返吟",S=v.detail,_n=I[In],Dn=I[_n]}else if(Wn){const v=Gn(On,pn,mn,jn);In=v.chu,_n=v.zhong,Dn=v.mo,l="伏吟",S=v.detail}else if(Xn&&En.shangKeXia===0&&En.xiaZeiShang===0){const v=nn(pn,mn,jn);In=v.zhi,_n=v.zhong,Dn=v.mo,l="八专",S="帷簿"}else if(En.xiaZeiShang===1&&En.shangKeXia===0)In=On.find(v=>v.relation==="下贼上").shang,l="贼克",S="重审";else if(En.shangKeXia===1&&En.xiaZeiShang===0)In=On.find(v=>v.relation==="上克下").shang,l="贼克",S="元首";else if(En.xiaZeiShang>=1){const v=Ae(On,mn,"下贼上");In=v.zhi,l=v.geJu,S=v.detail}else if(En.shangKeXia>=2){const v=Ae(On,mn,"上克下");In=v.zhi,l=v.geJu,S=v.detail}else if(En.shangKeXia===0&&En.xiaZeiShang===0){const v=hn(On,pn,mn,jn);In=v.zhi,l=v.geJu,S=v.detail,v.zhong!==void 0&&(_n=v.zhong,Dn=v.mo)}else In=On[0].shang,l="贼克",S="元首";return _n===void 0&&(_n=pn.diToTian[In],Dn=pn.diToTian[_n]),{system:"daliuren",input:{year:je,month:Te,day:Ge,hour:Ze,minute:Ie},dayGanZhi:dn,hourZhi:zn,dayNight:pn.dayNight,jieqi:{name:Cn,time:rn?ne(rn.jd):null},yueJiang:{zhi:pn.yueJiang,name:p[pn.yueJiang]},guiren:{zhi:pn.guirenStart,reverse:pn.isReverse},pan:j.map((v,ie)=>({di:v,tian:pn.tianPan[ie],jiang:pn.diToJiang[v],jiangFull:b[pn.diToJiang[v]]})),siKe:On.map(v=>({...v,jiangFull:b[v.jiang]??""})),sanChuan:{chu:ue("初传",In,pn,mn,dn),zhong:ue("中传",_n,pn,mn,dn),mo:ue("末传",Dn,pn,mn,dn)},shensha:Ye(dn),geJu:{name:l,detail:S}}}return{ZHI:j,GAN:Z,TIAN_JIANG:$,JIANG_FULL:b,JIEQI_YUE_JIANG:y,GAN_JI_GONG:t,calcShensha:Ye,buildDaliuren:qn}})(),J["interpret-data"]=(function(){const U={乾:{nature:"天",trait:"刚健、主导",element:"金"},坤:{nature:"地",trait:"承载、柔顺",element:"土"},震:{nature:"雷",trait:"启动、震动",element:"木"},巽:{nature:"风",trait:"渗透、顺势",element:"木"},坎:{nature:"水",trait:"险陷、流动",element:"水"},离:{nature:"火",trait:"明丽、附著",element:"火"},艮:{nature:"山",trait:"静止、阻挡",element:"土"},兑:{nature:"泽",trait:"愉悦、口舌",element:"金"}},Q=[{pos:1,name:"初爻",gist:"事之始,根基与起点",tone:"宜稳不宜急"},{pos:2,name:"二爻",gist:"初步展开,能力初显",tone:"宜务实积累"},{pos:3,name:"三爻",gist:"进退交界的关口,多劳少得",tone:"宜守拙退让"},{pos:4,name:"四爻",gist:"接近决策层,转机初现",tone:"宜谨慎措辞"},{pos:5,name:"五爻",gist:"得位居中,事态最盛",tone:"宜把握主节奏"},{pos:6,name:"上爻",gist:"发展至极,盛极思变",tone:"宜留余地收尾"}],ae={yang:"阳极转阴:原本强势、推进得很快的那个环节,接下来需要收一收、留余地",yin:"阴极转阳:原本停滞、迟迟没动静的那个环节,接下来会出现变化,可以主动推一把"},re={乾为天:{meaning:"刚健运行,自强不息",scene:"主动权在你手上,宜自己定节奏"},坤为地:{meaning:"厚德载物,顺势而成",scene:"配合与承接比抢先更有利"},水雷屯:{meaning:"初生艰难,如草木破土",scene:"事情刚起步会乱,先把基础扎稳"},山水蒙:{meaning:"蒙昧待启,问道则通",scene:"信息不全时先请教,不要硬闯"},水天需:{meaning:"等待时机,不可冒进",scene:"条件没齐,耐心等一等反而快"},天水讼:{meaning:"争讼之象,宜和解",scene:"有分歧先谈,别把关系推上对抗"},地水师:{meaning:"用众之道,纪律为先",scene:"靠团队成事,规矩要立在前"},水地比:{meaning:"亲附相辅,择善而从",scene:"选对合作对象,比单打独斗重要"},风天小畜:{meaning:"小有积蓄,力量未充",scene:"先攒资源,暂不大举投入"},天泽履:{meaning:"循礼而行,如履虎尾",scene:"按规则走,谨慎就不会出事"},地天泰:{meaning:"上下交泰,通达和顺",scene:"沟通顺畅,是推进的好时候"},天地否:{meaning:"阴阳不交,闭塞不通",scene:"卡住时先停下来,别硬顶"},天火同人:{meaning:"与人同心,众志可成",scene:"找同频的人一起做,事半倍"},火天大有:{meaning:"丰盛富有,如日中天",scene:"收获可观,记得分享与收敛"},地山谦:{meaning:"谦逊受益,卑以自牧",scene:"放低姿态,反而更容易被接纳"},雷地豫:{meaning:"悦乐振奋,顺势而动",scene:"士气高,适合启动与造势"},泽雷随:{meaning:"随时而动,择善而随",scene:"跟随大势走,别拧着来"},山风蛊:{meaning:"积弊待治,破而后立",scene:"旧问题该清一清了,别拖"},地泽临:{meaning:"居高临下,督导亲近",scene:"亲自盯一盯,效果比放手好"},风地观:{meaning:"观仰教化,观察而明",scene:"先看清楚再表态"},火雷噬嗑:{meaning:"咬合去梗,明断是非",scene:"障碍要正面处理,绕不过去"},山火贲:{meaning:"文饰之美,适度为宜",scene:"包装有用,但别盖过实质"},山地剥:{meaning:"剥落衰败,宜守不宜进",scene:"在消耗期,止损优先"},地雷复:{meaning:"一阳来复,去而复返",scene:"转机回来了,可以小步重启"},天雷无妄:{meaning:"不妄为,守正即吉",scene:"按本分做,别投机"},山天大畜:{meaning:"大有蓄养,厚积待发",scene:"积累期,学东西最有价值"},山雷颐:{meaning:"养正自守,节饮食慎言语",scene:"养身体、养口碑,别透支"},泽风大过:{meaning:"过甚有险,栋梁将折",scene:"担子太重,该减负或加固"},坎为水:{meaning:"重险叠至,惟诚可济",scene:"困难接连来,稳住心神最要紧"},离为火:{meaning:"附丽光明,柔顺守中",scene:"借助光亮的东西,别孤军奋战"},泽山咸:{meaning:"感应相和,男女相悦",scene:"情感互动顺畅,宜真诚表达"},雷风恒:{meaning:"恒久不易,持之则成",scene:"长期坚持才有结果"},天山遁:{meaning:"退避为智,以退为进",scene:"适时抽身,不是认输"},雷天大壮:{meaning:"阳刚壮盛,宜正不宜猛",scene:"气势足,但别用力过猛"},火地晋:{meaning:"晋升初进,如日上升",scene:"有上升机会,主动争取"},地火明夷:{meaning:"光明受掩,韬光养晦",scene:"暂时低调,保存实力"},风火家人:{meaning:"内治为先,各安其位",scene:"先把身边人和日常安顿好"},火泽睽:{meaning:"睽违背离,同中有异",scene:"意见不合是常态,求同存异"},水山蹇:{meaning:"蹇难阻滞,宜反身修德",scene:"走不通就绕,回头补短板"},雷水解:{meaning:"险难消解,宜速不宜缓",scene:"结打开了,趁势把事办了"},山泽损:{meaning:"损己益人,损中有得",scene:"先让一点,后面有回报"},风雷益:{meaning:"增益利民,顺势施为",scene:"投入会有产出,可以加码"},泽天夬:{meaning:"决而去之,果决除弊",scene:"该断的事果断断,别拖泥带水"},天风姤:{meaning:"不期而遇,柔遇刚",scene:"有意外的人或机会出现"},泽地萃:{meaning:"聚合众力,物以类聚",scene:"聚人聚资源的时候到了"},地风升:{meaning:"积小以高大,循序上升",scene:"一步一步往上走,别跳级"},泽水困:{meaning:"困穷待援,安贫守正",scene:"资源受限时先守住基本盘"},水风井:{meaning:"井养不穷,修井得清",scene:"把现有的渠道维护好"},泽火革:{meaning:"革故鼎新,时至则变",scene:"该改就改,时机已经到了"},火风鼎:{meaning:"鼎新烹饪,稳重得位",scene:"新格局已立,按新规矩办"},震为雷:{meaning:"震惊百里,惧而后安",scene:"突发变动会来,先稳住再应对"},艮为山:{meaning:"止其所止,静而定",scene:"该停就停,停下来才看得清"},风山渐:{meaning:"渐进有序,如鸿渐于陆",scene:"慢慢来反而到得快"},雷泽归妹:{meaning:"归嫁失序,宜守本分",scene:"关系里别越位,按本分处"},雷火丰:{meaning:"丰大光明,宜及时施为",scene:"盛时要做事,别浪费势头"},火山旅:{meaning:"旅居在外,谨慎自守",scene:"处在变动环境,低调稳当些"},巽为风:{meaning:"顺入以柔,申命行事",scene:"用柔的方式渗透,别硬碰"},兑为泽:{meaning:"喜悦相悦,朋友讲习",scene:"多交流多请教,气氛是好的"},风水涣:{meaning:"涣散离散,宜聚人心",scene:"人心散了,先把共识找回来"},水泽节:{meaning:"节制有度,苦节不可",scene:"设边界、控节奏,别过头"},风泽中孚:{meaning:"诚信居中,信则人任",scene:"诚意是当下最有效的通行证"},雷山小过:{meaning:"小事可过,大事不可",scene:"细节可以灵活,大方向别偏"},水火既济:{meaning:"事已成,慎终如始",scene:"做成之后更要防松懈"},火水未济:{meaning:"事未成,慎辨慎行",scene:"还差一步,别急着庆祝"}},ne=Object.fromEntries(Object.keys(re).map(j=>[j.length>2?j.slice(2):j.slice(0,1),j]));return{TRIGRAM:U,YAO_POSITION:Q,MOVING_NATURE:ae,HEX64:re,HEX_BY_CORE:ne,ZIWEI_STARS:{紫微:{trait:"有主见、重体面,习惯站在统筹的位置",work:"适合需要拍板与统筹的岗位,管理、政务、项目负责一类",love:"在关系里需要被尊重,慢热但认真",health:"留意血压与作息紊乱"},天机:{trait:"脑子转得快,兴趣多、想法多",work:"适合策划、技术、咨询、研发一类动脑的岗位",love:"容易被有趣的人吸引,需要精神共鸣",health:"思虑多,留意神经紧张与睡眠"},太阳:{trait:"外放热心,愿意付出、也愿意被看见",work:"适合对外型岗位,教学、销售、公关、公益一类",love:"主动付出型,注意别一厢情愿",health:"留意心血管与用眼过度"},武曲:{trait:"务实、讲效率,认结果不认空话",work:"适合金融、财务、工程、执行类岗位",love:"感情表达偏实在,用行动多于言语",health:"留意呼吸系统与过劳"},天同:{trait:"温和好相处,重感受,凡事求舒服",work:"适合服务、文职、教育、文创一类低对抗的岗位",love:"需要陪伴感,容易被温柔的人打动",health:"留意免疫力与情绪性不适"},廉贞:{trait:"细腻又较真,审美与原则都在意",work:"适合需要精细度的岗位,法务、审计、设计、医疗一类",love:"感情投入深,也容易较劲",health:"留意炎症与情绪郁结"},天府:{trait:"稳重可靠,善于守成与资源调度",work:"适合行政、财务、运营、仓储一类守盘型岗位",love:"倾向稳定长久的关系",health:"留意体重与消化负担"},太阴:{trait:"内敛敏感,心思细,重安全感",work:"适合研究、文案、财务、艺术一类安静专注的岗位",love:"慢热、重细节,需要被照顾到感受",health:"留意睡眠与内分泌节律"},贪狼:{trait:"好奇心强、人缘好,兴趣广泛",work:"适合业务、市场、传媒、跨界的开拓型岗位",love:"桃花偏旺,需要自己划清边界",health:"留意肝火与作息不规律"},巨门:{trait:"善于分析,也容易多疑,嘴上功夫好",work:"适合法务、教学、咨询、谈判一类靠口才与逻辑的岗位",love:"容易因多想而生误会,宜多说清楚",health:"留意口腔、呼吸道与思虑过度"},天相:{trait:"讲规矩、重协调,习惯做辅佐者",work:"适合秘书、执行、协调、后勤一类支撑型岗位",love:"关系里偏迁就,需要学会表达需求",health:"留意皮肤与免疫波动"},天梁:{trait:"有长者气,爱操心、乐意帮人",work:"适合教育、医护、公益、顾问一类助人的岗位",love:"照顾型伴侣,别把对方当孩子",health:"留意慢病管理与过劳"},七杀:{trait:"果断敢冲,抗压但容易硬碰硬",work:"适合开拓、销售、创业、外勤一类高挑战岗位",love:"感情来得快,需要留给对方缓冲",health:"留意意外伤害与旧伤复发"},破军:{trait:"喜新厌旧,敢破敢立,不走老路",work:"适合变革、创业、项目从零到一的岗位",love:"感情变动偏多,稳定需要共同目标",health:"留意泌尿与外伤"}},WUXING_INDUSTRY:{木:"教育培训、出版撰稿、文职行政、农林园艺、中医药、服装与设计、文创",火:"互联网、传媒影视、能源电力、餐饮与品牌、演艺传播、电子科技",土:"地产建筑、物业管理、行政人事、农业种植、供应链仓储、财会",金:"金融银行、法律法务、机械制造、审计风控、医疗器械、军警安保",水:"物流贸易、咨询顾问、传媒公关、旅游出行、科研水产、信息技术"},WUXING_ORGAN:{木:{part:"肝胆、筋骨",note:"情绪疏泄与久坐久视是主要负担"},火:{part:"心脏、小肠、血脉",note:"睡眠节律与情绪起伏最需留意"},土:{part:"脾胃、肌肉",note:"饮食规律与消化吸收是关键"},金:{part:"肺、大肠、呼吸道与皮肤",note:"空气质量与换季是敏感点"},水:{part:"肾、膀胱、内分泌与腰膝",note:"过劳与熬夜最先反映在这里"}},TENGOD_STYLE:{正官:"守规矩、重名分,适合在成体系的组织里按规则上升",七杀:"抗压敢拼,适合高挑战、需要快速决断的岗位",正财:"稳定务实,适合按劳取酬、积累型的路径",偏财:"善抓机会、人脉广,适合业务、投资、资源整合类",食神:"表达与创造见长,适合技术、创作、教育一类",伤官:"想法多、不服旧规,适合改革、创业、专业创意",正印:"学习力强、有耐心,适合研究、文教、需要资质的岗位",偏印:"偏门钻研,适合冷门专业、技术深耕",比肩:"独立能扛,适合并肩作战或独立负责一块",劫财:"行动快、竞争心强,适合业务冲刺型工作"},LIUREN_JIANG:{贵人:"贵人、助力、被提携",螣蛇:"缠绕、反复、惊扰不定",朱雀:"口舌、文书、消息是非",六合:"合作、契约、和合之事",勾陈:"牵绊、拖延、纠缠难断",青龙:"喜庆、财禄、顺利推进",天空:"虚空、不实、计划落空",白虎:"压力、病丧、突发阻碍",太常:"衣食、常规、平稳运行",玄武:"暗昧、失物、信息不明",太阴:"隐秘、暗中助力、私下的事",天后:"女性、恩泽、情感与照料"},DISCLAIMER:"以上解析由本插件依据你提供的出生信息(或起卦时刻)按传统命理规则生成,属文化娱乐与自我觉察的参考,不构成医疗、心理、投资、法律或人事决策的依据。涉及健康请咨询医生,涉及重大决定请以现实信息与专业人士意见为准。",TAROT_ELEMENT_FOCUS:{火:{area:"行动力与热情",advice:"把能量投到一件具体的事上,别同时开太多头"},水:{area:"情感与关系",advice:"先照顾好感受,再谈效率"},风:{area:"思考与沟通",advice:"把想法写下来,与相关的人说清楚"},土:{area:"现实与资源",advice:"落实成可执行的步骤,写明时间和预算"}}}})(),J["interpret-plain"]=(function(){const U=(t,r="")=>t==null||t===""?r:String(t),Q=t=>Array.isArray(t)?t.filter(Boolean).join(""):"",ae=t=>Array.isArray(t)?t.length>0:t!=null&&t!=="",re={身强:"底子偏足、抗压能力好,但容易自己给自己加码,学会收力比使劲更重要",偏强:"底子略足,扛得住事,也容易把事都往自己身上揽",中和:"力量比较匀,属于「给什么环境就长出什么样子」的类型",偏弱:"底子偏薄,靠外部支援比硬扛有效,选对圈子与节奏很关键",身弱:"底子偏薄,先修恢复力再谈冲刺,硬撑的性价比最低"},ne={六冲卦:"这一卦是「六冲」,事情起落快,急事反而好办,拖久了的人事容易散。",六合卦:"这一卦是「六合」,容易谈成,也容易黏住不放。",变六冲:"往下走会散,收尾别拖。",变六合:"往下走会合,事情倾向于延续下去。",内卦伏吟:"事情卡在原地打转,想动但动不了。",外卦伏吟:"外面那层没变,看起来在动,其实格局照旧。",内卦反吟:"反复在自己这一头,改了又改回来。",外卦反吟:"外面反复,对方或环境会来回拉扯。",化进神:"有一爻在往上走,顺着这股劲推比往回拉顺。",化退神:"有一爻在往后退,别按原来的势头硬推。"},T={可出:"眼下的条件算是有助无压,属于「出得来」的一档——这是条件,不等于马上应验。",有助有压:"眼下是一边有助、一边有压,出得来,但得费点劲。",受压难出:"眼下被上面的力量压着,不太容易露头,先别急着硬推。",未得助:"眼下暂时没借到力,还得等条件转过来。",飞伏未知:"飞伏关系看不全,这一层先不下判断。"};function _(t,r){if(!t||!t.liuqin)return"";if(t.found.length){const y=t.found.map(N=>`第${N.position}爻`).join("、"),h=t.found.some(N=>N.moving),c=t.byShi?"代表你自己":`就是「${t.liuqin}」这一类事`;return`你问的这件事,在卦里对应${y}${c}——${h?"这一爻还在动,说明事情正在推进":"这一爻没动,先按现状看"}。`}if(t.fushen.length){const y=t.fushen[0],h=r&&Array.isArray(r.items)?r.items.find(N=>N.position===y.position):null,c=h?` ${T[h.verdict]||""}`:"";return`你问的这件事,卦面上没有直接露出来,得往深处找:它藏在第${y.position}爻下面(伏神),与上面的关系是「${y.relation||"—"}」,要借力才出得来。${c}`}return""}function H(t){if(!t||!t.lines||!t.lines.length)return"";const r=t.lines.filter(c=>/死|囚/.test(c.monthState)||c.monthChong),y=t.lines.filter(c=>/旺|相/.test(c.monthState)),h=t.month&&t.month.branch?`眼下这阵子(${t.month.branch}月)`:"起卦这段日子";return r.length&&!y.length?`${h}对这件事不太帮忙,气有点被压着——先别急着硬推,等风向转。`:y.length&&!r.length?`${h}对这件事是帮着的,气正在往上走,能推就趁现在。`:`${h}对这件事有帮有压,一半的力要自己挣——结果更看你怎么走。`}function o(t){const r=t&&t.jinTuiPower;if(!r||!Array.isArray(r.lines)||!r.lines.length)return"";const y=h=>h.verdict==="后劲足"?"时令托着,后劲足":h.verdict==="后劲有限"?"时令不太托,后劲有限":h.verdict==="进得虚"?"时令最背,进也是虚进":h.verdict==="退得缓"?"时令还托着,退得慢":h.verdict==="退得实"?"时令也不托,退得实":h.verdict==="月破失据"?"又正好逢月破,进退都站不稳":"缺月建,先只当方向看";return`动爻的进退还要看时令:${r.lines.map(h=>`${h.position}爻${h.from}→${h.to}${h.type},${y(h)}`).join(";")}。`}function A(t){const r=t&&t.yingqi;if(!r||!Array.isArray(r.triggers)||!r.triggers.length)return"";const y=r.tempo==="偏速"?"大体偏近,近事更容易先见分晓":r.tempo==="偏缓"?"大体偏远,别指望立刻见分晓":r.tempo==="待解"?"眼下还有月破或旬空,得先等条件解除":"缺月建,快慢暂不定",h=r.triggers.map(N=>N.branch).join("、"),c=r.viaFushen?"(用神是伏神,先要出得来)":"";return`应期上${y};传统会留意${h}这几个地支${c}——这只是提示,不换算成具体哪天。`}function q(t){if(!t||!t.counts)return"";const r=(t.counts.旺||0)+(t.counts.相||0),y=(t.counts.囚||0)+(t.counts.死||0),h=t.month&&t.month.branch?`按${t.month.branch}月这段时令看`:"按起卦这天看",c=t.shi&&t.shi.monthState!=="unknown"?`代表你的世爻在${t.shi.monthState}`:"";return r>=4&&y===0?`${h},整张卦六爻的气多数是顺的,${c},眼下算是好推的时候。`:y>=4&&r===0?`${h},整张卦六爻的气多数被压着,${c},这几天更适合等而不是冲。`:`${h},整张卦六爻有顺有逆(旺相 ${r} 爻、囚死 ${y} 爻)${c?`,${c}`:""},成不成要看具体哪一爻在动。`}function Z(t){if(!t||!Array.isArray(t.targets))return"";const r=t.targets.find(h=>h.count>=2),y=t.groups&&t.groups.selfHua&&t.groups.selfHua.length?"其中有的宫自己化出去又落回自己,容易表现为「想得多、落得少」。":"";return r?`把命宫连同对宫与两个三合宫一起看,${r.incoming.length} 股力最后挤在「${String(r.palace).replace(/宫$/,"")}」这件事上——这件事会把好几个方面的劲都吸过来。${y}`:`把命宫连同对宫、两个三合宫一起看,四股力飞出去没有挤到同一处,这几件事之间牵连不深。${y}`}function j(t){const r=N=>Object.keys(ne).find(O=>N===O||N.startsWith(`${O} `))||"",y=t.find(N=>r(N)),h=y?ne[r(y)]:"",c=t.filter(N=>N!==y&&/^化[进退]神 /.test(N)).map(N=>ne[r(N)]).filter(Boolean);return h+c.join("")}const $={wealth:"「工作与职业选择」与「时间窗」",career:"「事业发展」与「时间窗」",love:"「爱情与感情」",health:"「健康状况」",study:"「事业发展」与「时间窗」",travel:"「整体运势」与「时间窗」",general:"「整体运势」与「看盘顺序」"};function b(t,r,y={}){if(!t||!t.system)return"";const h=U(r&&r.question).trim(),c=r&&r.direction||"general",N=t.system==="bazi"?$[c]||$.general:"下面与你的问题最贴近的那一节",O=h?`你问的是「${h}」。`:"";if(t.system==="bazi"){const we=t.dayMaster||{},Ye=t.strength||{},d=t.frame&&t.frame.yongshen||{},I=Q(d.favor),F=Q(d.avoid),oe=Array.isArray(d.neutral)&&d.neutral.length?`(其中${d.neutral.map(ze=>ze.element).join("、")}在命局里几乎没有分量,算中性偏忌,不必刻意避)`:"",te=(t.liunian||[])[0],fe=[O+`先说结论:你是${U(we.stem)}${U(we.element)}日主,命局${U(Ye.level,"待定")}${I?`,顺${I}、忌${F}${oe}——往${I}的方向安排事情会更省力`:""}。`,te&&te.ganzhi?`${U(te.year)} 年是${te.ganzhi}年(${U(te.luck&&te.luck.tier,"平")}),这是「大环境」这一层。`:"",`具体到你问的这件事,重点看${N}。`];return h||(fe[fe.length-1]=`没指定问题,就按${N}的顺序往下看。`),fe.filter(Boolean).join("")}if(t.system==="ziwei"){const we=t.soul||{},Ye=t.body||{},d=t.bureau||{},I=t.lifeMaster||"",F=t.flyChains&&t.flyChains.忌,oe=F&&F.steps.length?`还有一条线值得留意:${F.path.map(te=>te.replace(/宫$/,"")).join(" → ")}——这几件事在你身上是连着转的,一件卡住,容易牵动下一件。`:"";return[O+`先说结论:你的命宫落${U(we.branch,"—")}宫${d.name?`、${d.name}`:""}${I?`,命主${I}`:""}${Ye.lands?`,身宫落在「${Ye.lands}」——这张盘的重心在这件事上`:""}。`,oe,Z(t.flyComposite),h?`具体到你问的这件事,重点看${N}。`:`没指定问题,就按${N}的顺序往下看。`].filter(Boolean).join("")}if(t.system==="liuyao"){const we=t.ben||{},Ye=t.cast&&t.cast.movingPositions||[],d=t.bian||{},I=t.body&&Array.isArray(t.body.labels)?t.body.labels:[],F=j(I);return[O+`先说结论:本卦是${U(we.name,"—")}${we.palace?`(${we.palace})`:""}${Ye.length?`,第 ${Ye.join("、")} 爻动,变为${U(d.name,"—")}`:",六爻安静没有动爻"}。${F}${_(t.useGod,t.fushenAccess)}${H(t.useGodStrength)}${o(t)}${A(t)}${q(t.hexStrength)}`,"断卦的落点在「世爻」(代表你)和「动爻」(事情的推动点),下面「看盘顺序」就按这个次序展开。"].join("")}return O?`${O}下面按五个维度拆开看,重点看${N}。`:t.system==="qimen"?`下面按排盘事实、用神、宫位条件几节展开${c!=="general"&&r&&r.directionLabel?`,取「${r.directionLabel}」方向的用神`:""}。`:c!=="general"&&r&&r.directionLabel?`下面按五个维度拆开看,重点看与「${r.directionLabel}」方向最贴近的那一节。`:"下面按五个维度拆开看,没指定问题,就从头依次读。"}function p(t,r,y={}){if(!t||!t.system)return"";if(t.system==="bazi"){const h=t.strength||{},c=t.frame&&t.frame.yongshen||{},N=Q(c.favor),O=Q(c.avoid),we=Array.isArray(c.disputed)&&c.disputed.length?`有一点要说明:${c.disputed.map(oe=>oe.element).join("、")}在扶抑里算${c.disputed.map(oe=>oe.favorRole).join("、")}(能${c.disputed.map(oe=>oe.favorVerb).join("、")}),按调候看又偏忌(${c.disputed.map(oe=>`${oe.climate}盘忌${oe.element}`).join("、")}),两派说法不一;实际用在什么时候,看季节和环境取舍,不必当成绝对的好或坏。`:"",Ye=re[h.level]||"力量偏中性",d=c.tiaohou&&c.tiaohou.note?`另外,${c.tiaohou.note},所以「暖一点、亮一点」的环境通常更舒服。`:"",I=(t.liunian||[]).find(oe=>oe.suiyun&&Array.isArray(oe.suiyun.signals)&&oe.suiyun.signals.length),F=I?`再往后看,${I.year} 年${I.ganzhi}是${I.suiyun.signals.map(oe=>oe.type).join("、")}——传统上把它当作「变化感强一点」的提示,既不是好消息也不是坏消息,遇上时多留个心眼就好。`:"";return`你的命局属于「${U(h.level,"中性")}」:${Ye}。${N?`能补${N}的环境(行业、方位、作息、相处的人)会让你省力;${O?`而${O}偏重的场合容易空耗,能绕就绕。`:""}`:""}`+we+d+F}if(t.system==="ziwei"){const h=t.body||{},c=t.flyChains&&t.flyChains.忌,N=c&&c.steps.length?"你身上有个绕不开的规律:几件事是连着转的,一件卡住,后面就跟着慢下来。":"",O=t.flyComposite,we=O&&Array.isArray(O.targets)?O.targets.find(I=>I.count>=2):null,Ye=!O||!Array.isArray(O.targets)?"":we?`再往深一层,四股力最后也压在「${String(we.palace).replace(/宫$/,"")}」上——几个方面的劲都往这儿聚。`:"再往深一层,四股的力没有全挤到一处,这几件事之间牵连不深。";return["紫微讲的是「你与环境怎么互动」,不是谁好谁坏——同一件事换个环境、换个人配合,结果就不一样。",h.lands?`真正让你上心的,多半是「${h.lands}」这件事,做别的总会分心。`:"",N,Ye].filter(Boolean).join("")}if(t.system==="liuyao"){const h=t.ben||{},c=t.cast&&t.cast.movingPositions||[],N=t.body&&Array.isArray(t.body.labels)?t.body.labels:[],O=j(N);return`${U(h.name,"这一卦")}讲的是一个「${c.length?"正在动、还会变":"暂时不动、先看清"}」的局面——${c.length?"有动爻,说明事情还有转圜空间,不是死局。":"六爻安静,说明当下更该观察而不是硬推。"}${O}${_(t.useGod,t.fushenAccess)}${H(t.useGodStrength)}${o(t)}${A(t)}${q(t.hexStrength)}`}return""}function w(t,r,y={}){if(!r||r.system!=="bazi")return"";const h=r.frame&&r.frame.yongshen||{},c=Q(h.favor),N=Q(h.avoid),O=r.strength||{};return t==="overall"?`一句话:底子${U(O.level,"中性")},往${c||"有利方向"}走省力。`:t==="work"?`一句话:挑${c||"喜用"}属性的活儿,比硬碰${N||"忌神"}省力。`:t==="career"?`一句话:你的上升方式,偏向把${c||"长处"}做成看得见的成果。`:t==="love"?"一句话:关系里先看清自己要什么,再决定推进速度。":t==="health"?"一句话:作息稳定比任何调理都优先。":""}const g=[["日主","你出生那天对应的天干,代表「你自己」,整张盘都围着它转。"],["用神","这张盘里最需要补的那一类力量,顺着它做事更省力。"],["忌神","补得越多越别扭的那一类力量,不是坏东西,只是对你性价比低。"],["调候","按出生季节调温补缺:冬天的盘怕冷,夏天的盘怕燥。"],["格局","把整张盘的结构归成一个类型,用来看「你适合怎么打」。"],["十神","把五行关系翻译成人事:财=资源、官杀=规则与压力、印=支持、食伤=表达、比劫=同伴。"],["月令","出生的月份,是判断强弱最关键的一个位置。"],["日支","日柱的地支,也叫「配偶宫」,看亲密关系的第一落点。"],["大运","十年一换的大阶段,决定这十年顺不顺手。"],["流年","每一年的干支,看当年的具体环境。"],["空亡","落到空亡的字,力量打折,事情容易「看着有、抓不住」。"],["伏神","卦里没出现的六亲,藏在同宫首卦的对应爻下,用时才看得见。"],["世应","世爻代表你,应爻代表对方或外部环境。"],["动爻","会变的爻,是事情「往哪走」的推动点。"],["纳甲","给六个爻配上天干地支,六亲与生克才有依据。"],["四化","禄权科忌四种变化,标记星曜在这一步运里扮演什么角色。"],["大限","紫微里的十年阶段,作用类似八字的「大运」。"],["庙旺","星曜落在某宫时的力量档位:庙、旺最强,得、利、平居中,不、陷最弱。"],["三方四正","从命宫出发的三合三方加对宫,共四个宫位,是全盘最核心的势力范围。"],["命主","紫微里另有一颗命主星,补命宫看不到的那一层底色。"],["身主","紫微里另有一颗身主星,管后天的行动与身体那一面。"],["五行局","用纳音给整张盘定一个局(水二局、木三局等),大限的起法以此为准。"],["自化","宫干让本宫星曜自己生出四化,代表这一宫的事容易自己发酵。"],["飞星","拿一个宫的宫干去四化别的宫,看事情从哪来、往哪走。"],["正曜","十四主星。「无正曜」指命宫没有主星,要借对宫来看。"],["借对宫","命宫无主星时借对宫主星来读,性格更依赖环境与身边的人。"],["双星","两主星同宫,按组合读,不能只看其中一颗。"],["墓库","地支里的仓库。五行入墓代表这股力量收着,不是没有。"],["伏吟","干支重复出现,事情容易原地打转、反复。"],["反吟","天克地冲,变动与对撞的意味更明显。"]],m={liuyao:{用神:"你问的这件事对应的那一类六亲,断卦先把它找出来。",月令:"起卦时的月份,用来看各爻旺不旺。",日支:"起卦当天的地支,与月建一起决定爻的力量。",大运:"六爻不看大运,这里只取当前这一件事的象。",流年:"六爻一般不看流年,看的是眼下这一卦的时段。"},ziwei:{用神:"紫微斗数以「用神宫」的强弱看事情,不取五行喜忌那套。",日主:"紫微斗数不看日主,看的是命宫与星曜组合。",十神:"紫微斗数用四化与星情,不用十神。"}};function f(t,r){const y=(Array.isArray(t)?t:[t]).filter(Boolean).join("");if(!y)return[];const h=m[r]||{};return g.filter(([c])=>y.includes(c)).map(([c,N])=>({term:c,plain:h[c]||N})).slice(0,10)}const s={career:["这份工作要不要动,明年哪几个月是窗口?","和上级的关系该硬碰还是绕开?","现在转方向,代价主要在哪儿?"],wealth:["这笔钱现在投出去合适吗?","我的财主要来自工资还是副业?","今年哪段时间最容易破财?"],love:["这段关系能走到哪一步?","什么时候适合把关系定下来?","我在关系里最容易忽略什么?"],health:["哪段时间身体最需要留意?","作息怎么调最划算?","查体和作息之外,还有什么是能自己控制的?"],study:["今年再考一次,胜算在哪、短板在哪?","复习节奏该怎么排?","要不要换目标院校或岗位?"],travel:["这次出门顺不顺,哪天走更好?","换个城市生活,合不合适?"],general:["今年最该抓的一件事是什么?","最该避开的坑在哪?","接下来三个月,什么时间点值得留意?"]};function i(t,r){const y=r&&r.direction||"general";return(s[y]||s.general).slice(0,3)}return{buildAnswer:b,buildPlain:p,dimensionPlain:w,buildGlossary:f,buildFollowups:i}})(),J["interpret-knowledge"]=(function(){const U=[{id:"bazi-yueling-siquan",system:"bazi",dims:["overall","career"],gist:"月令不是「一个月」,是当月最有权的那一个字。",detail:"月令藏干按本气、中气、余气分日用事,本气当权的时间最长。所以判旺衰先看日主在月令是得令还是失令——得令者未看全局,已有三分底气。本插件按 30 日表算出「生在本月第几日、哪一干当权」,给的是月内轮值这一层细节;旺衰与取格仍以月令本气、透干与会支为主,不随轮值改判。三命通会卷二·论人元司事另列一套日数(寅月五日/五日/二十日),与本插件取的通行表不同;原文并列,不改判。",source:"《子平真诠》论用神;人元司权分日之说见《渊海子平》;三命通会卷二·论人元司事(典藏网 7529)另列一套日数",status:"variant",note:"各家对中气、余气各主几日分法不同(有 7/7/16、9/3/18 等多说);本插件固定通行 30 日表(如寅月戊7丙7甲16),节当日为第 1 日,第 31 日以后按本气算、不硬分摊。三命通会此本寅月作 5/5/20、卯月作 7/23,与通行表不同,两表各照原样。司权表与本柱藏干表口径不同(子月壬、卯月甲、午月丙、酉月庚、亥月戊只出现在司权表里),两表各照原样;取格不随轮值改判。"},{id:"bazi-tonggen-tougan",system:"bazi",dims:["overall","career"],gist:"天干是露在外面的样子,地支是藏在地下的根。",detail:"同一个五行,透在天干叫「显」,扎在地支叫「有根」。只有天干没有地支,是看着有、使不上劲;只有地支不通天干,是有实力、不显眼。判断一个人能不能扛事,看的就是根有多深。",source:"《滴天髓·干支总论》「天全一气,不可使地德莫之载;地全三物,不可使天道莫之容」",note:"常被署给《滴天髓》的「地支所藏之干,本静以待用,透出干头,则显其用矣。故干以通根为美,支以透出为贵」,出自《子平真诠》卷一论十干十二支的注文——滴天髓底本与沈孝瞻原文里都查不到这句,注文自己引的才是上面那句滴天髓。所以本卡引可核的原文,注文只作说明。",status:"settled"},{id:"bazi-wangxiang",system:"bazi",dims:["overall","health"],gist:"旺相休囚死是五行在当月的五种状态,不是吉凶等级。",detail:"以月令五行为基准:当令者旺、我生者相、生我者休、克我者囚、我克者死。它是「此刻谁说话有分量」的相对排序,换个季节就整体重排,不能当固定评价。",source:"《五行大义》旺相休囚死;历代命书沿用",status:"settled"},{id:"bazi-shensha",system:"bazi",dims:["overall","love"],gist:"神煞是标签,不是判决。",detail:"神煞给盘面加注脚(如「这个组合常被叫作天乙贵人」),吉凶仍要看格局、旺衰、行运三件事。单见一颗凶煞不足以断凶,单见一颗吉星也不足以断吉——这是历代命书反复强调、而市面软件常忽略的一条。《滴天髓·女命章》说得更直接:「三奇二德虚好语,咸池驿马半推详」——三奇、二德是空口说好话,咸池、驿马顶多参考一半。",source:"《三命通会》神煞篇;《滴天髓·六亲论·女命章》贬神煞语;《子平真诠》力主「神煞不主吉凶」",status:"settled"},{id:"bazi-geju",system:"bazi",dims:["career"],gist:"先看月令能不能取格,取不到才论从格、化气。",detail:"月令有可用之神(透干或会支有力),按正格论;月令无用、全局一边倒,才考虑从格;日干与相邻天干五合、且月令有化神之气,才论化气格。顺序颠倒会把普通格局误判成特殊格局。",source:"《子平真诠》「论用神」;从化条件见《滴天髓》",status:"variant",note:"化气格成立条件各家宽严不一(是否要求月令为化神、是否允许有根),本插件按「有合且月令得化神之气」从严处理。"},{id:"bazi-tiaohou",system:"bazi",dims:["overall","health"],gist:"冬夏生人先调温,其余先看扶抑。",detail:"调候是针对出生季节的温度校正:冬生水冷木寒,先要火来解冻;夏生火炎土燥,先要水来润泽。调候与扶抑冲突时,多数命书主张先调候,因为寒暖失衡时,再怎么补强弱也难受。",source:"《穷通宝鉴》(拦江网)调候用神体系",status:"variant",note:"调候与扶抑的优先级各家有争论,也有主张以扶抑为主、调候为辅的。本插件同时给出两者,不替你定谁优先。"},{id:"bazi-suiyun",system:"bazi",dims:["overall","career"],gist:"大运管十年基调,流年管当年触发。",detail:"大运像换了条路,流年像这条路上某一段的天气。岁运并临(当值大运与流年干支相同)、运年反吟(大运与流年天克地冲)、大运伏吟(大运与原局某柱干支相同)、大运反吟(大运与原局某柱天克地冲)、流年伏吟(流年与原局某柱干支相同)、流年反吟(流年与原局某柱天克地冲),是传统上标记「变动较大」的年份,属于提示而非断语。本插件逐年标出六类信号:当值大运按该年立春到次年立春的区间取,交运落在年内时前后两步并列;大运与本命四柱的伏吟/反吟整步大运都在,会连续多年重复列出;只标干支重复与对冲,不折分数。原文里「返吟」指岁运与日柱相对、「伏吟」指岁运压日,与本插件「干支相同为伏吟、天克地冲为反吟」不是同一套定义,两者并列、不合并。",source:"《三命通会》卷二·总论岁运(https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7539.html);岁运并临之说出自《渊海子平》",status:"variant",note:"「岁运并临主大凶」是流传最广也最被滥用的说法,本插件只作变动提示,不断吉凶;大运与本命四柱的伏吟/反吟会连续多年出现,不逐年加重;四柱十神层面的引化也未叠入。"},{id:"bazi-liuqin",system:"bazi",dims:["love"],gist:"六亲有「星」也有「宫」,两处一起看才立体。",detail:"星是十神(男命财为妻、女命官杀为夫、印为母一类),宫是四柱位置(年月日时对应祖上、父母、配偶、子女)。星宫同参:星现而宫破,缘分有但过程有阻;宫稳而星不现,关系平淡而少波折。",source:"星宫同参见《子平真诠》《滴天髓》",status:"variant",note:"女命以官杀为夫是主流,亦有以日支为主、官杀为辅的取法;本插件按主流取,并在文案中说明。"},{id:"bazi-kongwang",system:"bazi",dims:["overall"],gist:"空亡不是「没有」,是力道打折、抓不实。",detail:"日柱所在旬之外的两个地支为旬空。落空之支力量减弱,但逢冲、逢合、逢填实之期可以「出空」,届时又恢复作用。所以空亡要看它是否被救,不宜一见到空就断无。",source:"旬空出空之说见《渊海子平》;六爻《卜筮正宗》用法相通",status:"variant",note:"空亡是否逢空即空,各家分歧较大,本插件只标注空亡,不做吉凶推断。"},{id:"bazi-xingchong",system:"bazi",dims:["overall","love"],gist:"合能解冲,冲也能破合——关系不是单向的。",detail:"刑冲合害要按力的大小与先后比:两支相冲,若有第三支与其中一支相合,冲力被牵制;反之先合后冲,合局也会被冲散。三合成局通常要求月令或日主参与,否则只是拱合,力量有限。",source:"《三命通会》论刑冲合害",status:"settled"},{id:"bazi-sanming-duizhao",system:"bazi",dims:["overall","career"],gist:"同一个格,子平真诠讲怎么用,三命通会讲怎么取。",detail:"两书不是谁替代谁:子平真诠以月令取用神、论顺逆成败,重「用」;三命通会按十神逐格立论,重「取」与「忌」。同看正官格,前者问财印护官、伤煞混杂,后者先说「止许一位,多则不宜」。此本正财、偏财分章,两格各取本格一条;七杀没有单列「论偏官」,取卷五「官煞去留杂论」讲混杂时的去留。本插件把两条并列,不合并成一句断语。",source:"《子平真诠》论正官等篇;《三命通会》卷五、卷六论十神与官煞去留",status:"variant",note:"两书成书年代与流派不同,用语有出入;本插件照录通行本,不做校勘改字,也不替两家调和。"},{id:"bazi-geju-chengbai",system:"bazi",dims:["overall","career"],gist:"格有成有败:成中带忌会打折,败中有救还能转成。",detail:"月令取到格只是起点。成格要看有没有带忌——官逢财又逢伤、官透而被合、财旺生官又逢伤,都会把成格打折;败格也看有没有救应——印来解伤、合来清煞、劫来解财,败中可转。所以判格不能只报一个格名。",source:"《子平真诠》九、论用神成败救应",status:"variant",note:"各家对成格条件与带忌轻重的排序不同(有先看刑冲、有先看合化),本插件只把原文与成败方向并列摆出,不逐盘判成破。"},{id:"bazi-huagi-bianhua",system:"bazi",dims:["overall","career"],gist:"月令用神会因合化而变:同一个起点,取用可以不同。",detail:"用神本从月令取,但月令藏干不一,透出的字不同、支会合局不同,取用就跟着变:丁生亥月本为正官,支全卯未化为印;己生申月本属伤官,藏庚透壬化为财。所以看到化气格,要回头核对月令与合局,不能只按本气定格。",source:"《子平真诠》十、论用神变化;化气条件各家另论",status:"variant",note:"化气格成立条件各家宽严不一(是否要求月令为化神、日主是否允许有根),本插件只列条件、附原文,不据此断定化气已成。"},{id:"bazi-zaji-quyong",system:"bazi",dims:["overall","career"],gist:"辰戌丑未是杂气月:先看透干,再看会支。",detail:"四墓(辰戌丑未)每个字都藏着不止一气,用神不一,所以叫杂气。子平真诠的取法是:藏干透到天干的先用(甲生辰月,透戊用偏财、透癸用正印、透乙用月劫);没有透干,再看地支有没有与月支会成三合局(辰月逢申子会水,就取水印)。本插件按「透干 → 三合会支 → 本气」的次序取格,依据里写明走的是哪一条,并把《论杂气如何取用》附在结果里。",source:"《子平真诠》十六、论杂气如何取用",status:"variant",note:"原文说「兼透则兼用」,但只给一个格名时总要落到一个藏干;本插件只取最先透出的那一干,会支也只认三合、不认三会方,且不判原文所说的「有情 / 无情」,取舍次序各家另有说法。"},{id:"bazi-zhuanwang-yuanwen",system:"bazi",dims:["overall","career"],gist:"专旺五格各有专章:成格要看局全带印,不只看身强。",detail:"三命通会卷六曲直、炎上、从革、润下、稼穑五篇各立一格:曲直须亥卯未带亥,炎上须寅午戌带寅,从革须巳酉丑带丙丁巳午,润下须申子辰全,稼穑取四季土。原文的条件都比「身强」细:要局全、要带印或带火炼金,还要防冲刑死绝。本插件把命中的那一篇附在结果里,只作结构说明。",source:"《三命通会》卷六·曲直、炎上、从革、润下、稼穑",status:"variant",note:"专旺是否必须成方局、是否允许一点官杀财,各家宽严不一;原文五篇之间条件也不齐(润下重忌冲刑、稼穑重四季土)。本插件只按「同类+印 ≥5、官杀财皆弱」列出并附原文,不据此断贵贱,也不补专旺的破格条件。"},{id:"bazi-congge-yuanwen",system:"bazi",dims:["overall","career"],gist:"从格是身无归处才「弃命」相从:一见根气就破格。",detail:"三命通会卷五弃命从煞、卷六弃命从财各有一篇:从煞要煞重身柔、四柱无一点比肩印绶;从财要财会成局、日干无气,原文说「若逢根气,命损无猜」。两篇都说行运喜财煞旺地、忌扶身。本插件只在盘面出现从财格或从杀格时附上对应原文;从儿、从强没有单章,不硬凑。",source:"《三命通会》卷五·弃命从煞;卷六·弃命从财",status:"variant",note:"从格成立条件各家分歧很大:是否允许日主有微根、阴阳干从与不从(原文说阳木不能从)、从儿与从强算不算正从,说法不一。本插件只列结构与原文,不据此断吉凶,也不补从儿、从强的原文。"},{id:"bazi-tongguan",system:"bazi",dims:["overall","career"],gist:"两神相战要有中间一行接上,对峙才化成相生。",detail:"用神与忌神两行在局中各 ≥1.5 分、又正好相克时,五行里只有一行能接上:克方生它、它再生被克方(金克木则以水为关,土克水则以金为关)。滴天髓用织女、牛郎隔关相望作比,说「此关若通也,相邀入洞房」。本插件只按局中分量点出这一行,并写明它是不是忌神。",source:"《滴天髓》通神论·通关;五行生克为通行说",status:"variant",note:"各家对「两神相战」取哪两神不一(有取日主与官杀、有取用神与忌神、有取局中最旺两行),本插件固定取「用神与克它的忌神,且两行各 ≥1.5 分」;通关一行只按五行生克唯一确定,不据此断吉凶,也不判通关之力是否够用。"},{id:"ziwei-sanfang",system:"ziwei",dims:["overall","career"],gist:"看一个宫,要看它对面和左右三个宫。",detail:"三方四正=本宫加对宫、三合两宫。命宫的三方是财帛、官禄、迁移,代表钱、事、外出的环境;只看本宫会漏掉一半信息,因为紫微断的是宫与宫之间的互动,不是单宫星曜的堆叠。",source:"《紫微斗数全书》三方四正说",status:"settled"},{id:"ziwei-poge",system:"ziwei",dims:["overall","career"],gist:"格局成立不等于落定:三方四正见煞忌空劫,吉格也会破格。",detail:"《紫微斗数全书》论人命入格说「若居陷地又加杀化忌,为下格之命,不以入格而论也」;谈星要论也说「及命宫星辰庙旺,三方有恶星守照破格」。本插件因此把「成格」与「破格」分开判:吉格先按星位成立,再看命宫三方四正是否有擎羊、陀罗、火星、铃星、地空、地劫或化忌;有则标破格并写明是哪颗星落在哪一宫。忌格本身是风险结构,不另判破格。",source:"《紫微斗数全书》卷三·论人命入格、谈星要论",status:"variant",note:"破格判据本插件统一取「三方四正见煞忌空劫」,未逐格细分煞轻煞重;各派对「入格」宽严亦有异说,故只作结构提示。"},{id:"ziwei-sihua",system:"ziwei",dims:["overall","career"],gist:"四化是变化的方向,不是吉凶等级。",detail:"生年四化定先天基调(禄主得、权主掌、科主名、忌主执),宫干四化定后天演变;自化是宫干化出的星就在本宫,主此宫之事自己会起变化。同一个忌,落在六亲宫与落在财帛宫,含义完全不同。",source:"《紫微斗数全书》四化篇;宫干飞化见飞星派",status:"variant",note:"三合派重星情与格局、飞星派重宫干飞化,两派读法差异明显。本插件给出生年四化与宫干自化,未做完整飞星串连。"},{id:"ziwei-miaowang",system:"ziwei",dims:["overall"],gist:"庙旺得利平不陷,说的是星在这个宫舒不舒服。",detail:"同一颗星落在不同宫位,发挥程度差别很大。庙旺是得地,平陷是不得地;不得地不等于不好,只是这颗星的长处不容易发挥,需要借三方吉星来补。",source:"《紫微斗数全书》诸星庙旺表",status:"variant",note:"太阳、太阴在少数宫位的庙旺标注各家有出入;本插件只标十四主星,不硬标辅星。"},{id:"ziwei-daxian",system:"ziwei",dims:["career"],gist:"大限定十年主题,流年定当年事件。",detail:"大限看这十年主要在忙什么,流年看其中某一年被什么触发。两者的四化会叠在同一些宫位上,叠加处就是这十年里的关键点——只看流年而不看大限,容易把小事放大。",source:"《紫微斗数全书》大限流年篇",status:"settled"},{id:"ziwei-shengong",system:"ziwei",dims:["overall"],gist:"命宫是「你本来是谁」,身宫是「你后来把力气放在哪」。",detail:"身宫不独立成宫,而是寄在某一宫里(如寄财帛、寄官禄)。它标出中年之后的着力点:命宫强而身宫弱,多为主观强但落地慢;身宫得地,做事更容易见效。",source:"《紫微斗数全书》命身宫说",status:"variant",note:"身宫寄宫的取法各家一致,但身宫与命宫谁更重,各家侧重不同。"},{id:"ziwei-kongjie",system:"ziwei",dims:["overall","career"],gist:"空劫主计划外的变动,遇禄则财来财去。",detail:"地空地劫在紫微里代表落空与抽离:落财帛多主钱财不易积累,落官禄多主方向反复。若与禄存、化禄同宫,常见进得快、出得也快;与忌同宫则容易因变动而受挫。",source:"《紫微斗数全书》空劫条",status:"variant",note:"空劫是否见禄反吉,各家说法不一,本插件只提示变动性质,不判吉凶。"},{id:"ziwei-ji-duo",system:"ziwei",dims:["overall","career"],gist:"吉凶看一方里吉星与凶星谁多,不看单颗星的名字。",detail:"卷一太微赋说「诸星吉,逢凶也吉;诸星凶,逢凶也凶」,重补斗数彀率把同一句写作「诸星吉多逢凶也吉,诸星恶多逢吉也凶」——措辞小异、口径一致:判的是会合星的多数,不是某一颗的标签。本插件因此把破格条件写成「三方四正见擎羊陀罗火铃空劫或化忌」的计数,而不是给某颗星定吉凶;同一颗擎羊,在吉多之宫与凶多之宫作用不同,煞与忌也不再加权分层。",source:"《紫微斗数全书》卷一·太微赋、卷一·重补斗数彀率",status:"variant",note:"彀率多一个「多」字,太微赋只说吉凶;本插件按计数取彀率一说。煞与忌谁重、空劫与羊陀谁轻,各家排序不同,本插件不分档,只并列列出会到的星与所在宫。"},{id:"ziwei-shixian-jue",system:"ziwei",dims:["overall"],gist:"庙旺表之外还有两诀:按安命之宫取吉、按安命之宫取破。",detail:"卷一在逐星庙旺表之外留了两组按宫取星的诀:十二宫诸星得地合格诀逐宫列吉(午安命喜紫微天府太阳、亥安命最喜太阴),十二宫诸星失陷破格诀逐宫列破(申酉安命天机巨门为破格,子丑安命作「子午天机丑巨铃,此星落陷果为真,纵然化吉更为美,任他富贵不清宁」)。诀的主语是「命宫落在哪一支」,庙旺表的主语是「某颗星落在哪一支」,两层不是一回事,同一颗星甚至可以判反——卷三天机表作「庙子午」,卷一失陷诀却把子午的天机当落陷论。本插件的庙旺标注按通行表取,两诀只作解释层并列,不另开一套判定。",source:"《紫微斗数全书》卷一·十二宫诸星得地合格诀、十二宫诸星失陷破格诀",status:"variant",note:"诀文以安命之宫为主语,与逐星庙旺表不同层,两处结论可以相反(天机:卷三表作「庙子午」,卷一失陷诀把子午天机当落陷论);本插件只实现通行庙旺表,两诀不改格局判定。"},{id:"ziwei-nanv-ming",system:"ziwei",dims:["overall","love"],gist:"男命先看财帛官禄迁移,女命先看身命福德,次序不同。",detail:"卷三「论男女命同异」明说男女命星辰各别:男命先看身命,次看财帛、宫禄、迁移,俱要庙旺为吉、落陷聚凶为凶;女命先看身命吉凶,次看福德宫。卷一另有《女命骨髓赋》专篇,取星与减等各不相同。本插件排盘只按生时定宫与星,不因性别改格局成立条件;性别用在两处安星事实上——大限的顺逆(阳男阴女顺行、阴男阳女逆行)与小限起法。篇中贬抑女性的旧时措辞只作原文保留,不写进解读文案。",source:"《紫微斗数全书》卷三·论男女命同异;卷一·女命骨髓赋",status:"variant",note:"性别是否要改整套取法,各家口径不一;本插件只在安星层用性别(大限顺逆、小限),三方四正与格局判定不分两套。女命专篇的断语属旧时代措辞,只存原文、不套用。"},{id:"ziwei-feixing",system:"ziwei",dims:["overall","career"],gist:"宫干定四化,星落哪宫,这一宫的力就往哪边走。",detail:"生年四化是先天带的,飞星四化是宫位自己去找的:每一宫的宫干定出禄权科忌四颗星,那几颗星落在哪一宫,就是这一宫的力气往哪边使。所以同一个「化忌」,从命宫飞出去和从财帛飞出去,说的是两件事。",source:"《紫微斗数全书》四化篇;中州派宫干四化传法",status:"variant",note:"飞星派(如钦天四化)把宫干四化当主线,三合派只作辅助;庚干四化各派另有异说,本插件取中州派常用表。飞星串连与三方四正复合飞化现已给出,但未叠大限流年四化。"},{id:"ziwei-sanfang-fei",system:"ziwei",dims:["overall","career"],gist:"三方四正一起飞,看四股力会到哪一宫。",detail:"单宫飞化只看本宫宫干把四化送去哪里;三方四正复合飞化把本宫、对宫与两个三合宫共四宫的宫干四化同时摊开,约 16 条,按落宫归堆,落到同一宫的就是会照。会在一处的化越多,那一宫被牵动的力道越集中;两忌以上会宫、禄忌同宫、三化以上会宫、宫干化出又落回本宫(自化),是这一层最常取的几种情形。",source:"《紫微斗数全书》四化篇;飞星派三方四正同飞说",status:"variant",note:"飞星派对「三方四正一起飞」是否成立、会照要不要折成分数,各家口径不一;本插件只做落宫归堆与会照标记,不折分数,也未叠大限流年四化。"},{id:"ziwei-jichuanji",system:"ziwei",dims:["overall"],gist:"忌转忌:化忌落进哪一宫,就从那一宫再化出去。",detail:"串连是跟着同一支化逐宫走:命宫化忌入父母,父母宫的宫干再化忌往下一宫,直到绕回走过的宫成环。环越短,越容易在同一组宫位上反复;走不出去(传统说「忌出不去」)不等于凶,只是这条力没有别的出口。",source:"《紫微斗数全书》四化篇;忌转忌串连法",status:"variant",note:"串连几跳为止、是否允许借对宫飞化,各派不一;本插件只跟单一支化逐宫走,走满 12 宫或成环即停。"},{id:"ziwei-zaoyao",system:"ziwei",dims:["overall","work","health"],gist:"杂曜多而轻:全表六十余颗,本盘默认只排 49 颗,开开关才补十二颗。",detail:"通行全表的杂曜按「定宫依据」分四路:解神、天巫、天月、阴煞只看生月(如解神「正二在申三四在戍,五六在子七八在寅」);天官、天福、天厨只看生年干(如天厨「甲丁食蛇口,乙戊辛马方」);蜚廉、天德、年解只看生年支(天德「起酉宫,顺至生年」,年解「戌宫逆行去」);天才、天寿借命宫与身宫——自命宫/身宫起子年,顺数到本生年支安之。十二颗各有各的诀,没有一条通用规则能推出来,所以只能逐颗查表。它们的作用是补细节(口舌、病符、贵显、寿年、香火),不改主星与四化搭出的骨架,这也是默认盘不排它们的原因:星一多,容易被当成一条条独立的吉凶判决。",source:"通行安星诀:王亭之《中州派紫微斗数初级讲义·安星法》、网络《紫微斗数安星法口诀》本、《全书安星法》转录本,三处并核",status:"settled",note:"同名不同星不合并:年支系的蜚廉≠博士十二神的飞廉,按年安的天德≠岁前十二神的天德,年解≠按月安的解神(月解)。龙德、月德虽可按年支安,但与岁前神煞同名异宫,本库不另立。转抄例子有一处与自家诀文相抵(天才:命宫在午、戌年生人,按诀应在辰宫,却写「巳宫安天才」),判为笔误,一律以诀文为准。"},{id:"liuyao-yongshen",system:"liuyao",dims:["overall","work","wealth","love","health","study"],gist:"问什么就以哪一类六亲为用神,这一步定错,后面全盘白算。",detail:"取用按所问之事:求财与男命妻缘看妻财,工作职位考核看官鬼,文书合同学历看父母,健康以官鬼为病、子孙为医药,出行以世爻为用,感情男看妻财、女看官鬼。用神在卦上就取那一爻,出现两处记「两现」;用神不上卦,按本宫首卦同六亲的爻位取伏神,再看飞伏生克。本插件把这些位置与动变、旬空、卦体标签一一对上,但不替你选两现之中的主用。",source:"《卜筮正宗》用神章、伏神章;《增删卜易》用神章",status:"settled"},{id:"liuyao-wangshuai",system:"liuyao",dims:["overall"],gist:"月建管当令,日辰管生杀。",detail:"月建决定这一爻在这个月有没有气;日辰能生能克能冲能合,作用更直接。月破之爻当月无力;日冲则看动静——静爻被日冲为暗动,动爻被日冲为冲散。",source:"《卜筮正宗》月建日辰章",status:"settled"},{id:"liuyao-dongbian",system:"liuyao",dims:["overall"],gist:"动爻是「事情自己在动」的那一处。",detail:"动爻能生克静爻,静爻不能反克动爻。变爻对动爻有回头生、回头克两种反作用;化进神(如寅化卯)主加强,化退神(如卯化寅)主减弱。一爻独发看此爻,多爻乱动则看用神受不受伤。",source:"《卜筮正宗》动变章;《增删卜易》进神退神",status:"settled"},{id:"liuyao-shiying",system:"liuyao",dims:["overall","love","work"],gist:"世是自己这一头,应是对面那一头,两者生克定难易。",detail:"八宫每卦都定死一个世位与一个应位:首卦世在上爻,一世到五世依次落在初爻到五爻,游魂回到四爻、归魂回到三爻,应爻与世相隔三位。世爻看自己这头的状态,应爻看对方、看所问的那一头——应生世、应合世好办,应克世多阻,应爻旬空或对世爻动都有各自一层意思。本插件按纳甲实排给出世应爻位、六亲干支与两者生克,只列条件,不替你把「对方」具体化成某一个人。",source:"《京氏易传》卷上逐卦标世应;《火珠林》世应相克;《黄金策·总断千金赋》世应句",status:"variant",note:"世位序(首卦上爻、一至五世、游魂四、归魂三)本插件按通行动诀实现,与《京氏易传》逐卦注文相符——原书逐卦标注而不是一条口诀;「应爻隔三位」是这一系列实例的推步通则。应爻是否即所指之人,各家取法不同(有派别专以应爻为对手,有派别按六亲取用而不应爻虚设),本插件两说并列、不代选。"},{id:"liuyao-fushen",system:"liuyao",dims:["overall"],gist:"用神不上卦,就去本宫首卦的同位取伏神。",detail:"本卦六爻里没有用神那一类六亲,就叫用神不上卦。取法是回到本卦所属宫的首卦(八纯卦),找出该六亲所在的爻位,那一爻即伏神,本卦同一爻位上的爻叫飞神。伏神要「得出」才有用:飞神生伏神、伏神克飞神、日月生扶都算得力;飞神克伏神则受压难出。本插件给出伏神爻位、干支五行、飞伏生克,并按月建日辰归成四档出伏条件(可出 / 有助有压 / 受压难出 / 未得助);只判条件,不出应期日期。",source:"《卜筮正宗》伏神章;《增删卜易》伏神篇",status:"variant",note:"首卦里同一六亲也可能出现两次(如乾宫乾为天的父母在三爻与上爻),此时取哪一爻为伏神各家不一;本插件把候选都列出并标「伏神两现」,不代选。出伏条件的归并口径:飞生伏、伏克飞、日辰生/比和、月建旺/相算助,飞克伏、日辰克、月破算压;有助无压为「可出」,有助有压为「有助有压」,有压无助为「受压难出」,两者都无为「未得助」。四档只并列条件、不排各家优先级;旬空只标出,不并入档位。应期各家分歧更大,仍不输出日期。"},{id:"liuyao-yongshen-shuai",system:"liuyao",dims:["overall","work"],gist:"用神旺不旺,看月建给的气与日辰当天的扶克。",detail:"月建管「这一段时令」:爻五行与月支五行同气为旺、受月令生为相、生月令为休、克月令为囚、被月令克为死。日辰管「当天这一股力」:日辰生爻为生、克爻为克、同气为比和,反过来则是爻泄日、爻耗日。此外月建冲爻叫月破,日辰冲静爻叫暗动、冲旬空之爻叫冲空。本插件把这几项折成标签逐爻列出,不折成分数。",source:"《增删卜易》月建章、日辰章;《卜筮正宗》月建论",status:"variant",note:"月破、暗动、冲空三者各家取法不完全一致(有派别把日冲动爻也叫暗动,有派别只认旺相之爻暗动);本插件按「月建冲=月破、日冲静爻=暗动、日冲旬空=冲空」这一套给标签,并注明用了哪一支月建。"},{id:"liuyao-quanggu-shuai",system:"liuyao",dims:["overall","work"],gist:"全卦逐爻看月建,才看得出气聚在哪一头。",detail:"月建管这一段时令的旺衰、日辰管当天的扶克,落到全部六爻逐爻判定:每爻都出月令五态(旺相休囚死)与日辰五关系,并标月破、暗动、冲空。世爻、应爻、动爻与旬空另标,五态分布能看出气是聚在世应还是散在旁爻——用神只是其中一处落点,不看全卦容易把一处当全局。",source:"《增删卜易》月建章、日辰章;《卜筮正宗》六爻旺衰论",status:"variant",note:"各家对月破、暗动、冲空的取法不完全一致,是否给六爻折力重(分数)分歧更大;本插件只给状态标签与五态分布,不折分数。"},{id:"liuyao-yingqi",system:"liuyao",dims:["overall","career"],gist:"应期是「什么时候见分晓」,不是「哪天」。",detail:"近事以日计、远事以月计;常见取法是等用神逢值、逢冲、逢合之期,或等忌神受制之期。本插件只做前一半:把用神(不上卦则取伏神)的逢值、逢冲、逢合三支列出,旬空另标出空与冲空,再按月建五态给「偏速 / 偏缓 / 待解 / 未定」一个快慢方向;忌神受制与具体日期仍未做。应期法各家互有出入,同一卦不同取法可以差出很远,所以只作时间窗口的提示。",source:"《卜筮正宗》应期章;《增删卜易》",status:"variant",note:"应期取法(值日、冲、合、填实、旬空出空)各家优先级不同,本插件只并列触发支、不排先后,也不换算日期;近事以日计、远事以月计,用哪把尺由事情远近决定,不代选。"},{id:"liuyao-liushen",system:"liuyao",dims:["overall","love"],gist:"六神是这件事的味道,不是主角。",detail:"青龙主喜庆与正事、朱雀主口舌与文书、勾陈主田土与迟滞、螣蛇主虚惊与缠绕、白虎主伤损与急迫、玄武主暗昧与失脱。六神只作取象的修饰,断吉凶仍以六亲旺衰生克为主。",source:"《卜筮正宗》六神章",status:"settled"},{id:"liuyao-liuchong",system:"liuyao",dims:["overall"],gist:"六冲卦讲「散」:起落快、来去急。",detail:"六冲不按「爻位相邻」判,而是看六个地支能不能正好配成子午、寅申、辰戌三组对冲。按纳甲实排,八纯卦之外天雷无妄、雷天大壮也成六冲。冲不是单纯的坏:近病逢冲主速愈、久病逢冲才忌;求财问婚,冲多主聚不住。",source:"《卜筮正宗》六冲章;《增删卜易》卦体说",status:"variant",note:"通行口诀多把六冲限为八纯卦,本插件按纳甲地支实配判定,故多出无妄与大壮两支;《增删卜易》卦例里这两卦确被称作六冲,可互证。"},{id:"liuyao-liuhe",system:"liuyao",dims:["overall","love"],gist:"六合卦讲「成」:容易谈拢,也容易黏住。",detail:"六个地支正好配成子丑、寅亥、卯戌、辰酉、巳申、午未三组相合,即六合卦,共天地否、地天泰、地雷复、雷地豫、山火贲、水泽节、泽水困、火山旅八支。六合主和合、拖延:谈事情容易成,也容易久拖不决;问病则忌缠绵。",source:"《卜筮正宗》六合章",status:"settled"},{id:"liuyao-fanyin",system:"liuyao",dims:["overall","work"],gist:"反吟主反复:去了又来、定了又改。",detail:"卦反吟有两种成法:一是变卦某宫的三爻地支与本卦对应宫正好全冲;二是本卦之宫与变卦之宫在后天八卦上正对(乾巽、坎离、艮坤、震兑)。爻反吟则是动爻变出的地支回头冲本爻。无论哪种,取象都是反复、翻覆、旧事重提。",source:"《增删卜易》反吟伏吟篇;《卜筮正宗》",status:"variant",note:"各家对「卦反吟」是否只认地支全冲有分歧;本插件的八卦正对一路,是从《增删卜易》卦例(如山地剥之坤为地、风天小畜之乾为天)反推出来的。"},{id:"liuyao-fuyin",system:"liuyao",dims:["overall"],gist:"伏吟主呻吟:事情在原地打转。",detail:"卦变了,纳甲地支却没变,叫卦伏吟。纳甲上只有乾与震共用子寅辰、午申戌一套地支,所以卦伏吟只会出在乾与震互换的卦上,例如天雷无妄之雷天大壮、天风姤之雷风恒。动爻变出的地支与本爻同支,则是爻伏吟。伏吟取象是欲动不动、原地反复,常指人想动而形势不许。",source:"《增删卜易》伏吟篇;《卜筮正宗》",status:"variant",note:"另有「伏吟以用神受困论」的说法,不限于卦体;本插件只报卦体层面的伏吟与动爻伏吟,不推断吉凶轻重。"},{id:"liuyao-jintui",system:"liuyao",dims:["overall"],gist:"动爻变出同五行顺次之支,为化进神;反向为化退神。",detail:"动爻变出的地支与本爻同五行、且在顺次上往前一步,叫化进神;倒退一步叫化退神。八对是:寅→卯(木)、巳→午(火)、申→酉(金)、亥→子(水),土一支成环,丑→辰→未→戌→丑。同五行但不相邻(如寅→辰)不算。进神取象是这一爻代表的人或事有后劲、势在往前;退神取象是渐渐退气、按原势头推会落空。",source:"《增删卜易》进神退神章",status:"settled"},{id:"liuyao-jintui-yong",system:"liuyao",dims:["overall","work"],gist:"化进化退要看是用神还是忌神,还要叠月建日辰。",detail:"进神退神本身只说明这一爻的向外趋势:用神化进为得力,忌神化进则为患加剧;用神化退是力衰,忌神化退反而是解脱。传统还要看它在本月令衰旺、有没有日辰生扶,空亡或受克时进者未必能进。本插件把进退与爻位标出来,再按月建五态给一档力重——得令则进得动、退得慢,失令则进得虚、退得实,月破压过一切;只给档位,不折成加权分数,吉凶仍落在用神与忌神那一层判。",source:"《增删卜易》进神退神章、用神章",status:"variant",note:"土之进退次序各家说法不完全一致,有以丑→辰→未→戌为进、也有只取辰戌丑未相对者;本插件按丑辰未戌成环处理,并用《增删卜易》卦例中「未土化戌土为进」「戌土化未土为退」对拍。喜忌分档的出处是《增删卜易》卷二·進神退神章第二十九:「所喜者宜於化進,所忌者宜化退神」;把「喜/忌」具体落到用神/忌神两档,是本插件的引申。"},{id:"meihua-tiyong",system:"meihua",dims:["overall"],gist:"动的那一卦为用,不动的那一卦为体。",detail:"体代表自己、用代表所问之事。体克用主可控、用克体主受制、用生体主得助、体生用主付出。再看互卦与变卦判断中段与结局——梅花只取象不排盘,落点比六爻粗。",source:"《梅花易数》体用篇",status:"settled"},{id:"daliuren-sike",system:"daliuren",dims:["overall"],gist:"四课看事从哪来,三传看事往哪去。",detail:"四课由日干日支的阴阳与天地盘相叠而得;三传依九宗门(贼克、比用、涉害、遥克等)取初传,再顺推中传末传。三传之间的生克与空亡,是判断事情走向的主线。",source:"《大六壬大全》;九宗门取传法",status:"settled"},{id:"qimen-yinyang",system:"qimen",dims:["overall"],gist:"冬至后阳遁、夏至后阴遁,局数由节气与三元定。",detail:"一年分阴阳两遁,各九局;局数取决于当前节气与上中下三元(符头定元)。取局流派有拆补、超神接气、置闰三种,同一时刻可能排出不同局数——这不是算错,是流派差异。",source:"《烟波钓叟歌》;拆补与置闰见《奇门遁甲统宗》",status:"variant",note:"三种取局法在节气交接前后差异最明显,本插件同时实现三种,可在参数里指定。"},{id:"qimen-jixing",system:"qimen",dims:["overall","work"],gist:"六仪落刑宫叫击刑,是宫位条件不是判决。",detail:"六仪按所配地支相刑:甲子戊落震三(子刑卯)、甲戌己落坤二(戌刑未)、甲申庚落艮八(申刑寅)、甲午辛落离九(午自刑)、甲辰壬落巽四(辰自刑)、甲寅癸落巽四(寅刑巳)。天盘六仪落到自己那一宫即击刑,取象是受制、掣肘、旧账翻出来,多用来量这个符号本身使不使得上力。",source:"《烟波钓叟歌》刑格注;《奇门遁甲统宗》",status:"variant",note:"有流派只论天盘六仪击刑,也有把地盘一并算的;本插件只判天盘,且只作宫位条件,不自动断用神受制。"},{id:"qimen-rumu",system:"qimen",dims:["overall"],gist:"天盘干落墓宫叫入墓:三奇与六仪各按五行墓库判。",detail:"按五行墓库推,乙、丁两个阴干从《玄机赋》逆行取墓说:乙墓戌(乾六)、丙墓戌(乾六)、丁墓丑(艮八);六仪中戊墓戌(乾六)、己庚墓丑(艮八)、辛壬墓辰(巽四)、癸墓未(坤二)。天盘干落到自己的墓宫即入墓。取象是收束、藏起来、事情压住不动;好坏要看所问之事——问收藏、问了结,入墓未必是坏事。",source:"《奇门遁甲统宗》三奇入墓条;阴干逆行取墓见其中「玄机赋」;六仪入墓见《奇门遁甲秘笈大全》卷十五;五行墓库见《五行大义》",status:"variant",note:"各家对入墓范围说法不一:有只论三奇,也有把六仪、八门、九星一并论墓的;本插件判天盘三奇与六仪,八门、九星暂不入墓。墓宫取法同样有异说——通行另有一说按五行墓库直取(乙 木墓未、丁 火墓戌),本盘依《玄机赋》阴干逆行说(乙墓戌、丁墓丑),与引擎 qimen.js 的 RU_MU 表同源。"},{id:"qimen-ganying",system:"qimen",dims:["overall","work"],gist:"十干克应看天盘干加地盘干:同宫两干相遇,先取成象,再与门星神合看。",detail:"十干克应把天盘干与地盘干的组合收成 100 组,每组一个格名与一段取象。例如甲加丙「青龙返首」主大吉大利,甲加庚「值符飞宫」主吉事不成,乙加辛「青龙逃走」主失财逃亡。它回答的是「这两股气碰在一起像什么」,不单独回答「事情成不成」;同一组落在不同门、星、神与旺衰下,轻重会变。",source:"《奇门十干应克》通行 100 组表;《奇门遁甲元灵经》卷二「天盘加地盘吉凶」存甲、乙、丙三组异文",status:"variant",note:"100 组表各家措辞不一,本插件取通行表;元灵经只存三组且文字不同,两本并列、不合并。十干克应只作取象,不自动折吉凶。"},{id:"qimen-wangshuai",system:"qimen",dims:["overall","work"],gist:"门、星与天盘干按月令分旺相休囚死,只说明力量强弱。",detail:"旺相休囚死以月支五行为尺:与月令同气为旺,月令所生为相,生月令为休,克月令为囚,被月令所克为死。八门、九星与天盘干(三奇六仪)各按自身五行对月令,得出该符号当下「使不使得上力」。比如午月火旺,景门(火)旺、生门死门(土)相、休门(水)囚、开门惊门(金)死,天盘丙丁(火)旺、庚辛(金)死。",source:"《奇门遁甲统宗》门星旺衰条;五行旺相休囚死见《五行大义》",status:"settled"},{id:"qimen-wangshuai-yong",system:"qimen",dims:["overall","work"],gist:"旺衰是助力,不单独定吉凶:门旺而宫克门仍受制。",detail:"月令旺衰只回答「这个符号自身有多少气」,不回答「事情成不成」。取象时要和宫位关系叠起来看:门旺但同宫门克宫(门迫),力量被宫位掣肘;门囚但宫生门,仍得宫助。星同理,旺星落宫若被克,也难全其用。",source:"《奇门遁甲统宗》;《烟波钓叟歌》门宫生克注",status:"variant",note:"有流派按时令而非月令论门星旺衰,也有以落宫五行当令者;本插件统一按月支五行判,并在解读里明确只作强度参考。"},{id:"qimen-gan-shengke",system:"qimen",dims:["overall","work"],gist:"天盘干落宫论生克:干克宫主进取,宫克干受制,比和相安。",detail:"天盘干(三奇六仪)落到某宫,就看干的五行与该宫五行的生克:干克宫,是符号压向环境、偏进取与主动;宫克干,是环境反过来管住符号、偏受制与掣肘;干生宫,力量往外泄;宫生干,环境给力;比和,两下相安。这一层与门宫关系(门迫、宫制门)并列,各说各的,不互相替换;两者同时成立时分别列出,不折成一个分数。",source:"《奇门遁甲统宗》干宫生克条;《烟波钓叟歌》门宫生克注",status:"variant",note:"各家对「干与宫」的取象宽窄不一:有只论干宫、有连天盘干加地盘干(十干克应)一并论的。本插件两层并列:干宫生克判落宫关系,十干克应另判天地盘两干的成象,互不替代。"},{id:"tarot-orientation",system:"tarot",dims:["overall"],gist:"逆位常见的两种读法:削弱,或转向内。",detail:"一派认为逆位是正位力量的减弱与阻塞;另一派主张逆位是同一原型的内向化、未表达。同一张逆位牌,两种读法给出的建议方向可能相反,所以牌阵解读要先把口径讲清楚。",source:"韦特体系传统;逆位读法属近代流派分歧",status:"variant",note:"逆位是否参与解读本身就有分歧(有牌阵传统完全不用逆位)。本插件按削弱加内向综合取象,并在开头声明。"},{id:"tarot-correspondence",system:"tarot",dims:["overall"],gist:"小牌 2-10 按花色三分相排旬位,首牌只归生命树源质,宫廷牌不配星座。",detail:"通行表把四组花色各配一个元素三分相(权杖火=白羊/狮子/射手,圣杯水=巨蟹/天蝎/双鱼,宝剑风=天秤/水瓶/双子,星币土=摩羯/金牛/处女):数字 2-4、5-7、8-10 依次落进这三个星座,同组三张各占该星座的第一、二、三旬;旬主星按迦勒底连续序(白羊第一旬起火星,其后土→木→火→日→金→水→月轮下去)定,例:权杖二=火星在白羊第一旬、权杖四=金星在白羊第三旬、圣杯九=木星在双鱼第二旬。四张首牌对应生命树的 Kether 到 Malkuth 之外的「元素之根源」,只归源质不配单一星座。",source:"RWS(1909)牌面;牌义取自黄金黎明体系(Liber 777 一脉的公开对应表,与三处独立资料互核)",status:"variant",note:"两处不合并:一是旬主星表本身有两派——本库按迦勒底连续序(白羊一旬起火星,巨蟹一旬起金星),另一派把每个星座的第一旬归本星座守护星(巨蟹一旬起月亮),两派在半个黄道上给出的旬主不同,本库取 777/黄金黎明一路因为小牌的星座-行星对应就是按它排的;二是宫廷牌(侍从/骑士/王后/国王)在公开资料里有两套互相冲突的映射:一套按「国王=本位宫、王后=固定宫、骑士=变动宫」,另一套按黄金黎明四元素层级(骑士=火、国王=风、王后=土、侍从=水)推星座,两派在多数花色上把国王与王后对调。本插件两派都不合并:数字牌取连续序标注旬位,宫廷牌只给元素与角色定位,星座与主星留空。"},{id:"bazi-dayun-jiaoqi",system:"bazi",dims:[],gist:"交运按「三日折一年」放大到日、时:起运时刻与每步换运日期都给。",detail:"把「出生 → 起运那一侧节令」的真实间隔按 365.2422/3(约 121.7474 倍)放大,加到出生时刻上就是交运时刻;同一比例也兑现「一日折四月、一时辰折十日」。每步大运在同月同日同时刻换,闰日退到 2 月 28 日。年长取回归年 365.2422 日,故与按 360 日折算的流派会差一两天。",source:"《渊海子平》起运法(三日折一年);《三命通会》论行运",status:"variant",note:"各家对「一年折几日」「交运日是否按 360 日计」取法不一,本插件固定 365.2422 日并把口径写进结果(dayun.jiao.yearDays)。出生时刻或经度一变,交运日会前后移一两天;月柱在交节边界时尤其要复核。"},{id:"liuyao-yingqi-exact",system:"liuyao",dims:[],gist:"具体应期(哪一天应验)本插件尚未推算。",detail:"应期需要综合用神旺衰、动变、旬空出空、日月冲合多层条件,且各家取法不同。当前只给时间窗口的方向性提示(逢值 / 逢冲 / 逢合的触发支,加一个快慢方向),不给具体日期——与其给一个看起来精确、实则拍脑袋的日子,不如留白。",source:"待补:《卜筮正宗》应期章逐条实现 + 已录 128 条卦例对拍(源 138 条)",status:"todo",note:"扩展方向:用《卜筮正宗》卦例里有明确应验日期的条目做回归,先验证再输出。0.50.0 已给出触发支与快慢方向,仍不输出日期。"}];function Q(T,_){return U.filter(H=>H.system===T&&H.dims.includes(_))}function ae(T){return U.filter(_=>_.system===T&&_.status!=="settled")}return{KNOWLEDGE:U,knowledgeFor:Q,caveatsFor:ae,STATUS_LABEL:{settled:"文本·诸家一致",variant:"文本·各家有异说",todo:"文本·未录入"},KNOWLEDGE_DISCLAIMER:"以上标签只说明典籍文本的一致程度,不表示该技法经过验证;本插件不对任何技法的预测效度作保证。"}})(),J.limits=(function(){const U=[{id:"validity",title:"任何技法的预测效度都未经检验",text:"能被复核的只有形式层——纳甲、干支关系、十神、宫位这类可由程序重算的部分,错了能查。解释层是各派通行说法,本插件不声称它比别的说法更准,也没有做过能被别人重复的验证。"},{id:"same-chart",title:"同盘不同命,本插件不解决",text:"同一个四柱、同一张命盘对应无数人,从盘面推不出具体某一个人。这是模型的硬缺陷,不是样本不够——换个更大的样本也补不上。所以本插件给的是「这一类盘常见的结构」,不是「你会怎样」。"},{id:"advice",title:"不给医疗、法律、投资建议",text:"不做疾病诊断与用药建议,不判诉讼胜负,不做买卖与借贷决策。三类问题都有各自的专业判断标准,盘面推不出它们。"}],Q={liuyao:[{id:"liuyao-no-date",title:"应期不给公历日期",text:"只给地支与快慢档(偏速/偏缓/待解/未定),不折算成「某月某日」。原因不是保守:应期可取逢值、逢冲、逢合、出空、填实多种,任一种都能事后对得上,折算成日期只是把不确定性藏进一个具体数字里。回测 15 条规则命中 51.7%,平均要给 3.55 个候选支(随机基线 29.6%)——高于随机,但撑不起一个具体日期。"},{id:"liuyao-yongshen",title:"用神多现时,不替你选",text:"卦中用神两现时,插件把候选都列出来,不代选。取哪一个直接决定断语方向,各家取舍标准不一,替选等于把一派之见说成唯一答案。"},{id:"liuyao-zhi-date",title:"「某支应事」不等于「那天会发生」",text:"地支只标方向与快慢,不承诺落点。同一支在一天里对应两个时辰、在一个月里对应多个日子,具体哪一天,本插件不判。"},{id:"liuyao-liuyue",title:"不推演流月推进后的二次变化",text:"应期按「当下一个月建 + 日辰」静态算,不模拟下一个月到来后「原来的合被冲开、原本被制住的爻复起」这类连锁。实占里有反例:用神伏藏、本来可靠日辰冲开,但进入下个月建后一冲解掉了原月建对制它之爻的合,制者复起,出伏失败,事情没成。跨月推演还没做,所以应期只能作「该留意哪几支」,不能承诺某个月份。"}],bazi:[{id:"bazi-hour-unknown",title:"时辰未知时,只给三柱,不给紫微与合盘",text:"不知道出生时辰时,本插件不排时柱,起运按日估算,并把「时柱按正午暂算」写在结果第一行。紫微(命宫由生月与生时支定)与合盘(夫妻宫、大运都依赖时支)一律不出盘——不是保守,是这两套离了时支就不成立,硬排出来只是看着像盘。"},{id:"bazi-no-event",title:"不预测具体年份的事件",text:"不判「哪年结婚」「哪年升职」「哪年发财」。岁运并临、运年反吟、伏吟这类只作变动提示、不断吉凶——这些格局在十年里会反复出现,按它们断事,等于每年都能找到一次「应验」。"},{id:"bazi-strength",title:"旺衰是分档,不是评分",text:"旺衰按五行分量与月令得令情况分档,给出的百分比是相对权重,不是命理学的定量指标。各家对「几分算旺」没有共识,本插件不把档位差当成精确结论。"},{id:"bazi-huagi",title:"化气格的真化,仍缺对拍",text:"化气格成立条件各家宽严不一(是否要求月令为化神、日主是否允许有根),本插件按从严一路判,并把条件与原文并列摆出;真化/假化的判定还没有实盘对拍集。"}],ziwei:[{id:"ziwei-feixing",title:"飞星层只报路径,不判吉凶",text:"飞星能做到单一支化逐宫追到成环、三方四正按落宫归堆,但串连与复合飞化叠上大限流年之后的力重还没定,所以只报走到哪、不判好与不好。"},{id:"ziwei-poge",title:"格局只判成立,破格条件未做",text:"34 条格局按独立谓词逐条复算过成立条件,但「什么情况下这条格局不算」各家破法不一,需先定底本,所以现在只判成不成立。"}],meihua:[{id:"meihua-waiying",title:"不取外应",text:"只按时间/数字起卦,用体用生克与互变卦推演。外应(当时的声音、来人衣着、路上所见)不纳入——那部分的解释空间几乎没有边界,纳入后任何结论都能凑出来。"}],daliuren:[{id:"daliuren-yingqi",title:"三传只给结构,应期未做",text:"四课三传按通行起法给出,天将、六亲、旺衰并列;具体应期推演尚未实现,不据此判时间。"}],qimen:[{id:"qimen-bamen",title:"八门九星入墓未做",text:"十干克应与六仪入墓已按通行口径上,八门、九星入墓各家说法不同、需逐条核,暂不实现;用神落宫与击刑入墓的联动只并列条件、不推结论。"}],tarot:[{id:"tarot-claim",title:"牌义取通行义,不做个人化解读",text:"按牌阵位置与正逆位给通行牌义,不做联想式延伸。牌阵与问题的对应关系由你确定,插件不替你判断「该抽几张」「该问什么」。"}]};function ae(re){return[...U,...Q[re]||[]]}return{UNIVERSAL_LIMITS:U,SYSTEM_LIMITS:Q,limitsFor:ae}})(),J.guide=(function(){return{GUIDE:{title:"第一次看?先分清「数」「象」「辞」",lead:"这份报告分三层。分清之后,你就知道哪一部分可以信、哪一部分要留个心眼。",layers:[{key:"shu",name:"数",sub:"坐标",text:"干支、节气、纳甲、十神、宫位——这些是算出来的坐标。换个人、换台机器算,结果应该一模一样。",hint:"报告里每个干支、每个宫位、每个局数都属于这一层:可复算,也可复查。这一层错了就是硬错。"},{key:"xiang",name:"象",sub:"关系",text:"合、冲、伏、墓、当位、承乘——坐标之间形成的形状。关系看得见,但「这段关系在人生里叫什么」是命名,各家会有分歧。",hint:"点开每条「依据」,看到的就是这一层:盘面上的事实,还没加解释。"},{key:"ci",name:"辞",sub:"判断",text:"吉凶、顺逆、应期——一句话的结论。自由度最高,也最需要你保留怀疑。",hint:"下面所有的结论都在这一层。它的效度未经检验:当参考,别当判决。"}],check:{title:"看到任何一句断语,先问三句",items:["它落在哪个坐标上(哪一柱、哪一爻、哪一宫)?","关系是什么(生、克、合、冲、伏、墓)?","这个说法是唯一读法吗?"],tail:"三问答不全,那句话就只是在给结论,没有给依据——包括本插件自己给的。"},parts:{title:"纳甲、十神、宫位,各自在干什么",rows:[["纳甲","给每一爻装上地支坐标,让卦能和日辰比较(数)"],["十神","把「生我克我」翻译成人伦关系(象到辞的接口)"],["宫位","把关系分到位置上:年月日时、十二宫(象的空间化)"]],tail:"三个都是中间件,不是知识本身:背熟十神只等于背熟一本词典,会不会读象是另一件事。"},closing:"一句话收尾:数当镜子,象当语言,辞当别人的意见——可以听,不必签收。"}}})(),J.citations=(function(){const{CLASSICS:U,CLASSIC_BOOKS:Q}=J.classics||{},{KNOWLEDGE:ae}=J["interpret-knowledge"]||{},{PATTERN_BREAK_RULES:re}=J.ziwei||{},ne={ziwei:{name:"紫微斗数全书",author:"宋·陈抟(传)",base:"https://zh.wikisource.org/wiki/紫微斗數全書"},qiongtong:{name:"穷通宝鉴",author:"佚名",base:"https://www.diancang.xyz/xuanxuewushu/qiongtongbaojian/"},daliuren:{name:"大六壬大全",author:"明·郭载騋校(四库全书本)",base:"https://zh.wikisource.org/wiki/六壬大全"},qimen:{name:"奇门遁甲统宗",author:"旧题诸葛亮(传)",base:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/"},meihua:{name:"梅花易数",author:"宋·邵雍(传)",base:"https://www.diancang.xyz/xuanxuewushu/meihuayishu/"},ditian:{name:"滴天髓",author:"明·京图(通行本)",base:"https://www.diancang.xyz/xuanxuewushu/ditiansui/"},liuyao:{name:"增删卜易",author:"清·野鹤老人",base:"https://zh.wikisource.org/wiki/增刪卜易"},huangjince:{name:"黄金策",author:"明·刘基(题)",base:"https://zh.wikisource.org/wiki/黄金策"},jingshi:{name:"京氏易传",author:"汉·京房",base:"https://zh.wikisource.org/wiki/京氏易傳"},huozhulin:{name:"火珠林",author:"宋·麻衣道者(题)",base:"https://zh.wikisource.org/wiki/火珠林"},zangshu:{name:"葬书",author:"晋·郭璞(题)",base:"https://zh.wikisource.org/wiki/葬書/內篇"},qingnang:{name:"青囊经",author:"佚名",base:"https://zh.wikisource.org/wiki/青囊經"},aoyu:{name:"青囊奥语",author:"旧题唐·杨筠松",base:"https://zh.wikisource.org/wiki/青囊奧語"},hanlong:{name:"撼龙经",author:"唐·杨筠松(旧题)",base:"https://zh.wikisource.org/wiki/撼龍經"},rudidian:{name:"入地眼全书",author:"宋·静道",base:"https://zh.wikisource.org/wiki/入地眼全書"},shenfeng:{name:"神峰通考",author:"明·张楠",base:"https://www.luckclub.cn/bazi/008/"},luoluzi:{name:"珞琭子消息赋",author:"旧题珞琭子撰,本页注解未署名",base:"https://www.luckclub.cn/bazi/024/"},lantai:{name:"兰台妙选",author:"佚名",base:"https://www.luckclub.cn/bazi/026/"},yuanhai:{name:"渊海子平",author:"宋·徐升编",base:"https://www.luckclub.cn/bazi/001/"},dtchanwei:{name:"滴天髓阐微",author:"清·任铁樵阐微本(页内「原注」「任氏曰」分列)",base:"https://www.luckclub.cn/bazi/007/"},wuxingdayi:{name:"五行大义",author:"隋·萧吉",base:"https://www.luckclub.cn/bazi/011/"},yudingziping:{name:"御定子平",author:"清·官修,不著撰人",base:"https://www.luckclub.cn/bazi/021/"},mingliyueyan:{name:"命理约言",author:"清·陈素庵",base:"https://www.luckclub.cn/bazi/018/"},yuetanfu:{name:"月谈赋",author:"佚名",base:"https://www.luckclub.cn/bazi/023/"},qianliminggao:{name:"千里命稿",author:"民国·韦千里",base:"https://www.luckclub.cn/bazi/003/"},minglitanyuan:{name:"命理探原",author:"民国·袁树珊",base:"https://www.luckclub.cn/bazi/009/"},lixuzhong:{name:"李虚中命书",author:"旧题唐·李虚中注,今多疑为宋人依托",base:"https://www.luckclub.cn/bazi/010/"},yuzhao:{name:"玉照定真经",author:"旧题晋·郭璞撰,页内注者未署",base:"https://www.luckclub.cn/bazi/012/"},wuxingjingji:{name:"五行精纪",author:"宋·廖中",base:"https://www.luckclub.cn/bazi/013/"},bazitiyao:{name:"八字提要",author:"不著撰人(民国排印本)",base:"https://www.luckclub.cn/bazi/015/"},guiguyiwen:{name:"鬼谷遗文",author:"旧题鬼谷子撰,与《李虚中命书》同源",base:"https://www.luckclub.cn/bazi/016/"},guagua:{name:"呱呱集",author:"民国·韦千里",base:"https://www.luckclub.cn/bazi/017/"},zaohuayuanyue:{name:"造化元钥评注",author:"近人评注,页内未署撰人",base:"https://www.luckclub.cn/bazi/019/"},zipingguanjian:{name:"子平管见",author:"明·雷鸣夏(八公山人秀泉子)",base:"https://www.luckclub.cn/bazi/020/"},xingmingzongkuo:{name:"星命总括",author:"旧题辽·耶律纯,四库提要已疑依托",base:"https://www.luckclub.cn/bazi/022/"},xingmingjuegu:{name:"星命抉古录",author:"不著撰人(民国排印本)",base:"https://www.luckclub.cn/bazi/025/"},renan:{name:"大六壬断案",author:"宋·邵彦和(本页课例集,含邵氏断语与后验)",base:"https://www.luckclub.cn/daliuren/002/"},rentanyuan:{name:"大六壬探原",author:"民国·袁树珊(润德堂丛书之三)",base:"https://www.luckclub.cn/daliuren/003/"},renxinjing:{name:"大六壬心镜",author:"唐·徐道符撰,本页有郑氏按语与据《神枢经》补字",base:"https://www.luckclub.cn/daliuren/004/"},renzhinan:{name:"注解大六壬指南",author:"旧题明·陈公献,本页注解未署名",base:"https://www.luckclub.cn/daliuren/005/"},rencuiyan:{name:"六壬粹言",author:"清·刘赤江(蛟门刘赤江慕甫编)",base:"https://www.luckclub.cn/daliuren/006/"},renxuesuoji:{name:"壬学琐记",author:"清·佚名(本页有光绪七年侄夔跋)",base:"https://www.luckclub.cn/daliuren/008/"},bifafu:{name:"毕法赋",author:"不著撰人(本页前段为百法歌诀,后段附今人课例)",base:"https://www.luckclub.cn/daliuren/009/"},rengui:{name:"壬归",author:"不著撰人",base:"https://www.luckclub.cn/daliuren/010/"},bushizhengzong:{name:"卜筮正宗",author:"清·王维德",base:"https://www.luckclub.cn/liuyao/001/"},donglin:{name:"洞林秘诀",author:"不著撰人(歌诀体来意/何知章)",base:"https://www.luckclub.cn/liuyao/004/"},duanyi:{name:"断易天机",author:"旧题鬼谷子,本页为今人整理本",base:"https://www.luckclub.cn/liuyao/006/"},bushiquanshu:{name:"卜筮全书",author:"明·姚际隆辑(谈易斋重订本)",base:"https://www.luckclub.cn/liuyao/007/"},yilinbuwei:{name:"易林补遗",author:"明·张星元",base:"https://www.luckclub.cn/liuyao/008/"},yiyin:{name:"易隐",author:"明·曹九锡辑,曹璿演",base:"https://www.luckclub.cn/liuyao/009/"},yimao:{name:"易冒",author:"清·程元如",base:"https://www.luckclub.cn/liuyao/010/"},shixuezhiyao:{name:"筮学指要",author:"不著撰人",base:"https://www.luckclub.cn/liuyao/011/"},boshan:{name:"博山篇",author:"页首未署撰人",base:"https://www.luckclub.cn/dixiang/001/"},cuiguan:{name:"催官篇",author:"宋·赖太素(页首署「赖布衣」)",base:"https://www.luckclub.cn/dixiang/002/"},dilizhengzong:{name:"地理正宗",author:"清·蒋国宗(页首署)",base:"https://www.luckclub.cn/dixiang/003/"},faweilun:{name:"发微论",author:"页首未署撰人",base:"https://www.luckclub.cn/dixiang/004/"},jinsuoyuguan:{name:"金锁玉关经",author:"页首未署撰人",base:"https://www.luckclub.cn/dixiang/006/"},shuilongjing:{name:"水龙经",author:"页首未署撰人(序称「大鸿氏所传」)",base:"https://www.luckclub.cn/dixiang/009/"},xuexinfu:{name:"雪心赋",author:"页首未署撰人",base:"https://www.luckclub.cn/dixiang/010/"},yangzhaishishu:{name:"阳宅十书",author:"页首未署撰人",base:"https://www.luckclub.cn/dixiang/011/"},yuchijing:{name:"玉尺经",author:"页首未署撰人",base:"https://www.luckclub.cn/dixiang/012/"},zangfadaozhang:{name:"葬法倒杖",author:"旧题唐·杨筠松(四库提要)",base:"https://www.luckclub.cn/dixiang/013/"},zangjingyi:{name:"葬经翼",author:"页首未署撰人",base:"https://www.luckclub.cn/dixiang/015/"},zhaijing:{name:"宅经",author:"旧题黄帝撰(四库提要判为依托)",base:"https://www.luckclub.cn/dixiang/016/"},qimenfaqiao:{name:"奇门法窍",author:"清·孟樨氏增注(卷一例言署)",base:"https://www.luckclub.cn/qimen/006/"},yudingqimen:{name:"御定奇门宝鉴",author:"清·官修(页首未署撰人)",base:"https://www.luckclub.cn/qimen/007/"}},T=[{id:"zw-poge-sanfang",book:"ziwei",chapter:"卷三·谈星要论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-poge-ruge",book:"ziwei",chapter:"卷三·论人命入格",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-shiyin",book:"ziwei",chapter:"卷一·增补太微赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-jiju-poge",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-riyue-jia",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-changqu",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-kuiyue",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-jiyue",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-tanwu",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-huotan",book:"ziwei",chapter:"卷一·增补太微赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-luma",book:"ziwei",chapter:"卷一·诸星问答论·问天马星所主若何",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-sihua-ji",book:"ziwei",chapter:"卷一·诸星问答论·问化忌星所主若何",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-sihua-lu",book:"ziwei",chapter:"卷一·诸星问答论·问化禄星所主若何",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-sanfang",book:"ziwei",chapter:"卷三·谈星要论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-shenming",book:"ziwei",chapter:"卷三·谈星要论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-daxian",book:"ziwei",chapter:"卷三·论大限十年祸福何如",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-miaowang",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-kongjie",book:"ziwei",chapter:"卷一·诸星问答论·问天空地劫所主若何",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-taiwei-ji-xiong",book:"ziwei",chapter:"卷一·太微赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-taiwei-jueshu",book:"ziwei",chapter:"卷一·太微赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-fawei-sizheng",book:"ziwei",chapter:"卷一·斗数发微论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-fawei-ruxian",book:"ziwei",chapter:"卷一·斗数发微论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-fawei-xinglian",book:"ziwei",chapter:"卷一·斗数发微论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-fawei-kequ",book:"ziwei",chapter:"卷一·斗数发微论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gaolv-jiongji",book:"ziwei",chapter:"卷一·重补斗数彀率",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gaolv-dexian",book:"ziwei",chapter:"卷一·重补斗数彀率",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gaolv-shenming",book:"ziwei",chapter:"卷一·重补斗数彀率",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-zengbu-nannv",book:"ziwei",chapter:"卷一·增补太微赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gusu-yili",book:"ziwei",chapter:"卷一·斗数骨髓赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gusu-mingshen",book:"ziwei",chapter:"卷一·斗数骨髓赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gusu-duigong",book:"ziwei",chapter:"卷一·斗数骨髓赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gusu-kong-jian",book:"ziwei",chapter:"卷一·斗数骨髓赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gusu-jieyao",book:"ziwei",chapter:"卷一·斗数骨髓赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gusu-fanwei",book:"ziwei",chapter:"卷一·斗数骨髓赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-shideng-qianguan",book:"ziwei",chapter:"卷一·定富贵贫贱十等论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-dedi-wu",book:"ziwei",chapter:"卷一·十二宫诸星得地合格诀",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-dedi-hai",book:"ziwei",chapter:"卷一·十二宫诸星得地合格诀",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-shixian-zi",book:"ziwei",chapter:"卷一·十二宫诸星失陷破格诀",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-shixian-shen",book:"ziwei",chapter:"卷一·十二宫诸星失陷破格诀",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-nvming-fuxiang",book:"ziwei",chapter:"卷一·女命骨髓赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-nannv-nan",book:"ziwei",chapter:"卷三·论男女命同异",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-nannv-nv",book:"ziwei",chapter:"卷三·论男女命同异",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-shenshi-shen",book:"ziwei",chapter:"卷三·论人生时要审的确",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"smt-wangxiang",book:"sanming",chapter:"卷二·论五行旺相休囚死并寄",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7531.html"},{id:"smt-shensha",book:"sanming",chapter:"卷三·总论诸神煞",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7572.html"},{id:"smt-kongwang",book:"sanming",chapter:"卷三·论空亡",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7563.html"},{id:"smt-dayun-qiyun",book:"sanming",chapter:"卷二·论大运",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7536.html"},{id:"smt-liuqin",book:"sanming",chapter:"卷七·论六亲",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7693.html"},{id:"smt-xingchong",book:"sanming",chapter:"卷二·论三刑",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7548.html"},{id:"qt-tiaohou",book:"qiongtong",chapter:"五行总论",url:"https://www.diancang.xyz/xuanxuewushu/qiongtongbaojian/41024.html"},{id:"qm-yinyang",book:"qimen",chapter:"卷一·奇门秘诀总赋",url:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/41068.html"},{id:"qm-jixing",book:"qimen",chapter:"卷十一·玄机赋(中)",url:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/41073.html"},{id:"qm-rumu",book:"qimen",chapter:"卷十一·玄机赋(中)",url:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/41073.html"},{id:"qm-wangshuai",book:"qimen",chapter:"卷三",url:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/41070.html"},{id:"qm-men-gong",book:"qimen",chapter:"卷二",url:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/41069.html"},{id:"mh-tiyong",book:"meihua",chapter:"卷二·体用生克",url:"https://www.diancang.xyz/xuanxuewushu/meihuayishu/37734.html"},{id:"zs-yongshen",book:"liuyao",chapter:"卷一·用神章第八",url:"https://zh.wikisource.org/wiki/增刪卜易/8"},{id:"zs-fushen",book:"liuyao",chapter:"卷二·飛伏神章第二十八",url:"https://zh.wikisource.org/wiki/增刪卜易"},{id:"zs-yuejian",book:"liuyao",chapter:"卷一·月將章第十六",url:"https://zh.wikisource.org/wiki/增刪卜易/16"},{id:"zs-yuejian-zhuli",book:"liuyao",chapter:"卷一·月將章第十六",url:"https://zh.wikisource.org/wiki/增刪卜易/16"},{id:"zs-richen",book:"liuyao",chapter:"卷一·日辰章第十七",url:"https://zh.wikisource.org/wiki/增刪卜易/17"},{id:"zs-dongbian",book:"liuyao",chapter:"卷一·動變生克沖合章第十五",url:"https://zh.wikisource.org/wiki/增刪卜易/15"},{id:"zs-liushen",book:"liuyao",chapter:"卷一·六神章第十八",url:"https://zh.wikisource.org/wiki/增刪卜易/18"},{id:"zs-liuhe",book:"liuyao",chapter:"卷一·六合章第十九",url:"https://zh.wikisource.org/wiki/增刪卜易/19"},{id:"zs-liuchong",book:"liuyao",chapter:"卷一·六沖章第二十",url:"https://zh.wikisource.org/wiki/增刪卜易/20"},{id:"zs-fanyin",book:"liuyao",chapter:"卷一·反伏章第二十五",url:"https://zh.wikisource.org/wiki/增刪卜易/25"},{id:"zs-fuyin",book:"liuyao",chapter:"卷一·反伏章第二十五",url:"https://zh.wikisource.org/wiki/增刪卜易/25"},{id:"zs-jintui",book:"liuyao",chapter:"卷二·進神退神章第二十九",url:"https://zh.wikisource.org/wiki/增刪卜易"},{id:"zs-yingqi",book:"liuyao",chapter:"卷一·各門類應期總注章第又二十六",url:"https://zh.wikisource.org/wiki/增刪卜易/26又3"},{id:"dl-jigong",book:"daliuren",chapter:"卷一·起例(十干寄宫)",url:"https://zh.wikisource.org/wiki/六壬大全/1"},{id:"dl-zeike",book:"daliuren",chapter:"卷一·起例(贼克法)",url:"https://zh.wikisource.org/wiki/六壬大全/1"},{id:"dt-yiqi-tonggen",book:"ditian",chapter:"干支总论",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-liuqin-fuqi",book:"ditian",chapter:"六亲论·夫妻",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153092.html"},{id:"dt-liuqin-zinv",book:"ditian",chapter:"六亲论·子女",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153092.html"},{id:"dt-liuqin-fumu",book:"ditian",chapter:"六亲论·父母",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153092.html"},{id:"dt-nvming-shensha",book:"ditian",chapter:"六亲论·女命章",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153092.html"},{id:"dt-hezhi-fugui",book:"ditian",chapter:"六亲论·何知章",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153092.html"},{id:"lj-yuejian-richen",book:"huangjince",chapter:"一·总断千金赋",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"lj-shiying-bibi",book:"huangjince",chapter:"一·总断千金赋",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"lj-yongshen-youqi",book:"huangjince",chapter:"一·总断千金赋",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"lj-taiguo-buji",book:"huangjince",chapter:"一·总断千金赋",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"lj-fushen-tiba",book:"huangjince",chapter:"一·总断千金赋",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"lj-yingqi-chongpo",book:"huangjince",chapter:"一·总断千金赋",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"lj-jintui-jiaochong",book:"huangjince",chapter:"一·总断千金赋",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"lj-shensha-shengke",book:"huangjince",chapter:"一·总断千金赋",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"lj-hunyin-liuchong",book:"huangjince",chapter:"七·婚姻",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"js-ganfei-fufeifu",book:"jingshi",chapter:"卷上·乾上乾下·乾",url:"https://zh.wikisource.org/wiki/京氏易傳"},{id:"js-bagong-zongang",book:"jingshi",chapter:"卷上·坤下離上·晋(注文)",url:"https://zh.wikisource.org/wiki/京氏易傳"},{id:"hzl-liuqin-genyuan",book:"huozhulin",chapter:"六亲根源",url:"https://zh.wikisource.org/wiki/火珠林"},{id:"hzl-duifa-luandong",book:"huozhulin",chapter:"独发乱动",url:"https://zh.wikisource.org/wiki/火珠林"},{id:"hzl-shiying-women",book:"huozhulin",chapter:"世应相克",url:"https://zh.wikisource.org/wiki/火珠林"},{id:"zm-zhunsheng-shenming",book:"ziwei",chapter:"卷一·斗数准绳",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zm-xingyuan-yinmao",book:"ziwei",chapter:"卷一·星垣论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"js-shiying-guihun",book:"jingshi",chapter:"卷上·乾下離上·大有",url:"https://zh.wikisource.org/wiki/京氏易傳"},{id:"sf-quzhi",book:"shenfeng",chapter:"卷三·曲直仁寿格",url:"https://www.luckclub.cn/bazi/008/031/"},{id:"sf-yanshang",book:"shenfeng",chapter:"卷三·炎上格",url:"https://www.luckclub.cn/bazi/008/033/"},{id:"sf-jiase",book:"shenfeng",chapter:"卷三·稼穑格",url:"https://www.luckclub.cn/bazi/008/032/"},{id:"sf-congge",book:"shenfeng",chapter:"卷三·从革格",url:"https://www.luckclub.cn/bazi/008/035/"},{id:"sf-runxia",book:"shenfeng",chapter:"卷三·润下格",url:"https://www.luckclub.cn/bazi/008/034/"},{id:"sf-yangren",book:"shenfeng",chapter:"卷二·阳刃格",url:"https://www.luckclub.cn/bazi/008/019/"},{id:"sf-rensha",book:"shenfeng",chapter:"卷二·阳刃格",url:"https://www.luckclub.cn/bazi/008/019/"},{id:"sf-kuigang",book:"shenfeng",chapter:"卷三·魁罡格",url:"https://www.luckclub.cn/bazi/008/043/"},{id:"sf-zaji",book:"shenfeng",chapter:"卷二·杂气财官印绶格",url:"https://www.luckclub.cn/bazi/008/020/"},{id:"ll-jianbujian",book:"luoluzi",chapter:"注解·或见或闻",url:"https://www.luckclub.cn/bazi/024/001/"},{id:"ll-sizhugong",book:"luoluzi",chapter:"注解·四柱三元",url:"https://www.luckclub.cn/bazi/024/001/"},{id:"ll-zheri",book:"luoluzi",chapter:"赋文·运行折除",url:"https://www.luckclub.cn/bazi/024/001/"},{id:"lt-geju",book:"lantai",chapter:"上篇",url:"https://www.luckclub.cn/bazi/026/001/"},{id:"lt-xiongsha",book:"lantai",chapter:"上篇",url:"https://www.luckclub.cn/bazi/026/001/"},{id:"yh-cangdun",book:"yuanhai",chapter:"卷一·地支藏遁歌",url:"https://www.luckclub.cn/bazi/001/061/"},{id:"yh-dayun",book:"yuanhai",chapter:"卷一·论起大运法",url:"https://www.luckclub.cn/bazi/001/055/"},{id:"yh-liuqin",book:"yuanhai",chapter:"卷一·论五行相生相克",url:"https://www.luckclub.cn/bazi/001/057/"},{id:"yh-tianyi",book:"yuanhai",chapter:"卷一·论起玉堂天乙贵人",url:"https://www.luckclub.cn/bazi/001/024/"},{id:"dtcw-yueling",book:"dtchanwei",chapter:"上篇第15章·月令·原注",url:"https://www.luckclub.cn/bazi/007/017/"},{id:"dtcw-tongguan",book:"dtchanwei",chapter:"上篇第20章·通关·原注",url:"https://www.luckclub.cn/bazi/007/022/"},{id:"ydzp-zhengguan",book:"yudingziping",chapter:"正官论",url:"https://www.luckclub.cn/bazi/021/002/"},{id:"ydzp-chengbai",book:"yudingziping",chapter:"正官论",url:"https://www.luckclub.cn/bazi/021/002/"},{id:"mlyy-geju",book:"mingliyueyan",chapter:"看格局法",url:"https://www.luckclub.cn/bazi/018/007/"},{id:"mlyy-wangshuai",book:"mingliyueyan",chapter:"看月令法一",url:"https://www.luckclub.cn/bazi/018/011/"},{id:"mlyy-zaji",book:"mingliyueyan",chapter:"看月令法一",url:"https://www.luckclub.cn/bazi/018/011/"},{id:"mlyy-congju",book:"mingliyueyan",chapter:"看从局法",url:"https://www.luckclub.cn/bazi/018/033/"},{id:"qlmg-bage",book:"qianliminggao",chapter:"格局篇",url:"https://www.luckclub.cn/bazi/003/011/"},{id:"qlmg-quge",book:"qianliminggao",chapter:"格局篇",url:"https://www.luckclub.cn/bazi/003/011/"},{id:"qlmg-pingduan",book:"qianliminggao",chapter:"评断篇",url:"https://www.luckclub.cn/bazi/003/021/"},{id:"qlmg-qiangruo",book:"qianliminggao",chapter:"强弱篇",url:"https://www.luckclub.cn/bazi/003/008/"},{id:"qlmg-renyuan",book:"qianliminggao",chapter:"人元篇",url:"https://www.luckclub.cn/bazi/003/006/"},{id:"qlmg-liuqin",book:"qianliminggao",chapter:"六亲篇",url:"https://www.luckclub.cn/bazi/003/016/"},{id:"mlty-shunni",book:"minglitanyuan",chapter:"卷三 强弱",url:"https://www.luckclub.cn/bazi/009/004/"},{id:"mlty-yongshi",book:"minglitanyuan",chapter:"卷三 强弱",url:"https://www.luckclub.cn/bazi/009/004/"},{id:"mlty-shensha",book:"minglitanyuan",chapter:"卷八 星家十要",url:"https://www.luckclub.cn/bazi/009/009/"},{id:"wxjj-yinshou",book:"wuxingjingji",chapter:"五行精纪:第十八卷论印绶",url:"https://www.luckclub.cn/bazi/013/026/"},{id:"wxjj-tiancai",book:"wuxingjingji",chapter:"五行精纪:论财",url:"https://www.luckclub.cn/bazi/013/032/"},{id:"wxjj-tianyi",book:"wuxingjingji",chapter:"五行精纪:第十四卷【论天乙贵神】",url:"https://www.luckclub.cn/bazi/013/021/"},{id:"zhyy-tiaohou",book:"zaohuayuanyue",chapter:"立论特色",url:"https://www.luckclub.cn/bazi/019/007/"},{id:"zpgj-zhengguan",book:"zipingguanjian",chapter:"正官格",url:"https://www.luckclub.cn/bazi/020/002/"},{id:"zpgj-pianguan",book:"zipingguanjian",chapter:"偏官格",url:"https://www.luckclub.cn/bazi/020/003/"},{id:"zpgj-zaqi",book:"zipingguanjian",chapter:"杂气有三",url:"https://www.luckclub.cn/bazi/020/029/"},{id:"xmjg-tianyi",book:"xingmingjuegu",chapter:"贵人论",url:"https://www.luckclub.cn/bazi/025/001/"},{id:"xmjg-yangsheng",book:"xingmingjuegu",chapter:"五行生旺论",url:"https://www.luckclub.cn/bazi/025/002/"},{id:"xmjg-kongwang",book:"xingmingjuegu",chapter:"古法论",url:"https://www.luckclub.cn/bazi/025/008/"},{id:"rty-sike",book:"rentanyuan",chapter:"卷上 推演篇",url:"https://www.luckclub.cn/daliuren/003/002/"},{id:"rzn-rushi",book:"renzhinan",chapter:"卷一 注释大六壬心印赋",url:"https://www.luckclub.cn/daliuren/005/003/"},{id:"rzn-richen",book:"renzhinan",chapter:"卷二 大六壬九天玄女指掌赋",url:"https://www.luckclub.cn/daliuren/005/004/"},{id:"rg-tigang",book:"rengui",chapter:"卷之一 提纲例约",url:"https://www.luckclub.cn/daliuren/010/001/"},{id:"bszz-liuqin",book:"bushizhengzong",chapter:"第一篇 启蒙节要",url:"https://www.luckclub.cn/liuyao/001/005/"},{id:"bszz-yongshen",book:"bushizhengzong",chapter:"第三篇 十八论",url:"https://www.luckclub.cn/liuyao/001/007/"},{id:"bszz-shiying",book:"bushizhengzong",chapter:"第三篇 十八论",url:"https://www.luckclub.cn/liuyao/001/007/"},{id:"bszz-yuanshen",book:"bushizhengzong",chapter:"第三篇 十八论",url:"https://www.luckclub.cn/liuyao/001/007/"},{id:"bszz-hechu",book:"bushizhengzong",chapter:"第三篇 十八论",url:"https://www.luckclub.cn/liuyao/001/007/"},{id:"bszz-pi-zs",book:"bushizhengzong",chapter:"第四篇 辟诸书之谬",url:"https://www.luckclub.cn/liuyao/001/008/"},{id:"bszz-fushen",book:"bushizhengzong",chapter:"第四篇 辟诸书之谬",url:"https://www.luckclub.cn/liuyao/001/008/"},{id:"bszz-sanchuan",book:"bushizhengzong",chapter:"第七篇 十八问答附占验",url:"https://www.luckclub.cn/liuyao/001/011/"},{id:"ylby-feifu",book:"yilinbuwei",chapter:"卷一",url:"https://www.luckclub.cn/liuyao/008/005/"},{id:"ylby-yongshen",book:"yilinbuwei",chapter:"卷一",url:"https://www.luckclub.cn/liuyao/008/005/"},{id:"sxzy-shiying",book:"shixuezhiyao",chapter:"筮学指要",url:"https://www.luckclub.cn/liuyao/011/001/"},{id:"zw-xuanwei-jixiong",book:"ziwei",chapter:"卷一·玄微论",url:"https://www.luckclub.cn/ziwei/006/001/"},{id:"zw-xuanwei-miaowang",book:"ziwei",chapter:"卷一·玄微论",url:"https://www.luckclub.cn/ziwei/006/001/"},{id:"zw-shiyu-benlin",book:"ziwei",chapter:"卷一·十喻歌",url:"https://www.luckclub.cn/ziwei/005/001/"},{id:"mh-tiyong-shengke",book:"meihua",chapter:"卷二",url:"https://www.luckclub.cn/meihua/002/004/"},{id:"mh-dongjing",book:"meihua",chapter:"卷三",url:"https://www.luckclub.cn/meihua/002/005/"},{id:"qmf-yinyang",book:"qimenfaqiao",chapter:"卷五",url:"https://www.luckclub.cn/qimen/006/005/"},{id:"ydq-liuyi",book:"yudingqimen",chapter:"遁甲隐公歌",url:"https://www.luckclub.cn/qimen/007/006/"},{id:"b13-yh-sanhe",book:"yuanhai",chapter:"论十二支三合",url:"https://www.luckclub.cn/bazi/001/008/"},{id:"b13-bszz-gangling",book:"bushizhengzong",chapter:"卜筮正宗凡例",url:"https://www.luckclub.cn/liuyao/001/003/"},{id:"b13-bszz-feifu",book:"bushizhengzong",chapter:"卜筮正宗凡例",url:"https://www.luckclub.cn/liuyao/001/003/"},{id:"b13-rty-sike",book:"rentanyuan",chapter:"卷下 集说篇",url:"https://www.luckclub.cn/daliuren/003/004/"},{id:"b13-rty-jiuke",book:"rentanyuan",chapter:"卷下 集说篇",url:"https://www.luckclub.cn/daliuren/003/004/"}],_={...Object.fromEntries(Object.entries(Q).map(([j,$])=>[j,$])),...ne};function H(j){const $=T.find(p=>p.id===j)||U.find(p=>p.id===j);if(!$)return null;const b=_[$.book];return{...$,bookName:b?b.name:$.book,bookAuthor:b?b.author:""}}const o={"bazi-yueling-siquan":{refs:["smt-renyuan","yh-cangdun","dtcw-yueling","qlmg-renyuan","mlty-yongshi"]},"bazi-geju":{refs:["zp-yongshen","sf-yangren","sf-rensha","lt-geju","mlyy-geju","qlmg-bage","qlmg-quge","qlmg-pingduan"]},"bazi-suiyun":{refs:["smt-suiyun"]},"bazi-sanming-duizhao":{refs:["zp-zhenguan","smt-guansha-liu","ydzp-zhengguan","wxjj-yinshou","wxjj-tiancai","zpgj-pianguan"]},"bazi-geju-chengbai":{refs:["zp-chengbai","dt-hezhi-fugui","ydzp-chengbai","zpgj-zhengguan"]},"bazi-huagi-bianhua":{refs:["zp-bianhua"]},"bazi-zaji-quyong":{refs:["zp-zaji","sf-zaji","mlyy-zaji","zpgj-zaqi"]},"bazi-zhuanwang-yuanwen":{refs:["smt-quzhi","smt-yanshang","smt-congge","smt-runxia","smt-jiasi","sf-quzhi","sf-yanshang","sf-jiase","sf-congge","sf-runxia"]},"bazi-congge-yuanwen":{refs:["smt-congsha","smt-congcai","mlyy-congju"]},"bazi-tongguan":{refs:["dt-tongguan","dtcw-tongguan"]},"bazi-tonggen-tougan":{refs:["dt-yiqi-tonggen","ll-jianbujian"],note:"通行说两句出自《子平真诠》卷一注文,非《滴天髓》正文;注文所引的滴天髓句见本条。珞琭子注只证天元/人元分层,不证「通根」。"},"bazi-wangxiang":{refs:["smt-wangxiang","mlyy-wangshuai","qlmg-qiangruo","mlty-shunni","xmjg-yangsheng"]},"bazi-shensha":{refs:["smt-shensha","dt-nvming-shensha","sf-kuigang","lt-xiongsha","yh-tianyi","mlty-shensha","wxjj-tianyi","xmjg-tianyi"]},"bazi-tiaohou":{refs:["qt-tiaohou","zhyy-tiaohou"]},"bazi-liuqin":{refs:["smt-liuqin","dt-liuqin-fuqi","dt-liuqin-zinv","dt-liuqin-fumu","ll-sizhugong","yh-liuqin","qlmg-liuqin"]},"bazi-kongwang":{refs:["smt-kongwang","xmjg-kongwang"]},"bazi-xingchong":{refs:["smt-xingchong","b13-yh-sanhe"]},"bazi-dayun-jiaoqi":{refs:["smt-dayun-qiyun","ll-zheri","yh-dayun"]},"ziwei-sanfang":{refs:["zw-sanfang","zw-gusu-duigong","zw-fawei-sizheng","zw-shiyu-benlin"]},"ziwei-sihua":{refs:["zw-sihua-lu","zw-sihua-ji","zw-fawei-kequ"]},"ziwei-miaowang":{refs:["zw-miaowang","zw-fawei-ruxian","zw-gaolv-dexian","zw-taiwei-jueshu","zm-xingyuan-yinmao","zm-zhunsheng-shenming","zw-xuanwei-miaowang"],note:"卷一「星垣论」按五行之垣定庙乐(寅卯为木垣,故贪狼天机庙乐),与卷三逐星庙旺表不是同一套口径;两处并引,本插件仍按卷三表判。"},"ziwei-daxian":{refs:["zw-daxian","zw-fawei-xinglian","zw-gusu-fanwei"]},"ziwei-shengong":{refs:["zw-shenming","zw-gusu-mingshen","zw-gaolv-shenming","zw-shenshi-shen","zm-zhunsheng-shenming"]},"ziwei-kongjie":{refs:["zw-kongjie","zw-gusu-jieyao","zw-gusu-kong-jian"]},"ziwei-poge":{refs:["zw-poge-ruge","zw-poge-sanfang","zw-gusu-yili","zw-gaolv-jiongji","zw-shideng-qianguan"]},"ziwei-ji-duo":{refs:["zw-taiwei-ji-xiong","zw-gaolv-jiongji","zw-xuanwei-jixiong"]},"ziwei-shixian-jue":{refs:["zw-dedi-wu","zw-dedi-hai","zw-shixian-zi","zw-shixian-shen"]},"ziwei-nanv-ming":{refs:["zw-nannv-nan","zw-nannv-nv","zw-nvming-fuxiang","zw-zengbu-nannv"]},"ziwei-feixing":{status:"general",book:"紫微斗数全书 / 飞星派",chapter:"四化篇",reason:"宫干飞化属飞星派传法,非《全书》单条原文"},"ziwei-sanfang-fei":{status:"general",book:"紫微斗数全书 / 飞星派",chapter:"四化篇",reason:"三方四正同飞属飞星派读法,未定位到单条原文"},"ziwei-jichuanji":{status:"general",book:"紫微斗数全书 / 飞星派",chapter:"四化篇",reason:"忌转忌串连属飞星派读法,未定位到单条原文"},"ziwei-zaoyao":{status:"general",book:"通行安星诀(中州派讲义 / 安星口诀本)",chapter:"杂曜安星诀",reason:"诀文见多处近代通行辑本且逐颗互核一致,但未定位到古籍单条原文,故不署《全书》"},"liuyao-yongshen":{refs:["zs-yongshen","lj-yongshen-youqi","hzl-liuqin-genyuan","bszz-liuqin","bszz-yongshen","bszz-pi-zs","b13-bszz-gangling"]},"liuyao-fushen":{refs:["zs-fushen","lj-fushen-tiba","js-ganfei-fufeifu","bszz-fushen","ylby-feifu","ylby-yongshen","b13-bszz-feifu"]},"liuyao-wangshuai":{refs:["zs-yuejian","lj-yuejian-richen","bszz-sanchuan"]},"liuyao-shiying":{refs:["lj-shiying-bibi","hzl-shiying-women","js-shiying-guihun","js-bagong-zongang","hzl-duifa-luandong","bszz-shiying","sxzy-shiying"]},"liuyao-yongshen-shuai":{refs:["zs-richen","lj-taiguo-buji","bszz-yuanshen"]},"liuyao-quanggu-shuai":{refs:["zs-yuejian-zhuli"]},"liuyao-dongbian":{refs:["zs-dongbian","hzl-duifa-luandong"]},"liuyao-liushen":{refs:["zs-liushen","lj-shensha-shengke"]},"liuyao-liuhe":{refs:["zs-liuhe","lj-hunyin-liuchong","bszz-hechu"]},"liuyao-liuchong":{refs:["zs-liuchong","lj-hunyin-liuchong","bszz-hechu"]},"liuyao-fanyin":{refs:["zs-fanyin"]},"liuyao-fuyin":{refs:["zs-fuyin"]},"liuyao-jintui":{refs:["zs-jintui","lj-jintui-jiaochong"]},"liuyao-yingqi":{refs:["zs-yingqi","lj-yingqi-chongpo"]},"liuyao-jintui-yong":{refs:["zs-jintui"]},"liuyao-yingqi-exact":{status:"todo",book:"增删卜易",chapter:"各門類應期總注章",reason:"逐条应期尚未实现,等 20+ 条有应验日期的卦例"},"meihua-tiyong":{refs:["mh-tiyong","mh-tiyong-shengke","mh-dongjing"]},"daliuren-sike":{refs:["dl-jigong","dl-zeike","rty-sike","rzn-rushi","rzn-richen","rg-tigang","b13-rty-sike","b13-rty-jiuke"]},"qimen-yinyang":{refs:["qm-yinyang","qmf-yinyang","ydq-liuyi"]},"qimen-jixing":{refs:["qm-jixing"]},"qimen-rumu":{refs:["qm-rumu"]},"qimen-wangshuai":{refs:["qm-wangshuai"]},"qimen-wangshuai-yong":{refs:["qm-men-gong"]},"qimen-gan-shengke":{status:"general",book:"奇门遁甲统宗",chapter:"卷十二·玄机赋(下)",reason:"底本有「奇仪与日干」生克条,未见单列「干与落宫」生克条;干宫取象为通行读法,不拿十神条文冒充"},"qimen-ganying":{status:"general",book:"奇门十干应克 / 奇门遁甲元灵经",chapter:"通行 100 组表 / 卷二·天盘加地盘吉凶",reason:"100 组为通行表汇编,元灵经只存甲、乙、丙三组,非单条原文"},"tarot-orientation":{status:"general",book:"韦特塔罗",chapter:"逆位读法",reason:"韦特体系无中文古籍原文,逆位读法属近代流派"},"tarot-correspondence":{status:"general",book:"Liber 777 一脉的公开对应表",chapter:"小阿卡纳 2-10 的旬位与十源质",reason:"属近代西方神秘学对应表,无中文古籍原文;本插件按三处独立公开资料互核后取数字牌旬位,宫廷牌两派映射冲突故不配星座"}};function A(){return[...U.map(j=>H(j.id)),...T.map(j=>H(j.id))]}function q(j,$=""){const b=o[j];if(!b)return{source:$,citations:[],status:"general",reason:"未建立引文索引"};if(Array.isArray(b.refs)&&b.refs.length){const p=b.refs.map(H).filter(Boolean),w=p.map(g=>`《${g.bookName}·${g.chapter}》${g.url}`).join(";");return{source:`${$}(原文索引:${w})`,citations:p,status:"verified"}}return{source:`${$}(${b.status==="todo"?"待补原文":"通行说,原文待补"}:${b.book||""}${b.chapter?`·${b.chapter}`:""})`,citations:[],status:b.status||"general",reason:b.reason||""}}function Z(){return Object.entries(re).filter(([,j])=>Array.isArray(j.citationIds)&&j.citationIds.length).map(([j,$])=>({name:j,citationIds:$.citationIds,citations:$.citationIds.map(H).filter(Boolean)}))}return{CITATION_BOOKS:ne,CITATIONS:T,citationOf:H,CARD_CITATIONS:o,allCitations:A,citationSourceOf:q,patternCitations:Z}})(),J.interpret=(function(){const{HEX64:U,HEX_BY_CORE:Q,TRIGRAM:ae,YAO_POSITION:re,MOVING_NATURE:ne,ZIWEI_STARS:T,WUXING_INDUSTRY:_,WUXING_ORGAN:H,TENGOD_STYLE:o,LIUREN_JIANG:A,TAROT_ELEMENT_FOCUS:q,DISCLAIMER:Z}=J["interpret-data"]||{},{MUTAGEN:j}=J.ziwei||{},{palaceFieldOf:$,starExtraOf:b,starPairOf:p,brightRead:w,huaInLine:g,shaLineOf:m,shaNatureOf:f,fuLineOf:s,patternReadOf:i,MAIN_SHA:t}=J["ziwei-words"]||{},{stemPortraitOf:r,godPortraitOf:y,frameToneOf:h,relationNotes:c}=J["bazi-words"]||{},{bodyLabels:N,yongshenOf:O}=J.liuyao||{},we=[{key:"overall",label:"整体运势"},{key:"work",label:"工作与职业选择"},{key:"career",label:"事业发展"},{key:"love",label:"爱情与感情"},{key:"health",label:"健康状况"}],Ye={bazi:"natal",ziwei:"natal",liuyao:"divination",meihua:"divination",daliuren:"divination",tarot:"card"},d={bazi:"八字",ziwei:"紫微斗数",liuyao:"六爻",meihua:"梅花易数",daliuren:"大六壬",tarot:"塔罗"},I=[{key:"general",label:"综合",dim:null,focus:""},{key:"wealth",label:"财运",dim:"work",focus:"钱财进出的落点主要看「工作与职业选择」与「事业发展」这两条。"},{key:"career",label:"事业",dim:"career",focus:"事业发展这条与你的问题最直接。"},{key:"love",label:"感情",dim:"love",focus:"感情这条与你的问题最直接。"},{key:"health",label:"健康",dim:"health",focus:"健康这条与你的问题最直接;下面只作提醒,不作任何诊断。"},{key:"study",label:"学业",dim:"career",focus:"学业与考试更贴近「事业发展」这条,讲的是长期积累与阶段进展。"},{key:"travel",label:"出行",dim:"overall",focus:"出行与迁动更贴近「整体运势」这条,看的是当下这一段的大环境。"}],F="general",oe=l=>I.find(S=>S.key===l)||I[0];function te(l){const S=D(l)?l:{},v=typeof S.question=="string"?S.question.trim().slice(0,200):"",ie=oe(S.direction);return{question:v,direction:ie.key,directionLabel:ie.label,echo:v?`问题:${v} | 询问方向:${ie.label}`:`询问方向:${ie.label}`}}function fe(l,S,v){const ie=Array.isArray(l)?l.slice():[],C=oe(S&&S.direction);if(C.dim){const Me=ie.findIndex(pe=>pe&&pe.key===C.dim);if(Me>0){const pe=ie[Me];ie.splice(Me,1),ie.unshift(pe)}if(ie[0]&&ie[0].key===C.dim){const pe=S.question?`就你所问的「${S.question}」来看(${C.label}方向)——${C.focus}`:`按${C.label}这个方向看——${C.focus}`;ie[0]=Object.assign({},ie[0],{text:`${pe}${ie[0].text}`,focused:!0})}}let Y=v||"";return S.question?Y=`你问的是「${S.question}」${C.key==="general"?"。":`,方向是${C.label}。`}${Y}`:C.key!=="general"&&(Y=`方向是${C.label}。${Y}`),{dims:ie,lead:Y}}const ze={大吉:"外部环境对你比较配合,属于可以主动争取的阶段",吉:"整体偏顺,适合稳步推进手上的事",平:"起伏不大,更适合打基础、补短板",忌:"摩擦与消耗偏多,宜守成、减少冒进",大忌:"压力相对集中,宜降低预期、先保住基本盘"},W={大吉:"想做的事可以排进日程,别只停在想法上",吉:"按已有节奏走,把一件事做完整比开新头更划算",平:"把精力投向积累:技能、资质、人脉都算数",忌:"少做大的调整,先把手上的事收尾",大忌:"给自己留出缓冲,重要决定不妨往后放一放"},D=l=>l&&typeof l=="object",z=(l,S,v="")=>D(l)&&l[S]!=null?l[S]:v,P=(l,S="、")=>Array.isArray(l)?l.filter(Boolean).join(S):String(l||"");function V(l,S,v){if(U[l])return{full:l,...U[l]};const ie=typeof l=="string"&&l.length>2?l.slice(2):l;if(Q[ie]){const Me=Q[ie];return{full:Me,...U[Me]}}const C=ae[S]||{},Y=ae[v]||{};return{full:l||"本卦",meaning:`${C.nature||S||""}在${Y.nature||v||""}上,${C.trait||""}遇${Y.trait||""}`.trim(),scene:"按上下卦的取象体会这一卦的大意"}}function ue(l){const S=String(l||"");return/七杀/.test(S)?"七杀":/正官/.test(S)?"正官":/正财/.test(S)?"正财":/偏财|财格/.test(S)?"偏财":/伤官/.test(S)?"伤官":/食神|食伤/.test(S)?"食神":/正印/.test(S)?"正印":/偏印|枭/.test(S)?"偏印":/劫财/.test(S)?"劫财":/比肩|比劫/.test(S)?"比肩":/官/.test(S)?"正官":/财/.test(S)?"偏财":/印/.test(S)?"正印":""}function le(l,S){const v=re.find(ie=>ie.pos===l)||re[0];return`${v.name}(${v.gist}):${v.tone}${S?";此处发动,"+(S.yinYang==="阳"?ne.yang:ne.yin):""}`}function ve(l){const S=D(l.dayMaster)?l.dayMaster:{},v=D(l.strength)?l.strength:{},ie=D(l.frame)?l.frame:{},C=D(ie.yongshen)?ie.yongshen:{},Y=l.climate||(D(C.climate)?C.climate:D(C.tiaohou)?C.tiaohou:null),Me=D(l.wuxing)?l.wuxing:{},pe=z(v,"level","中和"),_e=Array.isArray(C.favor)?C.favor:[],ee=Array.isArray(C.avoid)?C.avoid:[],me=Array.isArray(C.disputed)?C.disputed:[],en=Array.isArray(C.neutral)?C.neutral:[],Re=en.length?`其中${en.map(E=>`${E.element}(${E.role})`).join("、")}全局仅 ${en.map(E=>E.weight).join("、")} 分,分量近零,按中性偏忌看;仍留在忌里,是因为行运走到这一行时照样按忌计。`:"",de=z(ie,"primaryName","未取定"),L=z(l.input,"gender","")==="male",De=L?"财":"官杀",he=Number(z(l.liunian?.[0],"age",NaN)),He=Array.isArray(l.dayun?.list)?l.dayun.list:[];let Oe=null;for(const E of He)Number.isFinite(he)&&Number(E.startAge)<=he&&(Oe=E);!Oe&&He.length&&(Oe=He[0]);const Je=D(Oe?.luck)?Oe.luck:{},$n=z(Je,"tier","平"),B=D(l.liunian?.[0])?l.liunian[0]:{},Ke=D(B.luck)?B.luck:{},Qe=z(Ke,"tier","平"),Ue=D(ie.godStats?.groups)?ie.godStats.groups:{},qe=Object.entries(Ue).sort((E,Pe)=>Pe[1]-E[1]),$e=qe[0]?.[0]||"",Ve=qe[1]?.[0]||"",Ce=Object.entries(Me).sort((E,Pe)=>Pe[1]-E[1]),tn=Ce[0]?.[0]||"",xn=Ce[Ce.length-1]?.[0]||"",Mn=Object.keys(Me).filter(E=>Number(Me[E])===0),Un=Oe?He.indexOf(Oe):-1,An=[],lt={甲:"木",乙:"木",丙:"火",丁:"火",戊:"土",己:"土",庚:"金",辛:"金",壬:"水",癸:"水"},ct=E=>lt[String(E||"")[0]]||"",Qn={子:"水",丑:"土",寅:"木",卯:"木",辰:"土",巳:"火",午:"火",未:"土",申:"金",酉:"金",戌:"土",亥:"水"};if(Oe){const E=ct(Oe.ganzhi);E&&(_e.includes(E)?An.push(`当前大运 ${Oe.ganzhi} 走${E},正是喜用,这十年推事情比平时省力;${$e?`可把力气放在${$e}对应的事上`:"适合把长期计划铺开"}。`):ee.includes(E)?An.push(`当前大运 ${Oe.ganzhi} 走${E},落在忌神上,这十年更适合守成、补短板,不宜大杠杆扩张。`):An.push(`当前大运 ${Oe.ganzhi} 走${E},既非喜用也非忌神,属于平运,结果更多取决于你在这段里做了什么。`))}if(Mn.length){const E=Mn.filter(yn=>ee.includes(yn)),Pe=Mn.filter(yn=>_e.includes(yn));E.length&&An.push(`命局缺 ${E.join("、")},而它正是你的忌神——缺得刚好,不必刻意去补。`),Pe.length&&An.push(`命局缺 ${Pe.join("、")},这恰是喜用,是这盘的短板:靠环境、行业与身边人来补,比自己硬扛有效。`)}if($e&&de){const E=ue(de);E&&$e&&E===$e?An.push(`格局 ${de} 与最重的${$e}一致,说明你的能量集中在同一条线上,长处突出、短板也集中。`):E&&An.push(`格局 ${de}(偏${E})与最重的${$e}不在一条线上,内在会有两股力气拉扯:一边是格局给你的路,一边是你本能投入最多的事。`)}if(Array.isArray(l.shensha)&&l.shensha.some(E=>(E.items||[]).some(Pe=>Pe.name==="羊刃"))&&Number(Ue.官杀||0)>=1&&An.push('命见羊刃且官杀有力,属压力驱动型:遇强则强,但需要出口,长期憋着容易内耗;运动或竞技类爱好比"忍"更有用。'),l.pillars?.day){const Pe=l.input?.gender==="male"?"财":"官杀",yn=Number(Ue[Pe]||0),gn=Qn[l.pillars.day.branch]||"";yn>=2&&gn&&_e.includes(gn)?An.push(`配偶星(${Pe})不弱,且日支 ${l.pillars.day.branch} 属喜用,感情中有实际助益,不只看感觉。`):yn===0&&An.push(`命局不见${Pe},感情多靠自己主动创造场景;日支 ${l.pillars.day.branch} 更像"对方的样子"而不是"缘分的强度"。`)}const Bn=Un>=0?He.slice(Un+1,Un+4):He.slice(0,3),Jn=(...E)=>E.filter(Pe=>Pe!=null&&Pe!==""),at=[{key:"overall",label:"整体运势",text:`你的日主是${S.stem}(五行属${S.element}),命局${pe}(${z(v,"score","")} 分)。用神取向偏${P(_e)},忌${P(ee)}——往${P(_e)}的方向走会更省力${C.tiaohou&&C.tiaohou.note?`;调候上${C.tiaohou.note}`:""}。目前走在${z(Oe,"ganzhi","当前")}大运(${$n}),${z(B,"year","今年")}年流年${z(B,"ganzhi","")}为${Qe}。`,advice:`大运看:${ze[$n]||ze.平};流年看:${W[Qe]||W.平}。大方向定在${P(_e)}相关的领域,会比硬扛${P(ee)}顺畅一些。`,evidence:Jn(`日主 ${S.stem}${S.element}·${pe}`,v&&v.parts&&v.parts.season?`月令 ${v.parts.season.branch}${v.parts.season.element}`:"",`喜 ${P(_e)} / 忌 ${P(ee)}`,Oe?`大运 ${Oe.ganzhi}·${$n}`:"",B&&B.ganzhi?`流年 ${B.year}${B.ganzhi}·${Qe}`:"")},{key:"work",label:"工作与职业选择",text:`按喜用神看,${P(_e)}这几类方向对你更有利,可参考的行业包括:${_e.slice(0,2).map(E=>_[E]||"").filter(Boolean).join(";")||"暂未取定,可先按兴趣与能力试"}。命局主格为${de},这类结构的人通常${o[ue(de)]||"有自己稳定的节奏"}。十神中${$e}最重(${qe[0]?.[1]??""}),${Ve}次之,说明你在${$e}所代表的事项上投入的精力最多。`,advice:`选岗位时可以偏向「${P(_e)}属性 + ${$e}对应的事务」;如果现在的工作明显偏${P(ee)}且长期让你疲惫,可以参考上面方向做小幅试探,不必立刻大改。`,evidence:Jn(`主格 ${de}`,`喜用五行 ${P(_e)}`,qe.length?`十神 ${qe.slice(0,3).map(([E,Pe])=>`${E}${Pe}`).join(" ")}`:"")},{key:"career",label:"事业发展",text:`${de}的格局,配合十神里${$e}偏旺的结构,事业上更适合${$e==="财"?"靠业绩与资源积累说话":$e==="官杀"?"在有规则的组织里按层级上升":$e==="印"?"凭资质、专业与口碑取胜":$e==="食伤"?"靠作品、技术与表达打开局面":"与人并肩、共同承担的方式"}。接下来几步大运依次为:${Bn.map(E=>`${E.ganzhi}(${E.luck?.tier||"平"})`).join(" → ")||"暂未排出"},整体节奏是${Bn.length&&Bn.filter(E=>["吉","大吉"].includes(E.luck?.tier)).length>=2?"先抑后扬、后段更顺":"需要一步步积累,中间偶有起伏"}。`,advice:`把${Bn[0]?.ganzhi||"下一步"}这一步当作铺垫期,重点补${$e==="食伤"?"作品与专业深度":$e==="官杀"?"资历与组织内的信任":"可迁移的能力与资质"};遇到${P(ee)}过重的年份,优先保住已有成果。`,evidence:Jn(`格局 ${de}`,Bn.length?`后续大运 ${Bn.map(E=>E.ganzhi).join(" → ")}`:"",`当前 ${z(Oe,"ganzhi","—")}·${$n}`)},{key:"love",label:"爱情与感情",text:`${L?"男命以财星看妻缘":"女命以官杀看夫缘"},你命局中${L?"财":"官杀"}的力量为${Ue[L?"财":"官杀"]??"—"},${Number(Ue[L?"财":"官杀"]||0)>=2?"缘分出现的机会不算少":"需要自己主动创造认识人的场景"}。日支(配偶宫)为${z(l.pillars?.day,"branch","")},坐${z(l.pillars?.day,"zizuo","")},这里的信号是:${Number(Ue[L?"财":"官杀"]||0)>=2?"关系里你容易被主动靠近,但要留意筛选":"感情推进偏慢,属于需要经营的类型"}。`,advice:`不必急着要结果,先看清自己在关系里最在意什么。${Number(Ue[L?"财":"官杀"]||0)>=2?"选项多时,明确标准反而更省心":"可以把社交圈稍微扩大一点,但别为了脱单降低底线"};沟通上多说具体需求,少让对方猜。`,evidence:Jn(`${L?"财":"官杀"} 权重 ${Ue[L?"财":"官杀"]??"—"}`,`日支 ${z(l.pillars?.day,"branch","")}·${z(l.pillars?.day,"zizuo","")}`,`配偶星 ${L?"财":"官杀"}`)},{key:"health",label:"健康状况",text:`五行分布上,${tn}最旺、${xn}最弱${Mn.length?`,其中${P(Mn)}在命局中没有明现`:""}。按五行与身体的对应,${tn}偏旺时${H[tn]?.part||""}负担相对重(${H[tn]?.note||""});${xn}偏弱则${H[xn]?.part||""}偏弱一些,是更值得留意的部分。这只是传统命理的取象提示,不是诊断。`,advice:`建议把作息规律放在第一位——尤其是睡眠时长尽量稳定;${H[xn]?.note?xn+"对应的"+H[xn].part+"可以按体检项目关注":"按常规体检关注"}。任何不适请去看医生,别用命理结论替代检查。`,evidence:Jn(`五行 ${Object.entries(Me).map(([E,Pe])=>`${E}${Pe}`).join(" ")}`,`最旺 ${tn} / 最弱 ${xn}`,Mn.length?`缺 ${P(Mn)}`:"")}],Sn=r(S.stem),Tn=y($e),Fn=y(Ve),Kn=v.parts&&v.parts.season?v.parts.season:null,ht=z(l.pillars?.day,"branch",""),Hn=Object.entries(D(ie.godStats?.byGod)?ie.godStats.byGod:{}).filter(([,E])=>Number(E)>0).sort((E,Pe)=>Pe[1]-E[1]),Vn=Hn[0]?Hn[0][0]:"",ot=y(Vn),et=(Array.isArray(C.favorRoles)?C.favorRoles:[]).slice().sort((E,Pe)=>(Number(Ue[Pe])||0)-(Number(Ue[E])||0)),st=[`**日主**:${S.stem}${S.element}(${S.yinYang}${S.element})${Kn?`生于${Kn.branch}月,日主在月令「${Kn.word}」`:""},命局${pe}(${z(v,"score","—")} 分)${Sn?`——${Sn.image}之象`:""}。`,`**用神**:喜${P(_e)||"—"}(${P(C.favorRoles||[])||"—"}),忌${P(ee)||"—"}(${P(C.avoidRoles||[])||"—"})。${en.length?`(${P(en.map(E=>E.element))} 近零,按中性偏忌看)`:""}${h(pe,et)}`,`**格局**:${de}(${z(ie.primary,"evidence","")})${(Array.isArray(ie.geju)?ie.geju:[]).filter(E=>E.name&&E.name!==de).length?`,另有${ie.geju.map(E=>E.name).filter(E=>E&&E!==de).join("、")}`:""}。`].join(`
|
|
73
|
-
`),G=[`**外在取象**:${
|
|
74
|
-
`),se=(l.liunian||[]).slice(0,3).map(
|
|
70
|
+
`,ae={河北:"石家庄",山西:"太原",内蒙古:"呼和浩特",辽宁:"沈阳",吉林:"长春",黑龙江:"哈尔滨",江苏:"南京",浙江:"杭州",安徽:"合肥",福建:"福州",江西:"南昌",山东:"济南",河南:"郑州",湖北:"武汉",湖南:"长沙",广东:"广州",广西:"南宁",海南:"海口",四川:"成都",贵州:"贵阳",云南:"昆明",西藏:"拉萨",陕西:"西安",甘肃:"兰州",青海:"西宁",宁夏:"银川",新疆:"乌鲁木齐",台湾:"台北"},re={石家庄:[114.51,38.04],太原:[112.55,37.87],沈阳:[123.43,41.8],长春:[125.32,43.82],哈尔滨:[126.53,45.8],南京:[118.8,32.06],杭州:[120.15,30.28],合肥:[117.23,31.82],福州:[119.3,26.08],南昌:[115.86,28.68],济南:[117,36.65],郑州:[113.62,34.75],武汉:[114.3,30.59],长沙:[112.94,28.23],广州:[113.26,23.13],南宁:[108.37,22.82],海口:[110.2,20.04],成都:[104.07,30.67],贵阳:[106.63,26.65],昆明:[102.83,24.88],拉萨:[91.13,29.65],西安:[108.94,34.34],兰州:[103.83,36.06],西宁:[101.78,36.62],银川:[106.23,38.49],乌鲁木齐:[87.62,43.82],台北:[121.52,25.03]},te=(()=>{const j={};for(const $ of V.trim().split(`
|
|
71
|
+
`))for(const b of $.split(";")){const p=b.trim().split(/\s+/);if(p.length!==3)continue;const[w,g,m]=p;j[w]={lon:Number(g),lat:Number(m)}}for(const[$,[b,p]]of Object.entries(re))j[$]||(j[$]={lon:b,lat:p});return j})(),T=/[省区路街道巷弄号村镇乡组队]/,_={中山区:{city:"大连"},朝阳区:{city:"北京",byProvince:{吉林:"长春",辽宁:"朝阳"}}};function H(j){const $=String(j||"").trim();if(!$)return null;const b=Number($);if(Number.isFinite(b)&&/^-?\d+(\.\d+)?$/.test($)&&b>=60&&b<=150)return{lon:b,lat:null,matched:`${b}°E`,level:"经度",note:"按你输入的经度计算"};const p=$.replace(/\s/g,""),w=Object.keys(te).sort((f,s)=>s.length-f.length),g=[];for(const f of w)for(let s=p.indexOf(f);s>=0;s=p.indexOf(f,s+f.length)){const i=p.charAt(s+f.length);T.test(i)||g.push({name:f,at:s,after:i,explicit:i==="市"?1:0})}if(g.sort((f,s)=>s.explicit-f.explicit||f.at-s.at),g.length){const f=g[0],s=te[f.name];return f.after==="县"?{lon:s.lon,lat:s.lat,matched:`${f.name}县`,level:"区县",note:`「${f.name}县」按 ${f.name} 城区估算(约 ${s.lon}°E)`}:{lon:s.lon,lat:s.lat,matched:f.name,level:"地级市",note:`按 ${f.name} 估算(约 ${s.lon}°E)`}}for(const[f,s]of Object.entries(_)){if(!p.includes(f))continue;let i=s.city;for(const[r,y]of Object.entries(s.byProvince||{}))if(p.includes(r)){i=y;break}const t=te[i];if(t)return{lon:t.lon,lat:t.lat,matched:i,level:"区县",note:`「${f}」按 ${i} 估算(约 ${t.lon}°E)`}}const m=w.find(f=>p.includes(`${f}路`)||p.includes(`${f}街`));if(m)return{lon:null,lat:null,matched:null,level:"未匹配",note:`「${m}路」是全国常见的路名,无法确定城市;请补上城市(如「厦门市${m}路」)或直接填经度`};for(const[f,s]of Object.entries(ae)){const i=p.indexOf(f);if(i<0)continue;const t=p.charAt(i+f.length);if(t==="区"||t==="县")continue;const r=te[s]||{lon:re[s][0],lat:re[s][1]};return{lon:r.lon,lat:r.lat,matched:s,level:"省会",note:`未匹配到具体城市,按 ${f} 省会 ${s} 估算(约 ${r.lon}°E)`}}return{lon:null,lat:null,matched:null,level:"未匹配",note:`没查到「${$}」,可改填经度(如 116.4)`}}const o=/(区|县|镇|乡|村|小区|街道|路|号|巷|弄|组|队)/,A="dsh-metaphysics (+https://github.com/xuanfu-web/dsh-metaphysics)";async function E(j,{timeoutMs:$=2500}={}){if(typeof fetch!="function")return null;let b=null;try{const p=typeof AbortController=="function"?new AbortController:null;p&&(b=setTimeout(()=>p.abort(),$));const w="https://nominatim.openstreetmap.org/search?format=jsonv2&limit=1&accept-language=zh-CN&countrycodes=cn&q="+encodeURIComponent(j),g=await fetch(w,{signal:p?p.signal:void 0,headers:{"User-Agent":A}});if(!g||!g.ok)return null;const m=await g.json();if(!Array.isArray(m)||m.length===0)return null;const f=m[0],s=Number(f.lon),i=Number(f.lat);return Number.isFinite(s)?{lon:s,lat:i,matched:f.display_name,level:"在线",note:`在线解析:${f.display_name}`}:null}catch{return null}finally{b&&clearTimeout(b)}}async function Z(j,$={}){const b=H(j),p=String(j||"").trim();if(!p||!U($.online)||b&&typeof b.lon=="number"&&!o.test(p))return b;const g=await E(p,$);return g?{...g,local:b&&b.lon!=null?b:null}:b&&typeof b.lon=="number"?{...b,onlineFailed:!0,note:`${b.note}(联网解析失败或超时,已退回内置坐标表)`}:{...b,onlineFailed:!0}}return{CITIES:te,PROVINCES:ae,resolveAddress:H,geocodeAddress:Z}})(),J.random=(function(){function U(T){const _=Number(T),H=_>>>0,o=Math.floor(Math.abs(_)/4294967296)>>>0,A=Math.round((_-Math.trunc(_))*4294967296)>>>0;let E=(H^Math.imul(o+1,2246822507)^A)>>>0;return E||(E=2654435769),function(){E=E+1831565813>>>0;let j=E;return j=Math.imul(j^j>>>15,j|1),j^=j+Math.imul(j^j>>>7,j|61),((j^j>>>14)>>>0)/4294967296}}const V=/^[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?$/,ae=T=>{if(typeof T=="number")return Number.isFinite(T)?T:NaN;if(typeof T=="string"){const _=T.trim();if(_!==""&&V.test(_))return Number(_)}return NaN};function re(T){if(T==null||T==="")return Math.random;const _=ae(T);return Number.isFinite(_)?U(_):Math.random}function te(T){return T==null||T===""?!0:Number.isFinite(ae(T))}return{mulberry32:U,randomOf:re,isSeed:te}})(),J.dst=(function(){const{daysInMonth:U}=J.validate||{},V={1986:["1986-05-04","1986-09-14"],1987:["1987-04-12","1987-09-13"],1988:["1988-04-10","1988-09-11"],1989:["1989-04-16","1989-09-17"],1990:["1990-04-15","1990-09-16"],1991:["1991-04-14","1991-09-15"]},ae=(_,H,o)=>_*1e4+H*100+o;function re(_){const H=V[_.year];if(!H)return!1;const[o,A,E]=H[0].split("-").map(Number),[Z,j,$]=H[1].split("-").map(Number),b=ae(_.year,_.month,_.day);if(b<ae(o,A,E)||b>ae(Z,j,$))return!1;const p=_.hour*60+(_.minute||0);return!(b===ae(o,A,E)&&p<120||b===ae(Z,j,$)&&p>=120)}function te(_){const H=V[_.year];if(!H)return null;const[o,A,E]=H[0].split("-").map(Number),[Z,j,$]=H[1].split("-").map(Number),b=ae(_.year,_.month,_.day),p=_.hour*60+(_.minute||0);return b===ae(o,A,E)&&p>=120&&p<180?"gap":b===ae(Z,j,$)&&p>=60&&p<120?"twice":null}function T(_){const H=_.minute||0;if(!re(_))return{year:_.year,month:_.month,day:_.day,hour:_.hour,minute:H,applied:!1,note:null};let{year:o,month:A,day:E,hour:Z}=_;Z-=1,Z<0&&(Z+=24,E-=1,E<1&&(A-=1,A<1&&(A=12,o-=1),E=U(o,A)));const j=te(_);return{year:o,month:A,day:E,hour:Z,minute:H,applied:!0,note:`检出自 ${V[_.year][0]} 至 ${V[_.year][1]} 的中国夏令时:出生钟面时间已减 1 小时校正`+(j==="gap"?";这一天 02:00–03:00 钟表直接跳过,所给钟面时间在当年并不存在——这里按「拨快后的读数」回退一小时,若登记的本是标准时间,请传 dst:false 重排。":j==="twice"?";这一天 01:00–02:00 因回拨走了两遍,同一钟面时间对应两个真实时刻——这里按夏令时的那一遍(回退一小时)取。":"")}}return{DST_SPANS:V,inDstSpan:re,dstAmbiguity:te,applyDst:T}})(),J.classics=(function(){const U={ziping:{name:"子平真诠",author:"清·沈孝瞻",base:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/"},ditian:{name:"滴天髓",author:"明·京图(通行本)",base:"https://www.diancang.xyz/xuanxuewushu/ditiansui/"},sanming:{name:"三命通会",author:"明·万民英",base:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/"}},V=[{id:"zp-yongshen",book:"ziping",chapter:"八、论用神",scene:"用神",tags:[],quote:"八字用神,专求月令,以日干配月令地支,而生克不同,格局分焉。财官印食,此用神之善而顺用之者也;煞伤劫刃,用神之不善而逆用之者也。",plain:"用神从月令里找:财、官、印、食四吉神顺用(生之护之),煞、伤、劫、刃四凶神逆用(制之化之)。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53628.html"},{id:"zp-zhenguan",book:"ziping",chapter:"三十一、论正官",scene:"格局",tags:["正官"],quote:"以刑冲破害为忌,则以生之护之为喜矣。存其喜而去其忌则贵,而贵之中又有高低者,何也?",plain:"正官格最忌刑冲破害,喜财生官、印护官;去忌存喜才谈得上贵,贵的层次还要看财印是否并透、有无伤官七煞混杂。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53651.html"},{id:"zp-cai",book:"ziping",chapter:"三十三、论财",scene:"格局",tags:["财","正财","偏财"],quote:"财为我克,使用之物也,以能生官,所以为美。为财帛,为妻妾,为才能,为驿马,皆财类也。",plain:"财是我所克、能为我用之物,因能生官而美;它同时代表钱财、配偶、才能、走动,不只「钱」一项。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53653.html"},{id:"zp-yin",book:"ziping",chapter:"三十五、论印绶",scene:"格局",tags:["印"],quote:"印绶喜其生身,正偏同为美格,故财与印不分偏正,同为一格而论之。",plain:"印能生身,正印偏印都算美格,不分偏正而论;印格的关键在身印强弱与官杀、食伤、财的配合。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53655.html"},{id:"zp-shishen",book:"ziping",chapter:"三十七、论食神",scene:"格局",tags:["食神"],quote:"食神本属泄气,以其能生正财,所以喜之。故食神生财,美格也。财要有根,不必偏正叠出,如身强食旺而财透,大贵之格。",plain:"食神本是泄气,可贵在能生财;食神生财要财有根,身强、食旺、财透三者齐,格局才大。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53657.html"},{id:"zp-pianguan",book:"ziping",chapter:"三十九、论偏官",scene:"格局",tags:["七杀","偏官"],quote:"煞以攻身,似非美物,百大贵之格,多存七煞。盖控制得宜,煞为我用,如大英雄大豪杰,似难驾驭,而处之有方,则惊天动地之功,忽焉而就。",plain:"七煞攻身,看着不美,但大贵之格多有七煞——能控制住就为我所用,像驾驭豪杰,处之有方就能成大事。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53659.html"},{id:"zp-shangguan",book:"ziping",chapter:"四十一、论伤官",scene:"格局",tags:["伤官"],quote:"伤官虽非吉神,实为秀气,故文人学士,多于伤官格内得之。而夏木见水,冬金见火,则又为秀之尤秀者也。",plain:"伤官不是吉神,却是秀气所在,文人多出伤官格;夏木得水、冬金得火,是秀气里更秀的两种。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53661.html"},{id:"zp-yangren",book:"ziping",chapter:"四十三、论阳刃",scene:"格局",tags:["劫财","阳刃"],quote:"阳刃者,劫我正财之神,乃正财之七煞也。禄前一位,惟五阳有之,故为阳刃。不曰劫而曰刃,劫之甚也。刃宜伏制,官煞皆宜,财印相随,尤为贵显。",verifiedQuote:"阳刃者,劫我正财之神,乃正财之七煞也。禄前一位,惟五阳有之",variantNote:"典藏网此页把「故为阳刃」刻作「故为旭刃」,与通行本异文;前段仍可逐字核验",plain:"阳刃是劫财之极(只有五阳干有),宜用官煞制伏;财印相随而不相碍,格局更显。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53663.html"},{id:"zp-lujie",book:"ziping",chapter:"四十五、论建禄月劫",scene:"格局",tags:["比肩","建禄","月劫"],quote:"故建禄与月劫,可同一格,不必加分,皆以透干支,别取财官煞食为用。",plain:"建禄、月劫同看一格,月令本身不算用神,要另看透出的财官煞食取用。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53665.html"},{id:"zp-qihou",book:"ziping",chapter:"十四、论用神配气候得失",scene:"调候",tags:[],quote:"论命惟以月令用神为主,然亦须配气候而互参之。譬如英雄豪杰,生得其时,自然事半功倍;遭时不顺,虽有奇才,成功不易。",plain:"月令用神为主,但必须配气候参看;同样的格局,生在得时的气候里事半功倍,逆着气候就费劲。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53634.html"},{id:"zp-chengbai",book:"ziping",chapter:"九、论用神成败救应",scene:"格局",tags:[],quote:"成中有败,必是带忌;败中有成,全凭救应。",plain:"成格不等于一路顺:成中带忌(官逢财又逢伤、官被合之类)就打了折;败格也未必无救——印来解伤、合来清煞,败中还能转成。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53629.html"},{id:"zp-zaji",book:"ziping",chapter:"十六、论杂气如何取用",scene:"用神",tags:[],quote:"何谓透干?如甲生辰月,透戊则用偏财,透癸则用正印,透乙则用月劫是也。何谓会支?如甲生辰月,逢申与子会局,则用水印是也。一透则一用,兼透则兼用,透而又会,则透与会并用。",plain:"四墓(辰戌丑未)所藏不止一气,所以叫杂气:取用先看哪一藏干透到天干,透一个用一个;没有透干,再看地支有没有与月支会成三合局,会成什么局就取局中那一气。透干与会支同时成立时两样并用。原文对「兼透」只给原则,没有给取舍次序。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53636.html"},{id:"zp-bianhua",book:"ziping",chapter:"十、论用神变化",scene:"格局",tags:[],quote:"故若丁生亥月,本为正官,支全卯未,则化为印。己生申月,本属伤官。藏庚透壬,则化为财。凡此之类皆用神之变化也。",plain:"用神本从月令取,但月令藏干不一:丁生亥月本为正官,支会卯未就化为印;己生申月本属伤官,庚藏壬透就化为财。起点相同,合化一变,取用也跟着变(原文只说变化之由,不断定某盘必化)。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53630.html"},{id:"dt-hannuan",book:"ditian",chapter:"通神论·寒暖",scene:"调候",tags:[],quote:"天道有寒暖,生育万物,人道行之,不可过也。",plain:"天有寒暖才能生养万物,人命里寒暖也不能过——过寒过热都要调。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-zaoshi",book:"ditian",chapter:"通神论·燥湿",scene:"调候",tags:[],quote:"地道有燥湿,生成品汇,人道得之,不可偏也。",plain:"地有燥湿才有品类生成,人命得燥湿之气也不能偏。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-shuaiwang",book:"ditian",chapter:"通神论·衰旺",scene:"调候",tags:[],quote:"能知旺衰之真机,其于三命之奥,思过半矣。",plain:"真正看懂旺衰的机关,命理之奥就过了一半——旺衰不是数个数,要看真机。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-zhonghe",book:"ditian",chapter:"通神论·中和",scene:"调候",tags:[],quote:"既识中和之正理,而于五行之妙,有全能焉。",plain:"懂得中和的道理,五行的妙处就都在其中了。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-guansha",book:"ditian",chapter:"通神论·官杀",scene:"十神",tags:["正官","七杀"],quote:"官杀混杂来问我,有可有不可。",plain:"官杀混杂不是一律不好,要看能不能去留取清。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-shangguan",book:"ditian",chapter:"通神论·伤官",scene:"十神",tags:["伤官"],quote:"伤官见官最难辨,可见不可见。",plain:"伤官见官是最难分辨的一条:有的能见,有的不能见,不能一句「伤官见官为祸百端」了事。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-yueling",book:"ditian",chapter:"通神论·月令",scene:"用神",tags:[],quote:"月令乃提纲之府,譬之宅也,人元为用事之神,宅之定向也,不可以不卜。",plain:"月令像宅子,藏干是用事之神,像宅子的朝向,必须细看。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-tiyong",book:"ditian",chapter:"通神论·体用",scene:"用神",tags:[],quote:"道有体用,不可以一端论也,要在扶之抑之得其宜。",plain:"体用不能只看一头,关键是扶抑得宜。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-jingshen",book:"ditian",chapter:"通神论·精神",scene:"用神",tags:[],quote:"人有精神,不可以一偏求也,要在损之益之得其中。",plain:"看精神不能偏执一端,要在损益之间求其中。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-tongguan",book:"ditian",chapter:"通神论·通关",scene:"用神",tags:[],quote:"关内有织女,关外有牛郎,此关若通也,相邀入洞房。",plain:"两股力隔着一道关相望:一边织女、一边牛郎,中间若有一行能把两边接上(一方生它、它再生另一方),对峙就化成相生。原文只给取象,哪一行为关要按五行生克定。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"smt-zhenguan",book:"sanming",chapter:"卷五·论正官",scene:"格局",tags:["正官"],quote:"正官者,乃甲见辛、乙见庚之例。阴阳配合,相制有用,成其道也。故正官为六格之首,止许一位,多则不宜。",plain:"正官取「克我而阴阳相配」,有制而能成用;六格以正官居首,只宜一位,多见就杂。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7582.html"},{id:"smt-zhengcai",book:"sanming",chapter:"卷六·论正财",scene:"格局",tags:["财","正财"],quote:"正财者,乃甲见己、乙见戊之例。受我克制,为我之妻,譬人娶妻,妻赍财嫁我,我必精神康强,而后可享用,若衰微不振,虽妻财丰厚,但能目视,终不得用。",plain:"正财是我克制之物,古人以「娶妻带财」作比:自身精神康强才受用得起,身弱不振,财再厚也只是看着。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7645.html"},{id:"smt-piancai",book:"sanming",chapter:"卷六·论偏财",scene:"格局",tags:["财","偏财"],quote:"何谓偏财?乃甲见戊、乙见己之例。非妻所带,乃众人之财也。切忌有姊妹兄弟分夺,柱无官星,祸患百出。",plain:"偏财取「我克而阴阳不同」:不是妻家带来的私财,而是众人之财,宜流通不宜独占。原文最忌比肩劫财来分夺,又说柱中无官星则多事(旧说的重话照录,本插件只记原文、不作断语)。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7650.html"},{id:"smt-yinshou",book:"sanming",chapter:"卷六·论印绶",scene:"格局",tags:["印"],quote:"印绶者,乃五行生我之名。如甲乙在亥子月,丙丁在寅卯月之类,乃我气之源,为生气,为父母,能护我官星,使无伤克",plain:"印是生我之气,像源头与父母:它能护住官星,使官不受伤克;反过来说,印重就怕财来破。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7655.html"},{id:"smt-shishen",book:"sanming",chapter:"卷六·论食神",scene:"格局",tags:["食神"],quote:"凡命遇财煞之地,食神旺相,煞被食制,不敢为祸,财被食生,充裕不竭,故食神一名寿星,一名爵星,良有以也。",plain:"食神旺,一头制煞、一头生财:煞被制住不敢为祸,财被生起不至枯竭;所以食神又叫寿星、爵星。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7663.html"},{id:"smt-shangguan",book:"sanming",chapter:"卷六·论伤官",scene:"格局",tags:["伤官"],quote:"伤官虽凶,乃我所生,自家之物,伤尽则能生财,财旺则能生官,造化展转有情。",plain:"伤官虽称凶,却是我自己生出来的:伤尽(柱中不见官星)反能生财,财旺再生官,辗转还是有情。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7662.html"},{id:"smt-yangren",book:"sanming",chapter:"卷六·论阳刃",scene:"格局",tags:["阳刃","劫财"],quote:"阳者,阴阳之阳,刃者,刀刃之刃,即禄前一位,言旺越其分,故险。",plain:"阳刃指禄前一位,旺过了本分,所以险;甲丙戊庚壬五阳干才有刃,阴干见伤官同论。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7671.html"},{id:"smt-jianlu",book:"sanming",chapter:"卷六·论建禄",scene:"格局",tags:["建禄","比肩","月劫"],quote:"凡命月令建禄,难招祖业,必主平生见财不聚,却病少寿长,行运再见比肩,克妻妨父损子",plain:"月令建禄是日主临官之地,身旺而财官难取:古说难承祖业、见财不聚,但病少寿长;再走比肩运,古书说克妻妨父损子(属于旧说的重话,本插件只记原文、不作断语)。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7672.html"},{id:"smt-guansha-liu",book:"sanming",chapter:"卷五·官煞去留杂论",scene:"格局",tags:["七杀","偏官"],quote:"凡看去留,要详柱中官煞孰重孰轻,天干透者易去,月支所藏者难去,须伤官食神去官煞之物众而有力,方才去得。",plain:"官煞混见时先比谁重谁轻:天干透出的容易去,月支藏着的难去;用来去官煞的伤官食神要成众、有根有力,才真去得掉。七杀格遇正官混杂,就按这一篇看取舍。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7599.html"},{id:"smt-quzhi",book:"sanming",chapter:"卷六·曲直",scene:"格局",tags:["曲直格","专旺"],quote:"甲乙日得亥卯未局,柱中须有亥字带印为入格,若无亥有卯,止是木之本气,却要见金土为贵,既无亥字,又无金土,则木不秀不实,难以言贵。",plain:"曲直格要木局成方(亥卯未)且带亥字为印,才算入格;只有卯、没有亥,只是木的本气,得另见金土才谈得上贵;两样都没有,木虽旺而无成,难称贵格。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7630.html"},{id:"smt-yanshang",book:"sanming",chapter:"卷六·炎上",scene:"格局",tags:["炎上格","专旺"],quote:"丙丁日遇寅午戌局,柱中须有寅字带印为入格,无寅止是九流近贵之命,若火自旺,无亥水相济,不贵。喜东北方运,忌见辰丑戊己,晦火光明,多主眼疾,或患风气,柱有木制成贵,忌水金乡,怕冲。",plain:"炎上格要火局成方(寅午戌)且带寅字为印才入格;无寅只是偏贵的命。火自旺还要一点水相济,过燥不贵;行运喜东北、忌湿土晦火,也怕冲。原文另带「多主眼疾」一句,属于旧说,本插件只记原文、不作健康判断。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7631.html"},{id:"smt-congge",book:"sanming",chapter:"卷六·从革",scene:"格局",tags:["从革格","专旺"],quote:"庚辛日见巳酉丑局,须带丙丁巳午一二位方成其器,但不可火多。如辛巳、辛酉、辛丑三日不喜五月生,被火所伤,宜八月或水土养育食神印绶为吉。",plain:"从革格是金局成方(巳酉丑),但金要火炼才成器:须带丙丁或巳午一二位,火又不能多。辛巳、辛酉、辛丑三日出身在五月(火旺)被伤,原文说宜八月或水土养育。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7632.html"},{id:"smt-runxia",book:"sanming",chapter:"卷六·润下",scene:"格局",tags:["润下格","专旺"],quote:"壬癸日见申子辰全,忌引卯巳死绝之地,三刑四冲之乡,死绝则不流,冲刑则横流,岁运同。或曰水太泛须柱有土神一两位制之,得成堤岸,既有土怕会木为凶,如有木伤土要金印救解,终是一生成败。",plain:"润下格是水局三合全(申子辰),最忌卯巳死绝与三刑四冲:死绝水不流,冲刑水横流,行运也一样看。水太泛要一两位土作堤,有土又怕木来破堤,木伤土再用金印解救——原文把成败条件摊开讲。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7633.html"},{id:"smt-jiasi",book:"sanming",chapter:"卷六·稼穑",scene:"格局",tags:["稼穑格","专旺"],quote:"赋云:戊己忻逢四季,乃为稼穑之名。是戊己生逢季月,喜见木为官,止得一木为妙,木多则土虚,主虚诈为破家不仁之人。",plain:"稼穑格取戊己生于四季月(辰戌丑未)。原文说喜见一木为官,木多则土虚;后半对木多之人的评语是旧说的重话,本插件只照录条件、不拿来评价人。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7634.html"},{id:"smt-congsha",book:"sanming",chapter:"卷五·弃命从煞",scene:"格局",tags:["从杀格"],quote:"《独步》云:弃命从煞,须要会煞从财,忌煞从煞。盖言从煞格,以煞神太重,身无所归,不得已从之,要行煞旺及财乡,四柱无一点比肩印绶方论,如遇运扶身旺,与煞为敌,从煞不专,故为祸患。",plain:"从煞格是煞太重、日主无所归才「弃命」相从:条件是四柱没有一点比肩印绶扶身,行运喜煞旺与财乡;一旦走扶身之运,与煞为敌,就从得不专。本插件只作结构说明,不据此断寿夭。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7598.html"},{id:"smt-congcai",book:"sanming",chapter:"卷六·弃命从财",scene:"格局",tags:["从财格"],quote:"《独步》云:弃命从财,须要会财,若逢根气,命损无猜。假如丁生酉月,柱多庚辛,日干无气,只得弃命相从,运入北方财官旺地,乃为入格,南行灾。",plain:"从财格要财会成局、日干无气;一见根气就破格,原文用「命损无猜」这种重话写明。以丁生酉月、柱多庚辛为例:只能弃命相从,行北方财官旺地为入格,南行则灾。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7652.html"},{id:"smt-suiyun",book:"sanming",chapter:"卷二·总论岁运",scene:"岁运",tags:[],quote:"行运以生月为运元,最怕行运与太岁冲克,若岁运冲月必祸;若岁运与日相对,谓之返吟,岁运压日,谓之伏吟,二者不利六亲,非横破财,不为吉兆。",plain:"大运以生月为起点,最怕与流年(太岁)冲克:原文说岁运冲月为祸,又把「岁运与日柱相对」叫返吟、「岁运压日」叫伏吟。这两句是按「对日柱」说的,与本插件「干支相同为伏吟、天克地冲为反吟」不是同一套定义(本插件取后者);末句「不利六亲、破财」是旧说的重话,只作变动提示,不作断语。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7539.html"},{id:"smt-renyuan",book:"sanming",chapter:"卷二·论人元司事",scene:"人元",tags:[],quote:"故支吕所藏者主命,谓之人元,名为司事之神,以命术言之为月令。如正月建寅,寅中有艮土用事五日,丙火长生五日,甲木二十日;二月建卯,卯中有甲木用事七日,乙木二十三日;",plain:"地支所藏为「人元」,按月令分日轮值。三命通会这一本给的是另一套日数:寅月艮土(戊土)五日、丙火五日、甲木二十日,卯月甲七日、乙二十三日。它与本插件采用的通行 30 日表(寅月戊7丙7甲16,即 7/7/16;卯月甲10乙20,即 10/20)不是同一套分法;两表各照原样并列,本插件仍按通行表给「第几日谁当权」,不改取格。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7529.html"}],ae=V.reduce((j,$)=>(j[$.id]=$,j),{}),re={正官格:"正官",七杀格:"七杀",偏官格:"偏官",正财格:"正财",偏财格:"偏财",正印格:"印",偏印格:"印",食神格:"食神",伤官格:"伤官",阳刃格:"阳刃",月劫格:"月劫",建禄格:"建禄"},te={曲直格:"smt-quzhi",炎上格:"smt-yanshang",从革格:"smt-congge",润下格:"smt-runxia",稼穑格:"smt-jiasi",从财格:"smt-congcai",从杀格:"smt-congsha"};function T(j){return ae[j]||null}function _(j){return(j&&Array.isArray(j.liunian)?j.liunian:[]).some(p=>p&&p.suiyun&&Array.isArray(p.suiyun.signals)&&p.suiyun.signals.length)?T("smt-suiyun"):null}function H(j){const $=String(j||"");if(re[$])return re[$];const b=$.replace(/格$/,"");return re[b+"格"]||b}function o(j,$){return V.find(b=>b.scene==="格局"&&b.tags.includes(j)&&(!$||b.book===$))||null}function A(j){return j.chapter.replace(/^.*[、·]/,"").replace(/^论/,"")}function E(j,$=5){if(!j)return[];const b=[],p=new Set,w=(c,q)=>{!c||p.has(c.id)||b.length>=$||(p.add(c.id),b.push({...c,why:q}))},g=Array.isArray(j.geju)?j.geju:j.frame&&Array.isArray(j.frame.geju)?j.frame.geju:[],m=g.some(c=>c&&c.kind==="化气格");for(const c of g){if(c&&c.status==="破格"||m&&c&&c.status==="假从")continue;const q=c&&te[c.name]?T(te[c.name]):null;q&&w(q,`本盘列有「${c.name}」,故取${U[q.book].name}「${A(q)}」一条`)}for(const c of g){if(!c||c.kind&&c.kind!=="月令格")continue;const q=H(c.name),O=o(q,"ziping")||o(q);O&&w(O,`你的月令格局是「${c.name}」,故取${U[O.book].name}「${A(O)}」一条`);const we=V.find(Ye=>Ye.scene==="格局"&&Ye.tags.includes(q)&&(!O||Ye.book!==O.book));we&&w(we,`同是「${c.name}」,${U[we.book].name}「${A(we)}」另有取法,可对照读`)}const f=j.climate||j.frame&&j.frame.yongshen&&(j.frame.yongshen.climate||j.frame.yongshen.tiaohou),s=j.frame&&j.frame.yongshen&&j.frame.yongshen.tongguan,i=s&&s.usable?T("dt-tongguan"):null;if(f&&f.kind&&f.kind!=="平和"){const c=!!(f.cold||f.kind.indexOf("寒")>=0),q=!!(f.hot||f.kind.indexOf("热")>=0);w(T(c?"dt-hannuan":"dt-zaoshi"),`本盘气候判为「${f.kind}」,故取${U.ditian.name}寒暖燥湿一条`),i||w(T("zp-qihou"),"气候与月令用神要互参,故取子平真诠「用神配气候」一条"),q&&w(T("dt-hannuan"),"本盘偏热,寒暖一条正对")}i&&w(i,`本盘忌${s.foe}克用${s.use},局中${s.bridge}${s.weight}分可作通关,故取${U.ditian.name}「通关」一条`);const t=g.find(c=>c&&c.kind==="化气格"),r=g.find(c=>c&&c.kind==="组合"),y=j.monthBranch||j.frame&&j.frame.monthBranch||j.pillars&&j.pillars.month&&j.pillars.month.branch,h=["辰","未","戌","丑"].includes(y);return t?w(T("zp-bianhua"),`本盘列有「${t.name}」:用神由月令合化而变,总纲一位改取${U.ziping.name}论用神变化`):h?w(T("zp-zaji"),`月令${y}属四墓杂气,取用先看透干、再看会支,总纲一位取${U.ziping.name}论杂气如何取用`):r?w(T("zp-chengbai"),`本盘另有「${r.name}」组合:成格还要看带忌与救应,总纲一位改取${U.ziping.name}论用神成败救应`):w(T("zp-yongshen"),"用神从月令取、四吉顺用四凶逆用,是通用总纲"),b}function Z(j){return!j||!j.length?"":j.map($=>`《${U[$.book].name}·${$.chapter}》「${$.quote}」`).join(`
|
|
72
|
+
`)}return{CLASSIC_BOOKS:U,CLASSICS:V,classicOf:T,suiyunClassicOf:_,classicsFor:E,classicsText:Z}})(),J.daliuren=(function(){const{toJDN:U,dayGanzhiIndex:V,ganzhiName:ae,termWindow:re,formatJd:te,jdToParts:T,xunKongOf:_}=J.calendar||{},{assertCivil:H,assertShifted:o}=J.validate||{},{SANHE_ELEMENT:A}=J.sanhe||{},{bool:E}=J.bool||{},Z=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],j=["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"],$=["贵","蛇","雀","合","勾","龙","空","虎","常","玄","阴","后"],b={贵:"贵人",蛇:"螣蛇",雀:"朱雀",合:"六合",勾:"勾陈",龙:"青龙",空:"天空",虎:"白虎",常:"太常",玄:"玄武",阴:"太阴",后:"天后"},p={亥:"登明",戌:"河魁",酉:"从魁",申:"传送",未:"小吉",午:"胜光",巳:"太乙",辰:"天罡",卯:"太冲",寅:"功曹",丑:"大吉",子:"神后"},w={甲:"木",乙:"木",丙:"火",丁:"火",戊:"土",己:"土",庚:"金",辛:"金",壬:"水",癸:"水"},g={子:"水",丑:"土",寅:"木",卯:"木",辰:"土",巳:"火",午:"火",未:"土",申:"金",酉:"金",戌:"土",亥:"水"},m={金:"水",水:"木",木:"火",火:"土",土:"金"},f={金:"木",木:"土",土:"水",水:"火",火:"金"};function s(be,je){return be===je?"比和":f[be]===je?"克":f[je]===be?"被克":m[be]===je?"生":m[je]===be?"被生":"比和"}const i={被生:"父母",生:"子孙",克:"妻财",比和:"兄弟",被克:"官鬼"},t={甲:"寅",乙:"辰",丙:"巳",丁:"未",戊:"巳",己:"未",庚:"申",辛:"戌",壬:"亥",癸:"丑"},r=["巳","午","未","申","酉","戌"],y={雨水:"亥",惊蛰:"亥",春分:"戌",清明:"戌",谷雨:"酉",立夏:"酉",小满:"申",芒种:"申",夏至:"未",小暑:"未",大暑:"午",立秋:"午",处暑:"巳",白露:"巳",秋分:"辰",寒露:"辰",霜降:"卯",立冬:"卯",小雪:"寅",大雪:"寅",冬至:"丑",小寒:"丑",大寒:"子",立春:"子"},h={甲:{day:"丑",night:"未"},戊:{day:"丑",night:"未"},庚:{day:"丑",night:"未"},乙:{day:"子",night:"申"},己:{day:"子",night:"申"},丙:{day:"亥",night:"酉"},丁:{day:"亥",night:"酉"},壬:{day:"巳",night:"卯"},癸:{day:"巳",night:"卯"},辛:{day:"午",night:"寅"}},c={卯:"昼",辰:"昼",巳:"昼",午:"昼",未:"昼",申:"昼",酉:"夜",戌:"夜",亥:"夜",子:"夜",丑:"夜",寅:"夜"},q={甲:"寅",乙:"卯",丙:"巳",丁:"午",戊:"巳",己:"午",庚:"申",辛:"酉",壬:"亥",癸:"子"},O={甲:"卯",乙:"辰",丙:"午",丁:"未",戊:"午",己:"未",庚:"酉",辛:"戌",壬:"子",癸:"丑"},we={水:{驿马:"寅",桃花:"酉",华盖:"辰",劫煞:"巳",亡神:"亥"},火:{驿马:"申",桃花:"卯",华盖:"戌",劫煞:"亥",亡神:"巳"},金:{驿马:"亥",桃花:"午",华盖:"丑",劫煞:"寅",亡神:"申"},木:{驿马:"巳",桃花:"子",华盖:"未",劫煞:"申",亡神:"寅"}};function Ye(be){const je=be[0],Te=be[1],Ge=[],Ze=(Fe,Se,cn)=>{Ge.some(ln=>ln.name===Fe)||Ge.push({name:Fe,branch:Se,note:cn})};q[je]&&Ze("日禄",q[je],"日干临官之位"),O[je]&&Ze("羊刃",O[je],"日干帝旺之位");const Ie=we[A[Te]];return Ie&&(Ze("驿马",Ie.驿马,"日支三合冲位,主迁动"),Ze("桃花",Ie.桃花,"咸池,主情缘"),Ze("华盖",Ie.华盖,"主孤高、技艺"),Ze("劫煞",Ie.劫煞,"主意外耗损"),Ze("亡神",Ie.亡神,"主失脱、心神不定")),Ge}const d=Array.from({length:60},(be,je)=>Z[je%10]+j[je%12]),I={子:"午",午:"子",丑:"未",未:"丑",寅:"申",申:"寅",卯:"酉",酉:"卯",辰:"戌",戌:"辰",巳:"亥",亥:"巳"},F={子:"卯",卯:"子",寅:"巳",巳:"申",申:"寅",丑:"戌",戌:"未",未:"丑",辰:"辰",午:"午",酉:"酉",亥:"亥"},oe={寅:"申",午:"申",戌:"申",申:"寅",子:"寅",辰:"寅",巳:"亥",酉:"亥",丑:"亥",亥:"巳",卯:"巳",未:"巳"},ie=["壬子","甲寅","乙卯","丁巳","己未","庚申","辛酉","癸亥"],fe=["甲寅","丁未","己未","庚申","癸丑"],ke=be=>["甲","丙","戊","庚","壬"].includes(be)||["子","寅","辰","午","申","戌"].includes(be)?"阳":"阴";function W(be,je,Te){const Ge=y[be]??"子",Ze=j.indexOf(je),Ie=j.indexOf(Ge),Fe=new Array(12);for(let rn=0;rn<12;rn++)Fe[(Ze+rn)%12]=j[(Ie+rn)%12];const Se=c[je]??"昼",cn=h[Te],ln=Se==="昼"?cn.day:cn.night,$n=j.indexOf(ln),gn=Fe[$n],xn=r.includes(gn),kn=new Array(12);if(xn){const rn=["贵","后","阴","玄","常","虎","空","龙","勾","合","雀","蛇"];for(let Cn=0;Cn<12;Cn++)kn[($n+Cn)%12]=rn[Cn]}else for(let rn=0;rn<12;rn++)kn[($n+rn)%12]=$[rn];const Rn={},Zn={};for(let rn=0;rn<12;rn++)Rn[j[rn]]=Fe[rn],Zn[j[rn]]=kn[rn];return{tianPan:Fe,diToTian:Rn,diToJiang:Zn,yueJiang:Ge,dayNight:Se,guirenStart:ln,isReverse:xn}}function D(be,je){const Te=g[be]??w[be]??"土",Ge=g[je]??w[je]??"土",Ze=s(Te,Ge);return{克:"上克下",被克:"下贼上",生:"上生下",被生:"下生上",比和:"比和"}[Ze]??"比和"}function k(be,je,Te){const{diToTian:Ge,diToJiang:Ze}=Te,Ie=t[be],Fe=Ge[Ie],Se=Ge[Fe],cn=Ge[je],ln=Ge[cn],$n=(gn,xn,kn)=>({position:gn,shang:xn,xia:kn,jiang:Ze[t[kn]??kn]??"",relation:D(xn,kn)});return[$n(1,Fe,be),$n(2,Se,Fe),$n(3,cn,je),$n(4,ln,cn)]}function P(be){const je={shangKeXia:0,xiaZeiShang:0};for(const Te of be)Te.relation==="上克下"?je.shangKeXia++:Te.relation==="下贼上"&&je.xiaZeiShang++;return je}function ee(be,je){return _(be).includes(je)?je:null}function ue(be,je,Te,Ge,Ze){const Ie=s(w[Ge]??"土",g[je]??"土");return{position:be,zhi:je,jiang:Te.diToJiang[je]??"",jiangFull:b[Te.diToJiang[je]]??"",liuQin:i[Ie]??"兄弟",xunKong:ee(Ze,je)}}function le(be){let je=0;for(let Te=0;Te<12;Te++)I[j[Te]]===be.diToTian[j[Te]]&&je++;return je>=6}function ve(be,je){const Te=g[be]??"土",Ge=j.indexOf(je),Ze=j.indexOf(be);let Ie=0,Fe=Ge;for(;Fe!==Ze;)s(Te,g[j[Fe]])==="克"&&Ie++,Fe=(Fe-1+12)%12;return Ie}function Ae(be,je,Te){const Ge=be.filter(ln=>ln.relation===Te);if(Ge.length===1)return{zhi:Ge[0].shang,geJu:"贼克",detail:Te==="下贼上"?"重审":"元首"};const Ze=ke(je),Ie=Ge.filter(ln=>ke(ln.shang)===Ze);if(Ie.length===1)return{zhi:Ie[0].shang,geJu:"比用",detail:"知一"};const Se=(Ie.length?Ie:Ge).map(ln=>({k:ln,d:ve(ln.shang,ln.xia)})).sort((ln,$n)=>$n.d-ln.d),cn=Se.length>=2&&Se[0].d===Se[1].d;return{zhi:Se[0].k.shang,geJu:"涉害",detail:cn?"察微":"见机"}}function mn(be,je,Te,Ge){const Ze=w[Te]??"土";for(const Ie of be)if(s(g[Ie.shang]??"土",Ze)==="克")return{zhi:Ie.shang,geJu:"遥克",detail:"蒿矢"};for(const Ie of be)if(s(g[Ie.shang]??"土",Ze)==="被克")return{zhi:Ie.shang,geJu:"遥克",detail:"弹射"};return{...ye(je,Te,Ge)}}function ye(be,je,Te){const Ge=be.diToTian[t[je]],Ze=be.diToTian[Te];if(ke(je)==="阳")return{zhi:be.diToTian.酉,zhong:Ze,mo:Ge,geJu:"昴星",detail:"虎视"};let Fe=null;for(const Se of j)if(be.diToTian[Se]==="酉"){Fe=Se;break}return{zhi:Fe,zhong:Ge,mo:Ze,geJu:"昴星",detail:"冬蛇掩目"}}function nn(be,je,Te){const Ge=be.diToTian[t[je]],Ze=be.diToTian[Te],Ie=ke(je),Fe=Ie==="阳"?Ge:Ze,Se=j.indexOf(Fe);return{zhi:j[(Se+(Ie==="阳"?2:-2)+12)%12],zhong:Ie==="阳"?Ze:Ge,mo:Ie==="阳"?Ge:Ze}}function Gn(be,je,Te,Ge){const Ze=be.filter(kn=>kn.relation==="下贼上"),Ie=be.filter(kn=>kn.relation==="上克下"),Fe=ke(Te);let Se,cn;Ze.length||Ie.length?(Se=(Ze.length?Ze.length===1&&!Ie.length?{zhi:Ze[0].shang}:Ae(be,Te,"下贼上"):Ie.length===1?{zhi:Ie[0].shang}:Ae(be,Te,"上克下")).zhi,cn="有克"):(Se=Fe==="阳"?t[Te]:Ge,cn=Fe==="阳"?"自任":"杜传");const ln=je.diToTian[t[Te]],$n=je.diToTian[Ge];let gn;F[Se]===Se?gn=(Fe==="阳"?[$n,ln]:[ln,$n]).find(Rn=>Rn&&Rn!==Se)||Se:gn=F[Se];let xn=F[gn];return xn===gn&&(xn=I[gn]),{chu:Se,zhong:gn,mo:xn,detail:cn}}function ze(be,je,Te,Ge,Ze){if(Ze)return{zhi:oe[Te]??"寅",detail:"绝嗣"};for(const Ie of["下贼上","上克下"]){const Fe=be.filter(Se=>Se.relation===Ie);if(Fe.length){const Se=ke(je);return{zhi:(Fe.filter(ln=>ke(ln.shang)===Se)[0]??Fe[0]).shang,detail:"无依"}}}return{zhi:oe[Te]??"寅",detail:"无亲"}}function Nn(be){H(be);const{year:je,month:Te,day:Ge,hour:Ze=0,minute:Ie=0}=be,Fe=E(be.lateZi,!0),Se=U(je,Te,Ge),cn=Fe&&Ze>=23?Se+1:Se,ln=V(cn),$n=ae(ln).name,gn=$n[0],xn=$n[1],kn=j[Math.floor((Ze+1)%24/2)],Rn=Se-.5+(Ze*60+Ie)/1440;Fe&&Ze>=23&&o(T(Rn+1),"大六壬");const Zn=re(je).filter(v=>v.jd<=Rn),rn=Zn.length?Zn[Zn.length-1]:null,Cn=rn?rn.name:"冬至",pn=W(Cn,kn,gn),On=k(gn,xn,pn),En=P(On),Xn=pn.yueJiang===kn,ut=le(pn),Qn=ie.includes($n),ot=fe.includes($n)&&En.xiaZeiShang===4;let In,_n,Dn,l,S;if(ut||ot){const v=ze(On,gn,xn,En,ot);In=v.zhi,l="返吟",S=v.detail,_n=I[In],Dn=I[_n]}else if(Xn){const v=Gn(On,pn,gn,xn);In=v.chu,_n=v.zhong,Dn=v.mo,l="伏吟",S=v.detail}else if(Qn&&En.shangKeXia===0&&En.xiaZeiShang===0){const v=nn(pn,gn,xn);In=v.zhi,_n=v.zhong,Dn=v.mo,l="八专",S="帷簿"}else if(En.xiaZeiShang===1&&En.shangKeXia===0)In=On.find(v=>v.relation==="下贼上").shang,l="贼克",S="重审";else if(En.shangKeXia===1&&En.xiaZeiShang===0)In=On.find(v=>v.relation==="上克下").shang,l="贼克",S="元首";else if(En.xiaZeiShang>=1){const v=Ae(On,gn,"下贼上");In=v.zhi,l=v.geJu,S=v.detail}else if(En.shangKeXia>=2){const v=Ae(On,gn,"上克下");In=v.zhi,l=v.geJu,S=v.detail}else if(En.shangKeXia===0&&En.xiaZeiShang===0){const v=mn(On,pn,gn,xn);In=v.zhi,l=v.geJu,S=v.detail,v.zhong!==void 0&&(_n=v.zhong,Dn=v.mo)}else In=On[0].shang,l="贼克",S="元首";return _n===void 0&&(_n=pn.diToTian[In],Dn=pn.diToTian[_n]),{system:"daliuren",input:{year:je,month:Te,day:Ge,hour:Ze,minute:Ie},dayGanZhi:$n,hourZhi:kn,dayNight:pn.dayNight,jieqi:{name:Cn,time:rn?te(rn.jd):null},yueJiang:{zhi:pn.yueJiang,name:p[pn.yueJiang]},guiren:{zhi:pn.guirenStart,reverse:pn.isReverse},pan:j.map((v,X)=>({di:v,tian:pn.tianPan[X],jiang:pn.diToJiang[v],jiangFull:b[pn.diToJiang[v]]})),siKe:On.map(v=>({...v,jiangFull:b[v.jiang]??""})),sanChuan:{chu:ue("初传",In,pn,gn,$n),zhong:ue("中传",_n,pn,gn,$n),mo:ue("末传",Dn,pn,gn,$n)},shensha:Ye($n),geJu:{name:l,detail:S}}}return{ZHI:j,GAN:Z,TIAN_JIANG:$,JIANG_FULL:b,JIEQI_YUE_JIANG:y,GAN_JI_GONG:t,calcShensha:Ye,buildDaliuren:Nn}})(),J["interpret-data"]=(function(){const U={乾:{nature:"天",trait:"刚健、主导",element:"金"},坤:{nature:"地",trait:"承载、柔顺",element:"土"},震:{nature:"雷",trait:"启动、震动",element:"木"},巽:{nature:"风",trait:"渗透、顺势",element:"木"},坎:{nature:"水",trait:"险陷、流动",element:"水"},离:{nature:"火",trait:"明丽、附著",element:"火"},艮:{nature:"山",trait:"静止、阻挡",element:"土"},兑:{nature:"泽",trait:"愉悦、口舌",element:"金"}},V=[{pos:1,name:"初爻",gist:"事之始,根基与起点",tone:"宜稳不宜急"},{pos:2,name:"二爻",gist:"初步展开,能力初显",tone:"宜务实积累"},{pos:3,name:"三爻",gist:"进退交界的关口,多劳少得",tone:"宜守拙退让"},{pos:4,name:"四爻",gist:"接近决策层,转机初现",tone:"宜谨慎措辞"},{pos:5,name:"五爻",gist:"得位居中,事态最盛",tone:"宜把握主节奏"},{pos:6,name:"上爻",gist:"发展至极,盛极思变",tone:"宜留余地收尾"}],ae={yang:"阳极转阴:原本强势、推进得很快的那个环节,接下来需要收一收、留余地",yin:"阴极转阳:原本停滞、迟迟没动静的那个环节,接下来会出现变化,可以主动推一把"},re={乾为天:{meaning:"刚健运行,自强不息",scene:"主动权在你手上,宜自己定节奏"},坤为地:{meaning:"厚德载物,顺势而成",scene:"配合与承接比抢先更有利"},水雷屯:{meaning:"初生艰难,如草木破土",scene:"事情刚起步会乱,先把基础扎稳"},山水蒙:{meaning:"蒙昧待启,问道则通",scene:"信息不全时先请教,不要硬闯"},水天需:{meaning:"等待时机,不可冒进",scene:"条件没齐,耐心等一等反而快"},天水讼:{meaning:"争讼之象,宜和解",scene:"有分歧先谈,别把关系推上对抗"},地水师:{meaning:"用众之道,纪律为先",scene:"靠团队成事,规矩要立在前"},水地比:{meaning:"亲附相辅,择善而从",scene:"选对合作对象,比单打独斗重要"},风天小畜:{meaning:"小有积蓄,力量未充",scene:"先攒资源,暂不大举投入"},天泽履:{meaning:"循礼而行,如履虎尾",scene:"按规则走,谨慎就不会出事"},地天泰:{meaning:"上下交泰,通达和顺",scene:"沟通顺畅,是推进的好时候"},天地否:{meaning:"阴阳不交,闭塞不通",scene:"卡住时先停下来,别硬顶"},天火同人:{meaning:"与人同心,众志可成",scene:"找同频的人一起做,事半倍"},火天大有:{meaning:"丰盛富有,如日中天",scene:"收获可观,记得分享与收敛"},地山谦:{meaning:"谦逊受益,卑以自牧",scene:"放低姿态,反而更容易被接纳"},雷地豫:{meaning:"悦乐振奋,顺势而动",scene:"士气高,适合启动与造势"},泽雷随:{meaning:"随时而动,择善而随",scene:"跟随大势走,别拧着来"},山风蛊:{meaning:"积弊待治,破而后立",scene:"旧问题该清一清了,别拖"},地泽临:{meaning:"居高临下,督导亲近",scene:"亲自盯一盯,效果比放手好"},风地观:{meaning:"观仰教化,观察而明",scene:"先看清楚再表态"},火雷噬嗑:{meaning:"咬合去梗,明断是非",scene:"障碍要正面处理,绕不过去"},山火贲:{meaning:"文饰之美,适度为宜",scene:"包装有用,但别盖过实质"},山地剥:{meaning:"剥落衰败,宜守不宜进",scene:"在消耗期,止损优先"},地雷复:{meaning:"一阳来复,去而复返",scene:"转机回来了,可以小步重启"},天雷无妄:{meaning:"不妄为,守正即吉",scene:"按本分做,别投机"},山天大畜:{meaning:"大有蓄养,厚积待发",scene:"积累期,学东西最有价值"},山雷颐:{meaning:"养正自守,节饮食慎言语",scene:"养身体、养口碑,别透支"},泽风大过:{meaning:"过甚有险,栋梁将折",scene:"担子太重,该减负或加固"},坎为水:{meaning:"重险叠至,惟诚可济",scene:"困难接连来,稳住心神最要紧"},离为火:{meaning:"附丽光明,柔顺守中",scene:"借助光亮的东西,别孤军奋战"},泽山咸:{meaning:"感应相和,男女相悦",scene:"情感互动顺畅,宜真诚表达"},雷风恒:{meaning:"恒久不易,持之则成",scene:"长期坚持才有结果"},天山遁:{meaning:"退避为智,以退为进",scene:"适时抽身,不是认输"},雷天大壮:{meaning:"阳刚壮盛,宜正不宜猛",scene:"气势足,但别用力过猛"},火地晋:{meaning:"晋升初进,如日上升",scene:"有上升机会,主动争取"},地火明夷:{meaning:"光明受掩,韬光养晦",scene:"暂时低调,保存实力"},风火家人:{meaning:"内治为先,各安其位",scene:"先把身边人和日常安顿好"},火泽睽:{meaning:"睽违背离,同中有异",scene:"意见不合是常态,求同存异"},水山蹇:{meaning:"蹇难阻滞,宜反身修德",scene:"走不通就绕,回头补短板"},雷水解:{meaning:"险难消解,宜速不宜缓",scene:"结打开了,趁势把事办了"},山泽损:{meaning:"损己益人,损中有得",scene:"先让一点,后面有回报"},风雷益:{meaning:"增益利民,顺势施为",scene:"投入会有产出,可以加码"},泽天夬:{meaning:"决而去之,果决除弊",scene:"该断的事果断断,别拖泥带水"},天风姤:{meaning:"不期而遇,柔遇刚",scene:"有意外的人或机会出现"},泽地萃:{meaning:"聚合众力,物以类聚",scene:"聚人聚资源的时候到了"},地风升:{meaning:"积小以高大,循序上升",scene:"一步一步往上走,别跳级"},泽水困:{meaning:"困穷待援,安贫守正",scene:"资源受限时先守住基本盘"},水风井:{meaning:"井养不穷,修井得清",scene:"把现有的渠道维护好"},泽火革:{meaning:"革故鼎新,时至则变",scene:"该改就改,时机已经到了"},火风鼎:{meaning:"鼎新烹饪,稳重得位",scene:"新格局已立,按新规矩办"},震为雷:{meaning:"震惊百里,惧而后安",scene:"突发变动会来,先稳住再应对"},艮为山:{meaning:"止其所止,静而定",scene:"该停就停,停下来才看得清"},风山渐:{meaning:"渐进有序,如鸿渐于陆",scene:"慢慢来反而到得快"},雷泽归妹:{meaning:"归嫁失序,宜守本分",scene:"关系里别越位,按本分处"},雷火丰:{meaning:"丰大光明,宜及时施为",scene:"盛时要做事,别浪费势头"},火山旅:{meaning:"旅居在外,谨慎自守",scene:"处在变动环境,低调稳当些"},巽为风:{meaning:"顺入以柔,申命行事",scene:"用柔的方式渗透,别硬碰"},兑为泽:{meaning:"喜悦相悦,朋友讲习",scene:"多交流多请教,气氛是好的"},风水涣:{meaning:"涣散离散,宜聚人心",scene:"人心散了,先把共识找回来"},水泽节:{meaning:"节制有度,苦节不可",scene:"设边界、控节奏,别过头"},风泽中孚:{meaning:"诚信居中,信则人任",scene:"诚意是当下最有效的通行证"},雷山小过:{meaning:"小事可过,大事不可",scene:"细节可以灵活,大方向别偏"},水火既济:{meaning:"事已成,慎终如始",scene:"做成之后更要防松懈"},火水未济:{meaning:"事未成,慎辨慎行",scene:"还差一步,别急着庆祝"}},te=Object.fromEntries(Object.keys(re).map(j=>[j.length>2?j.slice(2):j.slice(0,1),j]));return{TRIGRAM:U,YAO_POSITION:V,MOVING_NATURE:ae,HEX64:re,HEX_BY_CORE:te,ZIWEI_STARS:{紫微:{trait:"有主见、重体面,习惯站在统筹的位置",work:"适合需要拍板与统筹的岗位,管理、政务、项目负责一类",love:"在关系里需要被尊重,慢热但认真",health:"留意血压与作息紊乱"},天机:{trait:"脑子转得快,兴趣多、想法多",work:"适合策划、技术、咨询、研发一类动脑的岗位",love:"容易被有趣的人吸引,需要精神共鸣",health:"思虑多,留意神经紧张与睡眠"},太阳:{trait:"外放热心,愿意付出、也愿意被看见",work:"适合对外型岗位,教学、销售、公关、公益一类",love:"主动付出型,注意别一厢情愿",health:"留意心血管与用眼过度"},武曲:{trait:"务实、讲效率,认结果不认空话",work:"适合金融、财务、工程、执行类岗位",love:"感情表达偏实在,用行动多于言语",health:"留意呼吸系统与过劳"},天同:{trait:"温和好相处,重感受,凡事求舒服",work:"适合服务、文职、教育、文创一类低对抗的岗位",love:"需要陪伴感,容易被温柔的人打动",health:"留意免疫力与情绪性不适"},廉贞:{trait:"细腻又较真,审美与原则都在意",work:"适合需要精细度的岗位,法务、审计、设计、医疗一类",love:"感情投入深,也容易较劲",health:"留意炎症与情绪郁结"},天府:{trait:"稳重可靠,善于守成与资源调度",work:"适合行政、财务、运营、仓储一类守盘型岗位",love:"倾向稳定长久的关系",health:"留意体重与消化负担"},太阴:{trait:"内敛敏感,心思细,重安全感",work:"适合研究、文案、财务、艺术一类安静专注的岗位",love:"慢热、重细节,需要被照顾到感受",health:"留意睡眠与内分泌节律"},贪狼:{trait:"好奇心强、人缘好,兴趣广泛",work:"适合业务、市场、传媒、跨界的开拓型岗位",love:"桃花偏旺,需要自己划清边界",health:"留意肝火与作息不规律"},巨门:{trait:"善于分析,也容易多疑,嘴上功夫好",work:"适合法务、教学、咨询、谈判一类靠口才与逻辑的岗位",love:"容易因多想而生误会,宜多说清楚",health:"留意口腔、呼吸道与思虑过度"},天相:{trait:"讲规矩、重协调,习惯做辅佐者",work:"适合秘书、执行、协调、后勤一类支撑型岗位",love:"关系里偏迁就,需要学会表达需求",health:"留意皮肤与免疫波动"},天梁:{trait:"有长者气,爱操心、乐意帮人",work:"适合教育、医护、公益、顾问一类助人的岗位",love:"照顾型伴侣,别把对方当孩子",health:"留意慢病管理与过劳"},七杀:{trait:"果断敢冲,抗压但容易硬碰硬",work:"适合开拓、销售、创业、外勤一类高挑战岗位",love:"感情来得快,需要留给对方缓冲",health:"留意意外伤害与旧伤复发"},破军:{trait:"喜新厌旧,敢破敢立,不走老路",work:"适合变革、创业、项目从零到一的岗位",love:"感情变动偏多,稳定需要共同目标",health:"留意泌尿与外伤"}},WUXING_INDUSTRY:{木:"教育培训、出版撰稿、文职行政、农林园艺、中医药、服装与设计、文创",火:"互联网、传媒影视、能源电力、餐饮与品牌、演艺传播、电子科技",土:"地产建筑、物业管理、行政人事、农业种植、供应链仓储、财会",金:"金融银行、法律法务、机械制造、审计风控、医疗器械、军警安保",水:"物流贸易、咨询顾问、传媒公关、旅游出行、科研水产、信息技术"},WUXING_ORGAN:{木:{part:"肝胆、筋骨",note:"情绪疏泄与久坐久视是主要负担"},火:{part:"心脏、小肠、血脉",note:"睡眠节律与情绪起伏最需留意"},土:{part:"脾胃、肌肉",note:"饮食规律与消化吸收是关键"},金:{part:"肺、大肠、呼吸道与皮肤",note:"空气质量与换季是敏感点"},水:{part:"肾、膀胱、内分泌与腰膝",note:"过劳与熬夜最先反映在这里"}},TENGOD_STYLE:{正官:"守规矩、重名分,适合在成体系的组织里按规则上升",七杀:"抗压敢拼,适合高挑战、需要快速决断的岗位",正财:"稳定务实,适合按劳取酬、积累型的路径",偏财:"善抓机会、人脉广,适合业务、投资、资源整合类",食神:"表达与创造见长,适合技术、创作、教育一类",伤官:"想法多、不服旧规,适合改革、创业、专业创意",正印:"学习力强、有耐心,适合研究、文教、需要资质的岗位",偏印:"偏门钻研,适合冷门专业、技术深耕",比肩:"独立能扛,适合并肩作战或独立负责一块",劫财:"行动快、竞争心强,适合业务冲刺型工作"},LIUREN_JIANG:{贵人:"贵人、助力、被提携",螣蛇:"缠绕、反复、惊扰不定",朱雀:"口舌、文书、消息是非",六合:"合作、契约、和合之事",勾陈:"牵绊、拖延、纠缠难断",青龙:"喜庆、财禄、顺利推进",天空:"虚空、不实、计划落空",白虎:"压力、病丧、突发阻碍",太常:"衣食、常规、平稳运行",玄武:"暗昧、失物、信息不明",太阴:"隐秘、暗中助力、私下的事",天后:"女性、恩泽、情感与照料"},DISCLAIMER:"以上解析由本插件依据你提供的出生信息(或起卦时刻)按传统命理规则生成,属文化娱乐与自我觉察的参考,不构成医疗、心理、投资、法律或人事决策的依据。涉及健康请咨询医生,涉及重大决定请以现实信息与专业人士意见为准。",TAROT_ELEMENT_FOCUS:{火:{area:"行动力与热情",advice:"把能量投到一件具体的事上,别同时开太多头"},水:{area:"情感与关系",advice:"先照顾好感受,再谈效率"},风:{area:"思考与沟通",advice:"把想法写下来,与相关的人说清楚"},土:{area:"现实与资源",advice:"落实成可执行的步骤,写明时间和预算"}}}})(),J["interpret-plain"]=(function(){const U=(t,r="")=>t==null||t===""?r:String(t),V=t=>Array.isArray(t)?t.filter(Boolean).join(""):"",ae=t=>Array.isArray(t)?t.length>0:t!=null&&t!=="",re={身强:"底子偏足、抗压能力好,但容易自己给自己加码,学会收力比使劲更重要",偏强:"底子略足,扛得住事,也容易把事都往自己身上揽",中和:"力量比较匀,属于「给什么环境就长出什么样子」的类型",偏弱:"底子偏薄,靠外部支援比硬扛有效,选对圈子与节奏很关键",身弱:"底子偏薄,先修恢复力再谈冲刺,硬撑的性价比最低"},te={六冲卦:"这一卦是「六冲」,事情起落快,急事反而好办,拖久了的人事容易散。",六合卦:"这一卦是「六合」,容易谈成,也容易黏住不放。",变六冲:"往下走会散,收尾别拖。",变六合:"往下走会合,事情倾向于延续下去。",内卦伏吟:"事情卡在原地打转,想动但动不了。",外卦伏吟:"外面那层没变,看起来在动,其实格局照旧。",内卦反吟:"反复在自己这一头,改了又改回来。",外卦反吟:"外面反复,对方或环境会来回拉扯。",化进神:"有一爻在往上走,顺着这股劲推比往回拉顺。",化退神:"有一爻在往后退,别按原来的势头硬推。"},T={可出:"眼下的条件算是有助无压,属于「出得来」的一档——这是条件,不等于马上应验。",有助有压:"眼下是一边有助、一边有压,出得来,但得费点劲。",受压难出:"眼下被上面的力量压着,不太容易露头,先别急着硬推。",未得助:"眼下暂时没借到力,还得等条件转过来。",飞伏未知:"飞伏关系看不全,这一层先不下判断。"};function _(t,r){if(!t||!t.liuqin)return"";if(t.found.length){const y=t.found.map(q=>`第${q.position}爻`).join("、"),h=t.found.some(q=>q.moving),c=t.byShi?"代表你自己":`就是「${t.liuqin}」这一类事`;return`你问的这件事,在卦里对应${y}${c}——${h?"这一爻还在动,说明事情正在推进":"这一爻没动,先按现状看"}。`}if(t.fushen.length){const y=t.fushen[0],h=r&&Array.isArray(r.items)?r.items.find(q=>q.position===y.position):null,c=h?` ${T[h.verdict]||""}`:"";return`你问的这件事,卦面上没有直接露出来,得往深处找:它藏在第${y.position}爻下面(伏神),与上面的关系是「${y.relation||"—"}」,要借力才出得来。${c}`}return""}function H(t){if(!t||!t.lines||!t.lines.length)return"";const r=t.lines.filter(c=>/死|囚/.test(c.monthState)||c.monthChong),y=t.lines.filter(c=>/旺|相/.test(c.monthState)),h=t.month&&t.month.branch?`眼下这阵子(${t.month.branch}月)`:"起卦这段日子";return r.length&&!y.length?`${h}对这件事不太帮忙,气有点被压着——先别急着硬推,等风向转。`:y.length&&!r.length?`${h}对这件事是帮着的,气正在往上走,能推就趁现在。`:`${h}对这件事有帮有压,一半的力要自己挣——结果更看你怎么走。`}function o(t){const r=t&&t.jinTuiPower;if(!r||!Array.isArray(r.lines)||!r.lines.length)return"";const y=h=>h.verdict==="后劲足"?"时令托着,后劲足":h.verdict==="后劲有限"?"时令不太托,后劲有限":h.verdict==="进得虚"?"时令最背,进也是虚进":h.verdict==="退得缓"?"时令还托着,退得慢":h.verdict==="退得实"?"时令也不托,退得实":h.verdict==="月破失据"?"又正好逢月破,进退都站不稳":"缺月建,先只当方向看";return`动爻的进退还要看时令:${r.lines.map(h=>`${h.position}爻${h.from}→${h.to}${h.type},${y(h)}`).join(";")}。`}function A(t){const r=t&&t.yingqi;if(!r||!Array.isArray(r.triggers)||!r.triggers.length)return"";const y=r.tempo==="偏速"?"大体偏近,近事更容易先见分晓":r.tempo==="偏缓"?"大体偏远,别指望立刻见分晓":r.tempo==="待解"?"眼下还有月破或旬空,得先等条件解除":"缺月建,快慢暂不定",h=r.triggers.map(q=>q.branch).join("、"),c=r.viaFushen?"(用神是伏神,先要出得来)":"";return`应期上${y};传统会留意${h}这几个地支${c}——这只是提示,不换算成具体哪天。`}function E(t){if(!t||!t.counts)return"";const r=(t.counts.旺||0)+(t.counts.相||0),y=(t.counts.囚||0)+(t.counts.死||0),h=t.month&&t.month.branch?`按${t.month.branch}月这段时令看`:"按起卦这天看",c=t.shi&&t.shi.monthState!=="unknown"?`代表你的世爻在${t.shi.monthState}`:"";return r>=4&&y===0?`${h},整张卦六爻的气多数是顺的,${c},眼下算是好推的时候。`:y>=4&&r===0?`${h},整张卦六爻的气多数被压着,${c},这几天更适合等而不是冲。`:`${h},整张卦六爻有顺有逆(旺相 ${r} 爻、囚死 ${y} 爻)${c?`,${c}`:""},成不成要看具体哪一爻在动。`}function Z(t){if(!t||!Array.isArray(t.targets))return"";const r=t.targets.find(h=>h.count>=2),y=t.groups&&t.groups.selfHua&&t.groups.selfHua.length?"其中有的宫自己化出去又落回自己,容易表现为「想得多、落得少」。":"";return r?`把命宫连同对宫与两个三合宫一起看,${r.incoming.length} 股力最后挤在「${String(r.palace).replace(/宫$/,"")}」这件事上——这件事会把好几个方面的劲都吸过来。${y}`:`把命宫连同对宫、两个三合宫一起看,四股力飞出去没有挤到同一处,这几件事之间牵连不深。${y}`}function j(t){const r=q=>Object.keys(te).find(O=>q===O||q.startsWith(`${O} `))||"",y=t.find(q=>r(q)),h=y?te[r(y)]:"",c=t.filter(q=>q!==y&&/^化[进退]神 /.test(q)).map(q=>te[r(q)]).filter(Boolean);return h+c.join("")}const $={wealth:"「工作与职业选择」与「时间窗」",career:"「事业发展」与「时间窗」",love:"「爱情与感情」",health:"「健康状况」",study:"「事业发展」与「时间窗」",travel:"「整体运势」与「时间窗」",general:"「整体运势」与「看盘顺序」"};function b(t,r,y={}){if(!t||!t.system)return"";const h=U(r&&r.question).trim(),c=r&&r.direction||"general",q=t.system==="bazi"?$[c]||$.general:"下面与你的问题最贴近的那一节",O=h?`你问的是「${h}」。`:"";if(t.system==="bazi"){const we=t.dayMaster||{},Ye=t.strength||{},d=t.frame&&t.frame.yongshen||{},I=V(d.favor),F=V(d.avoid),oe=Array.isArray(d.neutral)&&d.neutral.length?`(其中${d.neutral.map(ke=>ke.element).join("、")}在命局里几乎没有分量,算中性偏忌,不必刻意避)`:"",ie=(t.liunian||[])[0],fe=[O+`先说结论:你是${U(we.stem)}${U(we.element)}日主,命局${U(Ye.level,"待定")}${I?`,顺${I}、忌${F}${oe}——往${I}的方向安排事情会更省力`:""}。`,ie&&ie.ganzhi?`${U(ie.year)} 年是${ie.ganzhi}年(${U(ie.luck&&ie.luck.tier,"平")}),这是「大环境」这一层。`:"",`具体到你问的这件事,重点看${q}。`];return h||(fe[fe.length-1]=`没指定问题,就按${q}的顺序往下看。`),fe.filter(Boolean).join("")}if(t.system==="ziwei"){const we=t.soul||{},Ye=t.body||{},d=t.bureau||{},I=t.lifeMaster||"",F=t.flyChains&&t.flyChains.忌,oe=F&&F.steps.length?`还有一条线值得留意:${F.path.map(ie=>ie.replace(/宫$/,"")).join(" → ")}——这几件事在你身上是连着转的,一件卡住,容易牵动下一件。`:"";return[O+`先说结论:你的命宫落${U(we.branch,"—")}宫${d.name?`、${d.name}`:""}${I?`,命主${I}`:""}${Ye.lands?`,身宫落在「${Ye.lands}」——这张盘的重心在这件事上`:""}。`,oe,Z(t.flyComposite),h?`具体到你问的这件事,重点看${q}。`:`没指定问题,就按${q}的顺序往下看。`].filter(Boolean).join("")}if(t.system==="liuyao"){const we=t.ben||{},Ye=t.cast&&t.cast.movingPositions||[],d=t.bian||{},I=t.body&&Array.isArray(t.body.labels)?t.body.labels:[],F=j(I);return[O+`先说结论:本卦是${U(we.name,"—")}${we.palace?`(${we.palace})`:""}${Ye.length?`,第 ${Ye.join("、")} 爻动,变为${U(d.name,"—")}`:",六爻安静没有动爻"}。${F}${_(t.useGod,t.fushenAccess)}${H(t.useGodStrength)}${o(t)}${A(t)}${E(t.hexStrength)}`,"断卦的落点在「世爻」(代表你)和「动爻」(事情的推动点),下面「看盘顺序」就按这个次序展开。"].join("")}return O?`${O}下面按五个维度拆开看,重点看${q}。`:t.system==="qimen"?`下面按排盘事实、用神、宫位条件几节展开${c!=="general"&&r&&r.directionLabel?`,取「${r.directionLabel}」方向的用神`:""}。`:c!=="general"&&r&&r.directionLabel?`下面按五个维度拆开看,重点看与「${r.directionLabel}」方向最贴近的那一节。`:"下面按五个维度拆开看,没指定问题,就从头依次读。"}function p(t,r,y={}){if(!t||!t.system)return"";if(t.system==="bazi"){const h=t.strength||{},c=t.frame&&t.frame.yongshen||{},q=V(c.favor),O=V(c.avoid),we=Array.isArray(c.disputed)&&c.disputed.length?`有一点要说明:${c.disputed.map(oe=>oe.element).join("、")}在扶抑里算${c.disputed.map(oe=>oe.favorRole).join("、")}(能${c.disputed.map(oe=>oe.favorVerb).join("、")}),按调候看又偏忌(${c.disputed.map(oe=>`${oe.climate}盘忌${oe.element}`).join("、")}),两派说法不一;实际用在什么时候,看季节和环境取舍,不必当成绝对的好或坏。`:"",Ye=re[h.level]||"力量偏中性",d=c.tiaohou&&c.tiaohou.note?`另外,${c.tiaohou.note},所以「暖一点、亮一点」的环境通常更舒服。`:"",I=(t.liunian||[]).find(oe=>oe.suiyun&&Array.isArray(oe.suiyun.signals)&&oe.suiyun.signals.length),F=I?`再往后看,${I.year} 年${I.ganzhi}是${I.suiyun.signals.map(oe=>oe.type).join("、")}——传统上把它当作「变化感强一点」的提示,既不是好消息也不是坏消息,遇上时多留个心眼就好。`:"";return`你的命局属于「${U(h.level,"中性")}」:${Ye}。${q?`能补${q}的环境(行业、方位、作息、相处的人)会让你省力;${O?`而${O}偏重的场合容易空耗,能绕就绕。`:""}`:""}`+we+d+F}if(t.system==="ziwei"){const h=t.body||{},c=t.flyChains&&t.flyChains.忌,q=c&&c.steps.length?"你身上有个绕不开的规律:几件事是连着转的,一件卡住,后面就跟着慢下来。":"",O=t.flyComposite,we=O&&Array.isArray(O.targets)?O.targets.find(I=>I.count>=2):null,Ye=!O||!Array.isArray(O.targets)?"":we?`再往深一层,四股力最后也压在「${String(we.palace).replace(/宫$/,"")}」上——几个方面的劲都往这儿聚。`:"再往深一层,四股的力没有全挤到一处,这几件事之间牵连不深。";return["紫微讲的是「你与环境怎么互动」,不是谁好谁坏——同一件事换个环境、换个人配合,结果就不一样。",h.lands?`真正让你上心的,多半是「${h.lands}」这件事,做别的总会分心。`:"",q,Ye].filter(Boolean).join("")}if(t.system==="liuyao"){const h=t.ben||{},c=t.cast&&t.cast.movingPositions||[],q=t.body&&Array.isArray(t.body.labels)?t.body.labels:[],O=j(q);return`${U(h.name,"这一卦")}讲的是一个「${c.length?"正在动、还会变":"暂时不动、先看清"}」的局面——${c.length?"有动爻,说明事情还有转圜空间,不是死局。":"六爻安静,说明当下更该观察而不是硬推。"}${O}${_(t.useGod,t.fushenAccess)}${H(t.useGodStrength)}${o(t)}${A(t)}${E(t.hexStrength)}`}return""}function w(t,r,y={}){if(!r||r.system!=="bazi")return"";const h=r.frame&&r.frame.yongshen||{},c=V(h.favor),q=V(h.avoid),O=r.strength||{};return t==="overall"?`一句话:底子${U(O.level,"中性")},往${c||"有利方向"}走省力。`:t==="work"?`一句话:挑${c||"喜用"}属性的活儿,比硬碰${q||"忌神"}省力。`:t==="career"?`一句话:你的上升方式,偏向把${c||"长处"}做成看得见的成果。`:t==="love"?"一句话:关系里先看清自己要什么,再决定推进速度。":t==="health"?"一句话:作息稳定比任何调理都优先。":""}const g=[["日主","你出生那天对应的天干,代表「你自己」,整张盘都围着它转。"],["用神","这张盘里最需要补的那一类力量,顺着它做事更省力。"],["忌神","补得越多越别扭的那一类力量,不是坏东西,只是对你性价比低。"],["调候","按出生季节调温补缺:冬天的盘怕冷,夏天的盘怕燥。"],["格局","把整张盘的结构归成一个类型,用来看「你适合怎么打」。"],["十神","把五行关系翻译成人事:财=资源、官杀=规则与压力、印=支持、食伤=表达、比劫=同伴。"],["月令","出生的月份,是判断强弱最关键的一个位置。"],["日支","日柱的地支,也叫「配偶宫」,看亲密关系的第一落点。"],["大运","十年一换的大阶段,决定这十年顺不顺手。"],["流年","每一年的干支,看当年的具体环境。"],["空亡","落到空亡的字,力量打折,事情容易「看着有、抓不住」。"],["伏神","卦里没出现的六亲,藏在同宫首卦的对应爻下,用时才看得见。"],["世应","世爻代表你,应爻代表对方或外部环境。"],["动爻","会变的爻,是事情「往哪走」的推动点。"],["纳甲","给六个爻配上天干地支,六亲与生克才有依据。"],["四化","禄权科忌四种变化,标记星曜在这一步运里扮演什么角色。"],["大限","紫微里的十年阶段,作用类似八字的「大运」。"],["庙旺","星曜落在某宫时的力量档位:庙、旺最强,得、利、平居中,不、陷最弱。"],["三方四正","从命宫出发的三合三方加对宫,共四个宫位,是全盘最核心的势力范围。"],["命主","紫微里另有一颗命主星,补命宫看不到的那一层底色。"],["身主","紫微里另有一颗身主星,管后天的行动与身体那一面。"],["五行局","用纳音给整张盘定一个局(水二局、木三局等),大限的起法以此为准。"],["自化","宫干让本宫星曜自己生出四化,代表这一宫的事容易自己发酵。"],["飞星","拿一个宫的宫干去四化别的宫,看事情从哪来、往哪走。"],["正曜","十四主星。「无正曜」指命宫没有主星,要借对宫来看。"],["借对宫","命宫无主星时借对宫主星来读,性格更依赖环境与身边的人。"],["双星","两主星同宫,按组合读,不能只看其中一颗。"],["墓库","地支里的仓库。五行入墓代表这股力量收着,不是没有。"],["伏吟","干支重复出现,事情容易原地打转、反复。"],["反吟","天克地冲,变动与对撞的意味更明显。"]],m={liuyao:{用神:"你问的这件事对应的那一类六亲,断卦先把它找出来。",月令:"起卦时的月份,用来看各爻旺不旺。",日支:"起卦当天的地支,与月建一起决定爻的力量。",大运:"六爻不看大运,这里只取当前这一件事的象。",流年:"六爻一般不看流年,看的是眼下这一卦的时段。"},ziwei:{用神:"紫微斗数以「用神宫」的强弱看事情,不取五行喜忌那套。",日主:"紫微斗数不看日主,看的是命宫与星曜组合。",十神:"紫微斗数用四化与星情,不用十神。"}};function f(t,r){const y=(Array.isArray(t)?t:[t]).filter(Boolean).join("");if(!y)return[];const h=m[r]||{};return g.filter(([c])=>y.includes(c)).map(([c,q])=>({term:c,plain:h[c]||q})).slice(0,10)}const s={career:["这份工作要不要动,明年哪几个月是窗口?","和上级的关系该硬碰还是绕开?","现在转方向,代价主要在哪儿?"],wealth:["这笔钱现在投出去合适吗?","我的财主要来自工资还是副业?","今年哪段时间最容易破财?"],love:["这段关系能走到哪一步?","什么时候适合把关系定下来?","我在关系里最容易忽略什么?"],health:["哪段时间身体最需要留意?","作息怎么调最划算?","查体和作息之外,还有什么是能自己控制的?"],study:["今年再考一次,胜算在哪、短板在哪?","复习节奏该怎么排?","要不要换目标院校或岗位?"],travel:["这次出门顺不顺,哪天走更好?","换个城市生活,合不合适?"],general:["今年最该抓的一件事是什么?","最该避开的坑在哪?","接下来三个月,什么时间点值得留意?"]};function i(t,r){const y=r&&r.direction||"general";return(s[y]||s.general).slice(0,3)}return{buildAnswer:b,buildPlain:p,dimensionPlain:w,buildGlossary:f,buildFollowups:i}})(),J["interpret-knowledge"]=(function(){const U=[{id:"bazi-yueling-siquan",system:"bazi",dims:["overall","career"],gist:"月令不是「一个月」,是当月最有权的那一个字。",detail:"月令藏干按本气、中气、余气分日用事,本气当权的时间最长。所以判旺衰先看日主在月令是得令还是失令——得令者未看全局,已有三分底气。本插件按 30 日表算出「生在本月第几日、哪一干当权」,给的是月内轮值这一层细节;旺衰与取格仍以月令本气、透干与会支为主,不随轮值改判。三命通会卷二·论人元司事另列一套日数(寅月五日/五日/二十日),与本插件取的通行表不同;原文并列,不改判。",source:"《子平真诠》论用神;人元司权分日之说见《渊海子平》;三命通会卷二·论人元司事(典藏网 7529)另列一套日数",status:"variant",note:"各家对中气、余气各主几日分法不同(有 7/7/16、9/3/18 等多说);本插件固定通行 30 日表(如寅月戊7丙7甲16),节当日为第 1 日,第 31 日以后按本气算、不硬分摊。三命通会此本寅月作 5/5/20、卯月作 7/23,与通行表不同,两表各照原样。司权表与本柱藏干表口径不同(子月壬、卯月甲、午月丙、酉月庚、亥月戊只出现在司权表里),两表各照原样;取格不随轮值改判。"},{id:"bazi-tonggen-tougan",system:"bazi",dims:["overall","career"],gist:"天干是露在外面的样子,地支是藏在地下的根。",detail:"同一个五行,透在天干叫「显」,扎在地支叫「有根」。只有天干没有地支,是看着有、使不上劲;只有地支不通天干,是有实力、不显眼。判断一个人能不能扛事,看的就是根有多深。",source:"《滴天髓·干支总论》「天全一气,不可使地德莫之载;地全三物,不可使天道莫之容」",note:"常被署给《滴天髓》的「地支所藏之干,本静以待用,透出干头,则显其用矣。故干以通根为美,支以透出为贵」,出自《子平真诠》卷一论十干十二支的注文——滴天髓底本与沈孝瞻原文里都查不到这句,注文自己引的才是上面那句滴天髓。所以本卡引可核的原文,注文只作说明。",status:"settled"},{id:"bazi-wangxiang",system:"bazi",dims:["overall","health"],gist:"旺相休囚死是五行在当月的五种状态,不是吉凶等级。",detail:"以月令五行为基准:当令者旺、我生者相、生我者休、克我者囚、我克者死。它是「此刻谁说话有分量」的相对排序,换个季节就整体重排,不能当固定评价。",source:"《五行大义》旺相休囚死;历代命书沿用",status:"settled"},{id:"bazi-shensha",system:"bazi",dims:["overall","love"],gist:"神煞是标签,不是判决。",detail:"神煞给盘面加注脚(如「这个组合常被叫作天乙贵人」),吉凶仍要看格局、旺衰、行运三件事。单见一颗凶煞不足以断凶,单见一颗吉星也不足以断吉——这是历代命书反复强调、而市面软件常忽略的一条。《滴天髓·女命章》说得更直接:「三奇二德虚好语,咸池驿马半推详」——三奇、二德是空口说好话,咸池、驿马顶多参考一半。",source:"《三命通会》神煞篇;《滴天髓·六亲论·女命章》贬神煞语;《子平真诠》力主「神煞不主吉凶」",status:"settled"},{id:"bazi-geju",system:"bazi",dims:["career"],gist:"先看月令能不能取格,取不到才论从格、化气。",detail:"月令有可用之神(透干或会支有力),按正格论;月令无用、全局一边倒,才考虑从格;日干与相邻天干五合、且月令有化神之气,才论化气格。顺序颠倒会把普通格局误判成特殊格局。",source:"《子平真诠》「论用神」;从化条件见《滴天髓》",status:"variant",note:"化气格成立条件各家宽严不一(是否要求月令为化神、是否允许有根),本插件按「有合且月令得化神之气」从严处理。"},{id:"bazi-tiaohou",system:"bazi",dims:["overall","health"],gist:"冬夏生人先调温,其余先看扶抑。",detail:"调候是针对出生季节的温度校正:冬生水冷木寒,先要火来解冻;夏生火炎土燥,先要水来润泽。调候与扶抑冲突时,多数命书主张先调候,因为寒暖失衡时,再怎么补强弱也难受。",source:"《穷通宝鉴》(拦江网)调候用神体系",status:"variant",note:"调候与扶抑的优先级各家有争论,也有主张以扶抑为主、调候为辅的。本插件同时给出两者,不替你定谁优先。"},{id:"bazi-suiyun",system:"bazi",dims:["overall","career"],gist:"大运管十年基调,流年管当年触发。",detail:"大运像换了条路,流年像这条路上某一段的天气。岁运并临(当值大运与流年干支相同)、运年反吟(大运与流年天克地冲)、大运伏吟(大运与原局某柱干支相同)、大运反吟(大运与原局某柱天克地冲)、流年伏吟(流年与原局某柱干支相同)、流年反吟(流年与原局某柱天克地冲),是传统上标记「变动较大」的年份,属于提示而非断语。本插件逐年标出六类信号:当值大运按该年立春到次年立春的区间取,交运落在年内时前后两步并列;大运与本命四柱的伏吟/反吟整步大运都在,会连续多年重复列出;只标干支重复与对冲,不折分数。原文里「返吟」指岁运与日柱相对、「伏吟」指岁运压日,与本插件「干支相同为伏吟、天克地冲为反吟」不是同一套定义,两者并列、不合并。",source:"《三命通会》卷二·总论岁运(https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7539.html);岁运并临之说出自《渊海子平》",status:"variant",note:"「岁运并临主大凶」是流传最广也最被滥用的说法,本插件只作变动提示,不断吉凶;大运与本命四柱的伏吟/反吟会连续多年出现,不逐年加重;四柱十神层面的引化也未叠入。"},{id:"bazi-liuqin",system:"bazi",dims:["love"],gist:"六亲有「星」也有「宫」,两处一起看才立体。",detail:"星是十神(男命财为妻、女命官杀为夫、印为母一类),宫是四柱位置(年月日时对应祖上、父母、配偶、子女)。星宫同参:星现而宫破,缘分有但过程有阻;宫稳而星不现,关系平淡而少波折。",source:"星宫同参见《子平真诠》《滴天髓》",status:"variant",note:"女命以官杀为夫是主流,亦有以日支为主、官杀为辅的取法;本插件按主流取,并在文案中说明。"},{id:"bazi-kongwang",system:"bazi",dims:["overall"],gist:"空亡不是「没有」,是力道打折、抓不实。",detail:"日柱所在旬之外的两个地支为旬空。落空之支力量减弱,但逢冲、逢合、逢填实之期可以「出空」,届时又恢复作用。所以空亡要看它是否被救,不宜一见到空就断无。",source:"旬空出空之说见《渊海子平》;六爻《卜筮正宗》用法相通",status:"variant",note:"空亡是否逢空即空,各家分歧较大,本插件只标注空亡,不做吉凶推断。"},{id:"bazi-xingchong",system:"bazi",dims:["overall","love"],gist:"合能解冲,冲也能破合——关系不是单向的。",detail:"刑冲合害要按力的大小与先后比:两支相冲,若有第三支与其中一支相合,冲力被牵制;反之先合后冲,合局也会被冲散。三合成局通常要求月令或日主参与,否则只是拱合,力量有限。",source:"《三命通会》论刑冲合害",status:"settled"},{id:"bazi-sanming-duizhao",system:"bazi",dims:["overall","career"],gist:"同一个格,子平真诠讲怎么用,三命通会讲怎么取。",detail:"两书不是谁替代谁:子平真诠以月令取用神、论顺逆成败,重「用」;三命通会按十神逐格立论,重「取」与「忌」。同看正官格,前者问财印护官、伤煞混杂,后者先说「止许一位,多则不宜」。此本正财、偏财分章,两格各取本格一条;七杀没有单列「论偏官」,取卷五「官煞去留杂论」讲混杂时的去留。本插件把两条并列,不合并成一句断语。",source:"《子平真诠》论正官等篇;《三命通会》卷五、卷六论十神与官煞去留",status:"variant",note:"两书成书年代与流派不同,用语有出入;本插件照录通行本,不做校勘改字,也不替两家调和。"},{id:"bazi-geju-chengbai",system:"bazi",dims:["overall","career"],gist:"格有成有败:成中带忌会打折,败中有救还能转成。",detail:"月令取到格只是起点。成格要看有没有带忌——官逢财又逢伤、官透而被合、财旺生官又逢伤,都会把成格打折;败格也看有没有救应——印来解伤、合来清煞、劫来解财,败中可转。所以判格不能只报一个格名。",source:"《子平真诠》九、论用神成败救应",status:"variant",note:"各家对成格条件与带忌轻重的排序不同(有先看刑冲、有先看合化),本插件只把原文与成败方向并列摆出,不逐盘判成破。"},{id:"bazi-huagi-bianhua",system:"bazi",dims:["overall","career"],gist:"月令用神会因合化而变:同一个起点,取用可以不同。",detail:"用神本从月令取,但月令藏干不一,透出的字不同、支会合局不同,取用就跟着变:丁生亥月本为正官,支全卯未化为印;己生申月本属伤官,藏庚透壬化为财。所以看到化气格,要回头核对月令与合局,不能只按本气定格。",source:"《子平真诠》十、论用神变化;化气条件各家另论",status:"variant",note:"化气格成立条件各家宽严不一(是否要求月令为化神、日主是否允许有根),本插件只列条件、附原文,不据此断定化气已成。"},{id:"bazi-zaji-quyong",system:"bazi",dims:["overall","career"],gist:"辰戌丑未是杂气月:先看透干,再看会支。",detail:"四墓(辰戌丑未)每个字都藏着不止一气,用神不一,所以叫杂气。子平真诠的取法是:藏干透到天干的先用(甲生辰月,透戊用偏财、透癸用正印、透乙用月劫);没有透干,再看地支有没有与月支会成三合局(辰月逢申子会水,就取水印)。本插件按「透干 → 三合会支 → 本气」的次序取格,依据里写明走的是哪一条,并把《论杂气如何取用》附在结果里。",source:"《子平真诠》十六、论杂气如何取用",status:"variant",note:"原文说「兼透则兼用」,但只给一个格名时总要落到一个藏干;本插件只取最先透出的那一干,会支也只认三合、不认三会方,且不判原文所说的「有情 / 无情」,取舍次序各家另有说法。"},{id:"bazi-zhuanwang-yuanwen",system:"bazi",dims:["overall","career"],gist:"专旺五格各有专章:成格要看局全带印,不只看身强。",detail:"三命通会卷六曲直、炎上、从革、润下、稼穑五篇各立一格:曲直须亥卯未带亥,炎上须寅午戌带寅,从革须巳酉丑带丙丁巳午,润下须申子辰全,稼穑取四季土。原文的条件都比「身强」细:要局全、要带印或带火炼金,还要防冲刑死绝。本插件把命中的那一篇附在结果里,只作结构说明。",source:"《三命通会》卷六·曲直、炎上、从革、润下、稼穑",status:"variant",note:"专旺是否必须成方局、是否允许一点官杀财,各家宽严不一;原文五篇之间条件也不齐(润下重忌冲刑、稼穑重四季土)。本插件只按「同类+印 ≥5、官杀财皆弱」列出并附原文,不据此断贵贱,也不补专旺的破格条件。"},{id:"bazi-congge-yuanwen",system:"bazi",dims:["overall","career"],gist:"从格是身无归处才「弃命」相从:一见根气就破格。",detail:"三命通会卷五弃命从煞、卷六弃命从财各有一篇:从煞要煞重身柔、四柱无一点比肩印绶;从财要财会成局、日干无气,原文说「若逢根气,命损无猜」。两篇都说行运喜财煞旺地、忌扶身。本插件只在盘面出现从财格或从杀格时附上对应原文;从儿、从强没有单章,不硬凑。",source:"《三命通会》卷五·弃命从煞;卷六·弃命从财",status:"variant",note:"从格成立条件各家分歧很大:是否允许日主有微根、阴阳干从与不从(原文说阳木不能从)、从儿与从强算不算正从,说法不一。本插件只列结构与原文,不据此断吉凶,也不补从儿、从强的原文。"},{id:"bazi-tongguan",system:"bazi",dims:["overall","career"],gist:"两神相战要有中间一行接上,对峙才化成相生。",detail:"用神与忌神两行在局中各 ≥1.5 分、又正好相克时,五行里只有一行能接上:克方生它、它再生被克方(金克木则以水为关,土克水则以金为关)。滴天髓用织女、牛郎隔关相望作比,说「此关若通也,相邀入洞房」。本插件只按局中分量点出这一行,并写明它是不是忌神。",source:"《滴天髓》通神论·通关;五行生克为通行说",status:"variant",note:"各家对「两神相战」取哪两神不一(有取日主与官杀、有取用神与忌神、有取局中最旺两行),本插件固定取「用神与克它的忌神,且两行各 ≥1.5 分」;通关一行只按五行生克唯一确定,不据此断吉凶,也不判通关之力是否够用。"},{id:"ziwei-sanfang",system:"ziwei",dims:["overall","career"],gist:"看一个宫,要看它对面和左右三个宫。",detail:"三方四正=本宫加对宫、三合两宫。命宫的三方是财帛、官禄、迁移,代表钱、事、外出的环境;只看本宫会漏掉一半信息,因为紫微断的是宫与宫之间的互动,不是单宫星曜的堆叠。",source:"《紫微斗数全书》三方四正说",status:"settled"},{id:"ziwei-poge",system:"ziwei",dims:["overall","career"],gist:"格局成立不等于落定:三方四正见煞忌空劫,吉格也会破格。",detail:"《紫微斗数全书》论人命入格说「若居陷地又加杀化忌,为下格之命,不以入格而论也」;谈星要论也说「及命宫星辰庙旺,三方有恶星守照破格」。本插件因此把「成格」与「破格」分开判:吉格先按星位成立,再看命宫三方四正是否有擎羊、陀罗、火星、铃星、地空、地劫或化忌;有则标破格并写明是哪颗星落在哪一宫。忌格本身是风险结构,不另判破格。",source:"《紫微斗数全书》卷三·论人命入格、谈星要论",status:"variant",note:"破格判据本插件统一取「三方四正见煞忌空劫」,未逐格细分煞轻煞重;各派对「入格」宽严亦有异说,故只作结构提示。"},{id:"ziwei-sihua",system:"ziwei",dims:["overall","career"],gist:"四化是变化的方向,不是吉凶等级。",detail:"生年四化定先天基调(禄主得、权主掌、科主名、忌主执),宫干四化定后天演变;自化是宫干化出的星就在本宫,主此宫之事自己会起变化。同一个忌,落在六亲宫与落在财帛宫,含义完全不同。",source:"《紫微斗数全书》四化篇;宫干飞化见飞星派",status:"variant",note:"三合派重星情与格局、飞星派重宫干飞化,两派读法差异明显。本插件给出生年四化与宫干自化,未做完整飞星串连。"},{id:"ziwei-miaowang",system:"ziwei",dims:["overall"],gist:"庙旺得利平不陷,说的是星在这个宫舒不舒服。",detail:"同一颗星落在不同宫位,发挥程度差别很大。庙旺是得地,平陷是不得地;不得地不等于不好,只是这颗星的长处不容易发挥,需要借三方吉星来补。",source:"《紫微斗数全书》诸星庙旺表",status:"variant",note:"太阳、太阴在少数宫位的庙旺标注各家有出入;本插件只标十四主星,不硬标辅星。"},{id:"ziwei-daxian",system:"ziwei",dims:["career"],gist:"大限定十年主题,流年定当年事件。",detail:"大限看这十年主要在忙什么,流年看其中某一年被什么触发。两者的四化会叠在同一些宫位上,叠加处就是这十年里的关键点——只看流年而不看大限,容易把小事放大。",source:"《紫微斗数全书》大限流年篇",status:"settled"},{id:"ziwei-shengong",system:"ziwei",dims:["overall"],gist:"命宫是「你本来是谁」,身宫是「你后来把力气放在哪」。",detail:"身宫不独立成宫,而是寄在某一宫里(如寄财帛、寄官禄)。它标出中年之后的着力点:命宫强而身宫弱,多为主观强但落地慢;身宫得地,做事更容易见效。",source:"《紫微斗数全书》命身宫说",status:"variant",note:"身宫寄宫的取法各家一致,但身宫与命宫谁更重,各家侧重不同。"},{id:"ziwei-kongjie",system:"ziwei",dims:["overall","career"],gist:"空劫主计划外的变动,遇禄则财来财去。",detail:"地空地劫在紫微里代表落空与抽离:落财帛多主钱财不易积累,落官禄多主方向反复。若与禄存、化禄同宫,常见进得快、出得也快;与忌同宫则容易因变动而受挫。",source:"《紫微斗数全书》空劫条",status:"variant",note:"空劫是否见禄反吉,各家说法不一,本插件只提示变动性质,不判吉凶。"},{id:"ziwei-ji-duo",system:"ziwei",dims:["overall","career"],gist:"吉凶看一方里吉星与凶星谁多,不看单颗星的名字。",detail:"卷一太微赋说「诸星吉,逢凶也吉;诸星凶,逢凶也凶」,重补斗数彀率把同一句写作「诸星吉多逢凶也吉,诸星恶多逢吉也凶」——措辞小异、口径一致:判的是会合星的多数,不是某一颗的标签。本插件因此把破格条件写成「三方四正见擎羊陀罗火铃空劫或化忌」的计数,而不是给某颗星定吉凶;同一颗擎羊,在吉多之宫与凶多之宫作用不同,煞与忌也不再加权分层。",source:"《紫微斗数全书》卷一·太微赋、卷一·重补斗数彀率",status:"variant",note:"彀率多一个「多」字,太微赋只说吉凶;本插件按计数取彀率一说。煞与忌谁重、空劫与羊陀谁轻,各家排序不同,本插件不分档,只并列列出会到的星与所在宫。"},{id:"ziwei-shixian-jue",system:"ziwei",dims:["overall"],gist:"庙旺表之外还有两诀:按安命之宫取吉、按安命之宫取破。",detail:"卷一在逐星庙旺表之外留了两组按宫取星的诀:十二宫诸星得地合格诀逐宫列吉(午安命喜紫微天府太阳、亥安命最喜太阴),十二宫诸星失陷破格诀逐宫列破(申酉安命天机巨门为破格,子丑安命作「子午天机丑巨铃,此星落陷果为真,纵然化吉更为美,任他富贵不清宁」)。诀的主语是「命宫落在哪一支」,庙旺表的主语是「某颗星落在哪一支」,两层不是一回事,同一颗星甚至可以判反——卷三天机表作「庙子午」,卷一失陷诀却把子午的天机当落陷论。本插件的庙旺标注按通行表取,两诀只作解释层并列,不另开一套判定。",source:"《紫微斗数全书》卷一·十二宫诸星得地合格诀、十二宫诸星失陷破格诀",status:"variant",note:"诀文以安命之宫为主语,与逐星庙旺表不同层,两处结论可以相反(天机:卷三表作「庙子午」,卷一失陷诀把子午天机当落陷论);本插件只实现通行庙旺表,两诀不改格局判定。"},{id:"ziwei-nanv-ming",system:"ziwei",dims:["overall","love"],gist:"男命先看财帛官禄迁移,女命先看身命福德,次序不同。",detail:"卷三「论男女命同异」明说男女命星辰各别:男命先看身命,次看财帛、宫禄、迁移,俱要庙旺为吉、落陷聚凶为凶;女命先看身命吉凶,次看福德宫。卷一另有《女命骨髓赋》专篇,取星与减等各不相同。本插件排盘只按生时定宫与星,不因性别改格局成立条件;性别用在两处安星事实上——大限的顺逆(阳男阴女顺行、阴男阳女逆行)与小限起法。篇中贬抑女性的旧时措辞只作原文保留,不写进解读文案。",source:"《紫微斗数全书》卷三·论男女命同异;卷一·女命骨髓赋",status:"variant",note:"性别是否要改整套取法,各家口径不一;本插件只在安星层用性别(大限顺逆、小限),三方四正与格局判定不分两套。女命专篇的断语属旧时代措辞,只存原文、不套用。"},{id:"ziwei-feixing",system:"ziwei",dims:["overall","career"],gist:"宫干定四化,星落哪宫,这一宫的力就往哪边走。",detail:"生年四化是先天带的,飞星四化是宫位自己去找的:每一宫的宫干定出禄权科忌四颗星,那几颗星落在哪一宫,就是这一宫的力气往哪边使。所以同一个「化忌」,从命宫飞出去和从财帛飞出去,说的是两件事。",source:"《紫微斗数全书》四化篇;中州派宫干四化传法",status:"variant",note:"飞星派(如钦天四化)把宫干四化当主线,三合派只作辅助;庚干四化各派另有异说,本插件取中州派常用表。飞星串连与三方四正复合飞化现已给出,但未叠大限流年四化。"},{id:"ziwei-sanfang-fei",system:"ziwei",dims:["overall","career"],gist:"三方四正一起飞,看四股力会到哪一宫。",detail:"单宫飞化只看本宫宫干把四化送去哪里;三方四正复合飞化把本宫、对宫与两个三合宫共四宫的宫干四化同时摊开,约 16 条,按落宫归堆,落到同一宫的就是会照。会在一处的化越多,那一宫被牵动的力道越集中;两忌以上会宫、禄忌同宫、三化以上会宫、宫干化出又落回本宫(自化),是这一层最常取的几种情形。",source:"《紫微斗数全书》四化篇;飞星派三方四正同飞说",status:"variant",note:"飞星派对「三方四正一起飞」是否成立、会照要不要折成分数,各家口径不一;本插件只做落宫归堆与会照标记,不折分数,也未叠大限流年四化。"},{id:"ziwei-jichuanji",system:"ziwei",dims:["overall"],gist:"忌转忌:化忌落进哪一宫,就从那一宫再化出去。",detail:"串连是跟着同一支化逐宫走:命宫化忌入父母,父母宫的宫干再化忌往下一宫,直到绕回走过的宫成环。环越短,越容易在同一组宫位上反复;走不出去(传统说「忌出不去」)不等于凶,只是这条力没有别的出口。",source:"《紫微斗数全书》四化篇;忌转忌串连法",status:"variant",note:"串连几跳为止、是否允许借对宫飞化,各派不一;本插件只跟单一支化逐宫走,走满 12 宫或成环即停。"},{id:"ziwei-zaoyao",system:"ziwei",dims:["overall","work","health"],gist:"杂曜多而轻:全表六十余颗,本盘默认只排 49 颗,开开关才补十二颗。",detail:"通行全表的杂曜按「定宫依据」分四路:解神、天巫、天月、阴煞只看生月(如解神「正二在申三四在戍,五六在子七八在寅」);天官、天福、天厨只看生年干(如天厨「甲丁食蛇口,乙戊辛马方」);蜚廉、天德、年解只看生年支(天德「起酉宫,顺至生年」,年解「戌宫逆行去」);天才、天寿借命宫与身宫——自命宫/身宫起子年,顺数到本生年支安之。十二颗各有各的诀,没有一条通用规则能推出来,所以只能逐颗查表。它们的作用是补细节(口舌、病符、贵显、寿年、香火),不改主星与四化搭出的骨架,这也是默认盘不排它们的原因:星一多,容易被当成一条条独立的吉凶判决。",source:"通行安星诀:王亭之《中州派紫微斗数初级讲义·安星法》、网络《紫微斗数安星法口诀》本、《全书安星法》转录本,三处并核",status:"settled",note:"同名不同星不合并:年支系的蜚廉≠博士十二神的飞廉,按年安的天德≠岁前十二神的天德,年解≠按月安的解神(月解)。龙德、月德虽可按年支安,但与岁前神煞同名异宫,本库不另立。转抄例子有一处与自家诀文相抵(天才:命宫在午、戌年生人,按诀应在辰宫,却写「巳宫安天才」),判为笔误,一律以诀文为准。"},{id:"liuyao-yongshen",system:"liuyao",dims:["overall","work","wealth","love","health","study"],gist:"问什么就以哪一类六亲为用神,这一步定错,后面全盘白算。",detail:"取用按所问之事:求财与男命妻缘看妻财,工作职位考核看官鬼,文书合同学历看父母,健康以官鬼为病、子孙为医药,出行以世爻为用,感情男看妻财、女看官鬼。用神在卦上就取那一爻,出现两处记「两现」;用神不上卦,按本宫首卦同六亲的爻位取伏神,再看飞伏生克。本插件把这些位置与动变、旬空、卦体标签一一对上,但不替你选两现之中的主用。",source:"《卜筮正宗》用神章、伏神章;《增删卜易》用神章",status:"settled"},{id:"liuyao-wangshuai",system:"liuyao",dims:["overall"],gist:"月建管当令,日辰管生杀。",detail:"月建决定这一爻在这个月有没有气;日辰能生能克能冲能合,作用更直接。月破之爻当月无力;日冲则看动静——静爻被日冲为暗动,动爻被日冲为冲散。",source:"《卜筮正宗》月建日辰章",status:"settled"},{id:"liuyao-dongbian",system:"liuyao",dims:["overall"],gist:"动爻是「事情自己在动」的那一处。",detail:"动爻能生克静爻,静爻不能反克动爻。变爻对动爻有回头生、回头克两种反作用;化进神(如寅化卯)主加强,化退神(如卯化寅)主减弱。一爻独发看此爻,多爻乱动则看用神受不受伤。",source:"《卜筮正宗》动变章;《增删卜易》进神退神",status:"settled"},{id:"liuyao-shiying",system:"liuyao",dims:["overall","love","work"],gist:"世是自己这一头,应是对面那一头,两者生克定难易。",detail:"八宫每卦都定死一个世位与一个应位:首卦世在上爻,一世到五世依次落在初爻到五爻,游魂回到四爻、归魂回到三爻,应爻与世相隔三位。世爻看自己这头的状态,应爻看对方、看所问的那一头——应生世、应合世好办,应克世多阻,应爻旬空或对世爻动都有各自一层意思。本插件按纳甲实排给出世应爻位、六亲干支与两者生克,只列条件,不替你把「对方」具体化成某一个人。",source:"《京氏易传》卷上逐卦标世应;《火珠林》世应相克;《黄金策·总断千金赋》世应句",status:"variant",note:"世位序(首卦上爻、一至五世、游魂四、归魂三)本插件按通行动诀实现,与《京氏易传》逐卦注文相符——原书逐卦标注而不是一条口诀;「应爻隔三位」是这一系列实例的推步通则。应爻是否即所指之人,各家取法不同(有派别专以应爻为对手,有派别按六亲取用而不应爻虚设),本插件两说并列、不代选。"},{id:"liuyao-fushen",system:"liuyao",dims:["overall"],gist:"用神不上卦,就去本宫首卦的同位取伏神。",detail:"本卦六爻里没有用神那一类六亲,就叫用神不上卦。取法是回到本卦所属宫的首卦(八纯卦),找出该六亲所在的爻位,那一爻即伏神,本卦同一爻位上的爻叫飞神。伏神要「得出」才有用:飞神生伏神、伏神克飞神、日月生扶都算得力;飞神克伏神则受压难出。本插件给出伏神爻位、干支五行、飞伏生克,并按月建日辰归成四档出伏条件(可出 / 有助有压 / 受压难出 / 未得助);只判条件,不出应期日期。",source:"《卜筮正宗》伏神章;《增删卜易》伏神篇",status:"variant",note:"首卦里同一六亲也可能出现两次(如乾宫乾为天的父母在三爻与上爻),此时取哪一爻为伏神各家不一;本插件把候选都列出并标「伏神两现」,不代选。出伏条件的归并口径:飞生伏、伏克飞、日辰生/比和、月建旺/相算助,飞克伏、日辰克、月破算压;有助无压为「可出」,有助有压为「有助有压」,有压无助为「受压难出」,两者都无为「未得助」。四档只并列条件、不排各家优先级;旬空只标出,不并入档位。应期各家分歧更大,仍不输出日期。"},{id:"liuyao-yongshen-shuai",system:"liuyao",dims:["overall","work"],gist:"用神旺不旺,看月建给的气与日辰当天的扶克。",detail:"月建管「这一段时令」:爻五行与月支五行同气为旺、受月令生为相、生月令为休、克月令为囚、被月令克为死。日辰管「当天这一股力」:日辰生爻为生、克爻为克、同气为比和,反过来则是爻泄日、爻耗日。此外月建冲爻叫月破,日辰冲静爻叫暗动、冲旬空之爻叫冲空。本插件把这几项折成标签逐爻列出,不折成分数。",source:"《增删卜易》月建章、日辰章;《卜筮正宗》月建论",status:"variant",note:"月破、暗动、冲空三者各家取法不完全一致(有派别把日冲动爻也叫暗动,有派别只认旺相之爻暗动);本插件按「月建冲=月破、日冲静爻=暗动、日冲旬空=冲空」这一套给标签,并注明用了哪一支月建。"},{id:"liuyao-quanggu-shuai",system:"liuyao",dims:["overall","work"],gist:"全卦逐爻看月建,才看得出气聚在哪一头。",detail:"月建管这一段时令的旺衰、日辰管当天的扶克,落到全部六爻逐爻判定:每爻都出月令五态(旺相休囚死)与日辰五关系,并标月破、暗动、冲空。世爻、应爻、动爻与旬空另标,五态分布能看出气是聚在世应还是散在旁爻——用神只是其中一处落点,不看全卦容易把一处当全局。",source:"《增删卜易》月建章、日辰章;《卜筮正宗》六爻旺衰论",status:"variant",note:"各家对月破、暗动、冲空的取法不完全一致,是否给六爻折力重(分数)分歧更大;本插件只给状态标签与五态分布,不折分数。"},{id:"liuyao-yingqi",system:"liuyao",dims:["overall","career"],gist:"应期是「什么时候见分晓」,不是「哪天」。",detail:"近事以日计、远事以月计;常见取法是等用神逢值、逢冲、逢合之期,或等忌神受制之期。本插件只做前一半:把用神(不上卦则取伏神)的逢值、逢冲、逢合三支列出,旬空另标出空与冲空,再按月建五态给「偏速 / 偏缓 / 待解 / 未定」一个快慢方向;忌神受制与具体日期仍未做。应期法各家互有出入,同一卦不同取法可以差出很远,所以只作时间窗口的提示。",source:"《卜筮正宗》应期章;《增删卜易》",status:"variant",note:"应期取法(值日、冲、合、填实、旬空出空)各家优先级不同,本插件只并列触发支、不排先后,也不换算日期;近事以日计、远事以月计,用哪把尺由事情远近决定,不代选。"},{id:"liuyao-liushen",system:"liuyao",dims:["overall","love"],gist:"六神是这件事的味道,不是主角。",detail:"青龙主喜庆与正事、朱雀主口舌与文书、勾陈主田土与迟滞、螣蛇主虚惊与缠绕、白虎主伤损与急迫、玄武主暗昧与失脱。六神只作取象的修饰,断吉凶仍以六亲旺衰生克为主。",source:"《卜筮正宗》六神章",status:"settled"},{id:"liuyao-liuchong",system:"liuyao",dims:["overall"],gist:"六冲卦讲「散」:起落快、来去急。",detail:"六冲不按「爻位相邻」判,而是看六个地支能不能正好配成子午、寅申、辰戌三组对冲。按纳甲实排,八纯卦之外天雷无妄、雷天大壮也成六冲。冲不是单纯的坏:近病逢冲主速愈、久病逢冲才忌;求财问婚,冲多主聚不住。",source:"《卜筮正宗》六冲章;《增删卜易》卦体说",status:"variant",note:"通行口诀多把六冲限为八纯卦,本插件按纳甲地支实配判定,故多出无妄与大壮两支;《增删卜易》卦例里这两卦确被称作六冲,可互证。"},{id:"liuyao-liuhe",system:"liuyao",dims:["overall","love"],gist:"六合卦讲「成」:容易谈拢,也容易黏住。",detail:"六个地支正好配成子丑、寅亥、卯戌、辰酉、巳申、午未三组相合,即六合卦,共天地否、地天泰、地雷复、雷地豫、山火贲、水泽节、泽水困、火山旅八支。六合主和合、拖延:谈事情容易成,也容易久拖不决;问病则忌缠绵。",source:"《卜筮正宗》六合章",status:"settled"},{id:"liuyao-fanyin",system:"liuyao",dims:["overall","work"],gist:"反吟主反复:去了又来、定了又改。",detail:"卦反吟有两种成法:一是变卦某宫的三爻地支与本卦对应宫正好全冲;二是本卦之宫与变卦之宫在后天八卦上正对(乾巽、坎离、艮坤、震兑)。爻反吟则是动爻变出的地支回头冲本爻。无论哪种,取象都是反复、翻覆、旧事重提。",source:"《增删卜易》反吟伏吟篇;《卜筮正宗》",status:"variant",note:"各家对「卦反吟」是否只认地支全冲有分歧;本插件的八卦正对一路,是从《增删卜易》卦例(如山地剥之坤为地、风天小畜之乾为天)反推出来的。"},{id:"liuyao-fuyin",system:"liuyao",dims:["overall"],gist:"伏吟主呻吟:事情在原地打转。",detail:"卦变了,纳甲地支却没变,叫卦伏吟。纳甲上只有乾与震共用子寅辰、午申戌一套地支,所以卦伏吟只会出在乾与震互换的卦上,例如天雷无妄之雷天大壮、天风姤之雷风恒。动爻变出的地支与本爻同支,则是爻伏吟。伏吟取象是欲动不动、原地反复,常指人想动而形势不许。",source:"《增删卜易》伏吟篇;《卜筮正宗》",status:"variant",note:"另有「伏吟以用神受困论」的说法,不限于卦体;本插件只报卦体层面的伏吟与动爻伏吟,不推断吉凶轻重。"},{id:"liuyao-jintui",system:"liuyao",dims:["overall"],gist:"动爻变出同五行顺次之支,为化进神;反向为化退神。",detail:"动爻变出的地支与本爻同五行、且在顺次上往前一步,叫化进神;倒退一步叫化退神。八对是:寅→卯(木)、巳→午(火)、申→酉(金)、亥→子(水),土一支成环,丑→辰→未→戌→丑。同五行但不相邻(如寅→辰)不算。进神取象是这一爻代表的人或事有后劲、势在往前;退神取象是渐渐退气、按原势头推会落空。",source:"《增删卜易》进神退神章",status:"settled"},{id:"liuyao-jintui-yong",system:"liuyao",dims:["overall","work"],gist:"化进化退要看是用神还是忌神,还要叠月建日辰。",detail:"进神退神本身只说明这一爻的向外趋势:用神化进为得力,忌神化进则为患加剧;用神化退是力衰,忌神化退反而是解脱。传统还要看它在本月令衰旺、有没有日辰生扶,空亡或受克时进者未必能进。本插件把进退与爻位标出来,再按月建五态给一档力重——得令则进得动、退得慢,失令则进得虚、退得实,月破压过一切;只给档位,不折成加权分数,吉凶仍落在用神与忌神那一层判。",source:"《增删卜易》进神退神章、用神章",status:"variant",note:"土之进退次序各家说法不完全一致,有以丑→辰→未→戌为进、也有只取辰戌丑未相对者;本插件按丑辰未戌成环处理,并用《增删卜易》卦例中「未土化戌土为进」「戌土化未土为退」对拍。喜忌分档的出处是《增删卜易》卷二·進神退神章第二十九:「所喜者宜於化進,所忌者宜化退神」;把「喜/忌」具体落到用神/忌神两档,是本插件的引申。"},{id:"meihua-tiyong",system:"meihua",dims:["overall"],gist:"动的那一卦为用,不动的那一卦为体。",detail:"体代表自己、用代表所问之事。体克用主可控、用克体主受制、用生体主得助、体生用主付出。再看互卦与变卦判断中段与结局——梅花只取象不排盘,落点比六爻粗。",source:"《梅花易数》体用篇",status:"settled"},{id:"daliuren-sike",system:"daliuren",dims:["overall"],gist:"四课看事从哪来,三传看事往哪去。",detail:"四课由日干日支的阴阳与天地盘相叠而得;三传依九宗门(贼克、比用、涉害、遥克等)取初传,再顺推中传末传。三传之间的生克与空亡,是判断事情走向的主线。",source:"《大六壬大全》;九宗门取传法",status:"settled"},{id:"qimen-yinyang",system:"qimen",dims:["overall"],gist:"冬至后阳遁、夏至后阴遁,局数由节气与三元定。",detail:"一年分阴阳两遁,各九局;局数取决于当前节气与上中下三元(符头定元)。取局流派有拆补、超神接气、置闰三种,同一时刻可能排出不同局数——这不是算错,是流派差异。",source:"《烟波钓叟歌》;拆补与置闰见《奇门遁甲统宗》;符头定三元与二十四节气局数见《奇门遁甲元灵经》卷一;超神接气与阳遁仪顺奇逆见《奇门遁甲秘笈大全》总序",status:"variant",note:"三种取局法在节气交接前后差异最明显,本插件同时实现三种,可在参数里指定。元灵经卷一「阴阳各局」的二十四节气三元局数与引擎表逐格相符(24/24),三元符头「甲己干加子午卯酉为上元」亦与引擎定局口径同;秘笈总序「符速节迟…用超神之法,节先符后…行节气之方」正是超神与接气两名的由来。"},{id:"qimen-jixing",system:"qimen",dims:["overall","work"],gist:"六仪落刑宫叫击刑,是宫位条件不是判决。",detail:"六仪按所配地支相刑:甲子戊落震三(子刑卯)、甲戌己落坤二(戌刑未)、甲申庚落艮八(申刑寅)、甲午辛落离九(午自刑)、甲辰壬落巽四(辰自刑)、甲寅癸落巽四(寅刑巳)。天盘六仪落到自己那一宫即击刑,取象是受制、掣肘、旧账翻出来,多用来量这个符号本身使不使得上力。",source:"《烟波钓叟歌》刑格注;《奇门遁甲统宗》;六仪配旬首见《奇门遁甲元灵经》卷一,落宫表见《奇门遁甲秘笈大全》卷十五·六仪刑击格",status:"variant",note:"有流派只论天盘六仪击刑,也有把地盘一并算的;本插件只判天盘,且只作宫位条件,不自动断用神受制。秘笈卷十五「甲子戊直符加三宫,甲戌己值符加二宫,甲申庚加八宫,甲午辛加九宫,甲辰壬加四宫,甲寅癸值符加四宫」与引擎六格逐一相符。"},{id:"qimen-rumu",system:"qimen",dims:["overall"],gist:"天盘干落墓宫叫入墓:三奇与六仪各按五行墓库判。",detail:"按五行墓库推,乙、丁两个阴干从《玄机赋》逆行取墓说:乙墓戌(乾六)、丙墓戌(乾六)、丁墓丑(艮八);六仪中戊墓戌(乾六)、己庚墓丑(艮八)、辛壬墓辰(巽四)、癸墓未(坤二)。天盘干落到自己的墓宫即入墓。取象是收束、藏起来、事情压住不动;好坏要看所问之事——问收藏、问了结,入墓未必是坏事。",source:"《奇门遁甲统宗》三奇入墓条;阴干逆行取墓见其中「玄机赋」;三奇入墓歌见《奇门遁甲秘笈大全》卷十五(同卷时墓格只戊、壬、丙三句与本盘相符,辛、乙两句相异);五行墓库见《五行大义》",status:"variant",note:"各家对入墓范围说法不一:有只论三奇,也有把六仪、八门、九星一并论墓的;本插件判天盘三奇与六仪,八门、九星暂不入墓。墓宫取法同样有异说——通行另有一说按五行墓库直取(乙 木墓未、丁 火墓戌),本盘依《玄机赋》阴干逆行说(乙墓戌、丁墓丑),与引擎 qimen.js 的 RU_MU 表同源。秘笈卷十五「三奇入墓歌」作乙丙临乾、丁临艮,与本盘三奇同;但同卷「时墓格」作辛丑墓艮、乙未墓坤,与本盘辛墓辰巽、乙墓戌乾不同,「奇墓格」又作乙到临坤——一书之内三说并存,照录并列,不拿它改引擎表。"},{id:"qimen-ganying",system:"qimen",dims:["overall","work"],gist:"十干克应看天盘干加地盘干:同宫两干相遇,先取成象,再与门星神合看。",detail:"十干克应把天盘干与地盘干的组合收成 100 组,每组一个格名与一段取象。例如甲加丙「青龙返首」主大吉大利,甲加庚「值符飞宫」主吉事不成,乙加辛「青龙逃走」主失财逃亡。它回答的是「这两股气碰在一起像什么」,不单独回答「事情成不成」;同一组落在不同门、星、神与旺衰下,轻重会变。",source:"《奇门十干应克》通行 100 组表;《奇门遁甲元灵经》卷二「天盘加地盘吉凶」存甲、乙、丙三组异文;格名与取象另见《奇门遁甲秘笈大全》总序",status:"variant",note:"100 组表各家措辞不一,本插件取通行表;元灵经只存三组(各 9 条,三组都缺「加戊」,页面到丙加癸为止)且文字不同,两本并列、不合并。元灵经甲加甲「吉凶不定,惟看门如何。门吉则吉,门凶则凶」正是本卡「先取成象、再与门星神合看」的原文依据;同格异文如青龙返首(总序作「反首」)、乙加辛青龙逃走三处断语各别(财物废坠/主财失逃亡/奴仆拐带六畜皆伤)。已录原文只证这几组与这一层口径,不证 100 组表全文。十干克应只作取象,不自动折吉凶。"},{id:"qimen-wangshuai",system:"qimen",dims:["overall","work"],gist:"门、星与天盘干按月令分旺相休囚死,只说明力量强弱。",detail:"旺相休囚死以月支五行为尺:与月令同气为旺,月令所生为相,生月令为休,克月令为囚,被月令所克为死。八门、九星与天盘干(三奇六仪)各按自身五行对月令,得出该符号当下「使不使得上力」。比如午月火旺,景门(火)旺、生门死门(土)相、休门(水)囚、开门惊门(金)死,天盘丙丁(火)旺、庚辛(金)死。",source:"《奇门遁甲统宗》门星旺衰条;五行旺相休囚死见《五行大义》",status:"settled"},{id:"qimen-wangshuai-yong",system:"qimen",dims:["overall","work"],gist:"旺衰是助力,不单独定吉凶:门旺而宫克门仍受制。",detail:"月令旺衰只回答「这个符号自身有多少气」,不回答「事情成不成」。取象时要和宫位关系叠起来看:门旺但同宫门克宫(门迫),力量被宫位掣肘;门囚但宫生门,仍得宫助。星同理,旺星落宫若被克,也难全其用。",source:"《奇门遁甲统宗》;《烟波钓叟歌》门宫生克注;「门尅宫为迫,宫尅门为制,门生宫为和,宫生门为义」见《奇门遁甲秘笈大全》卷十五·迫制和义格,八门迫宫见同卷门迫歌;休门到离为迫见《奇门遁甲元灵经》卷二·八门值事",status:"variant",note:"有流派按时令而非月令论门星旺衰,也有以落宫五行当令者;本插件统一按月支五行判,并在解读里明确只作强度参考。门宫四类关系(迫/制/和/义)与引擎 gatePalaceRelation 一一对应,门迫歌八格全是门克宫、逐格对拍相符;古籍在迫制之后直接下吉凶(「吉门被迫吉不就,凶门被迫祸重重」),本插件只取落宫条件,不自动折吉凶。"},{id:"qimen-gan-shengke",system:"qimen",dims:["overall","work"],gist:"天盘干落宫论生克:干克宫主进取,宫克干受制,比和相安。",detail:"天盘干(三奇六仪)落到某宫,就看干的五行与该宫五行的生克:干克宫,是符号压向环境、偏进取与主动;宫克干,是环境反过来管住符号、偏受制与掣肘;干生宫,力量往外泄;宫生干,环境给力;比和,两下相安。这一层与门宫关系(门迫、宫制门)并列,各说各的,不互相替换;两者同时成立时分别列出,不折成一个分数。",source:"《奇门遁甲统宗》干宫生克条;《烟波钓叟歌》门宫生克注",status:"variant",note:"各家对「干与宫」的取象宽窄不一:有只论干宫、有连天盘干加地盘干(十干克应)一并论的。本插件两层并列:干宫生克判落宫关系,十干克应另判天地盘两干的成象,互不替代。"},{id:"tarot-orientation",system:"tarot",dims:["overall"],gist:"逆位常见的两种读法:削弱,或转向内。",detail:"一派认为逆位是正位力量的减弱与阻塞;另一派主张逆位是同一原型的内向化、未表达。同一张逆位牌,两种读法给出的建议方向可能相反,所以牌阵解读要先把口径讲清楚。",source:"韦特体系传统;逆位读法属近代流派分歧",status:"variant",note:"逆位是否参与解读本身就有分歧(有牌阵传统完全不用逆位)。本插件按削弱加内向综合取象,并在开头声明。"},{id:"tarot-correspondence",system:"tarot",dims:["overall"],gist:"小牌 2-10 按花色三分相排旬位,首牌只归生命树源质,宫廷牌不配星座。",detail:"通行表把四组花色各配一个元素三分相(权杖火=白羊/狮子/射手,圣杯水=巨蟹/天蝎/双鱼,宝剑风=天秤/水瓶/双子,星币土=摩羯/金牛/处女):数字 2-4、5-7、8-10 依次落进这三个星座,同组三张各占该星座的第一、二、三旬;旬主星按迦勒底连续序(白羊第一旬起火星,其后土→木→火→日→金→水→月轮下去)定,例:权杖二=火星在白羊第一旬、权杖四=金星在白羊第三旬、圣杯九=木星在双鱼第二旬。四张首牌对应生命树的 Kether 到 Malkuth 之外的「元素之根源」,只归源质不配单一星座。",source:"RWS(1909)牌面;牌义取自黄金黎明体系(Liber 777 一脉的公开对应表,与三处独立资料互核)",status:"variant",note:"两处不合并:一是旬主星表本身有两派——本库按迦勒底连续序(白羊一旬起火星,巨蟹一旬起金星),另一派把每个星座的第一旬归本星座守护星(巨蟹一旬起月亮),两派在半个黄道上给出的旬主不同,本库取 777/黄金黎明一路因为小牌的星座-行星对应就是按它排的;二是宫廷牌(侍从/骑士/王后/国王)在公开资料里有两套互相冲突的映射:一套按「国王=本位宫、王后=固定宫、骑士=变动宫」,另一套按黄金黎明四元素层级(骑士=火、国王=风、王后=土、侍从=水)推星座,两派在多数花色上把国王与王后对调。本插件两派都不合并:数字牌取连续序标注旬位,宫廷牌只给元素与角色定位,星座与主星留空。"},{id:"bazi-dayun-jiaoqi",system:"bazi",dims:[],gist:"交运按「三日折一年」放大到日、时:起运时刻与每步换运日期都给。",detail:"把「出生 → 起运那一侧节令」的真实间隔按 365.2422/3(约 121.7474 倍)放大,加到出生时刻上就是交运时刻;同一比例也兑现「一日折四月、一时辰折十日」。每步大运在同月同日同时刻换,闰日退到 2 月 28 日。年长取回归年 365.2422 日,故与按 360 日折算的流派会差一两天。",source:"《渊海子平》起运法(三日折一年);《三命通会》论行运",status:"variant",note:"各家对「一年折几日」「交运日是否按 360 日计」取法不一,本插件固定 365.2422 日并把口径写进结果(dayun.jiao.yearDays)。出生时刻或经度一变,交运日会前后移一两天;月柱在交节边界时尤其要复核。"},{id:"liuyao-yingqi-exact",system:"liuyao",dims:[],gist:"具体应期(哪一天应验)本插件尚未推算。",detail:"应期需要综合用神旺衰、动变、旬空出空、日月冲合多层条件,且各家取法不同。当前只给时间窗口的方向性提示(逢值 / 逢冲 / 逢合的触发支,加一个快慢方向),不给具体日期——与其给一个看起来精确、实则拍脑袋的日子,不如留白。",source:"待补:《卜筮正宗》应期章逐条实现 + 已录 128 条卦例对拍(源 138 条)",status:"todo",note:"扩展方向:用《卜筮正宗》卦例里有明确应验日期的条目做回归,先验证再输出。0.50.0 已给出触发支与快慢方向,仍不输出日期。"}];function V(T,_){return U.filter(H=>H.system===T&&H.dims.includes(_))}function ae(T){return U.filter(_=>_.system===T&&_.status!=="settled")}return{KNOWLEDGE:U,knowledgeFor:V,caveatsFor:ae,STATUS_LABEL:{settled:"文本·诸家一致",variant:"文本·各家有异说",todo:"文本·未录入"},KNOWLEDGE_DISCLAIMER:"以上标签只说明典籍文本的一致程度,不表示该技法经过验证;本插件不对任何技法的预测效度作保证。"}})(),J.limits=(function(){const U=[{id:"validity",title:"任何技法的预测效度都未经检验",text:"能被复核的只有形式层——纳甲、干支关系、十神、宫位这类可由程序重算的部分,错了能查。解释层是各派通行说法,本插件不声称它比别的说法更准,也没有做过能被别人重复的验证。"},{id:"same-chart",title:"同盘不同命,本插件不解决",text:"同一个四柱、同一张命盘对应无数人,从盘面推不出具体某一个人。这是模型的硬缺陷,不是样本不够——换个更大的样本也补不上。所以本插件给的是「这一类盘常见的结构」,不是「你会怎样」。"},{id:"advice",title:"不给医疗、法律、投资建议",text:"不做疾病诊断与用药建议,不判诉讼胜负,不做买卖与借贷决策。三类问题都有各自的专业判断标准,盘面推不出它们。"}],V={liuyao:[{id:"liuyao-no-date",title:"应期不给公历日期",text:"只给地支与快慢档(偏速/偏缓/待解/未定),不折算成「某月某日」。原因不是保守:应期可取逢值、逢冲、逢合、出空、填实多种,任一种都能事后对得上,折算成日期只是把不确定性藏进一个具体数字里。回测 15 条规则命中 51.7%,平均要给 3.55 个候选支(随机基线 29.6%)——高于随机,但撑不起一个具体日期。"},{id:"liuyao-yongshen",title:"用神多现时,不替你选",text:"卦中用神两现时,插件把候选都列出来,不代选。取哪一个直接决定断语方向,各家取舍标准不一,替选等于把一派之见说成唯一答案。"},{id:"liuyao-zhi-date",title:"「某支应事」不等于「那天会发生」",text:"地支只标方向与快慢,不承诺落点。同一支在一天里对应两个时辰、在一个月里对应多个日子,具体哪一天,本插件不判。"},{id:"liuyao-liuyue",title:"不推演流月推进后的二次变化",text:"应期按「当下一个月建 + 日辰」静态算,不模拟下一个月到来后「原来的合被冲开、原本被制住的爻复起」这类连锁。实占里有反例:用神伏藏、本来可靠日辰冲开,但进入下个月建后一冲解掉了原月建对制它之爻的合,制者复起,出伏失败,事情没成。跨月推演还没做,所以应期只能作「该留意哪几支」,不能承诺某个月份。"}],bazi:[{id:"bazi-hour-unknown",title:"时辰未知时,只给三柱,不给紫微与合盘",text:"不知道出生时辰时,本插件不排时柱,起运按日估算,并把「时柱按正午暂算」写在结果第一行。紫微(命宫由生月与生时支定)与合盘(夫妻宫、大运都依赖时支)一律不出盘——不是保守,是这两套离了时支就不成立,硬排出来只是看着像盘。"},{id:"bazi-no-event",title:"不预测具体年份的事件",text:"不判「哪年结婚」「哪年升职」「哪年发财」。岁运并临、运年反吟、伏吟这类只作变动提示、不断吉凶——这些格局在十年里会反复出现,按它们断事,等于每年都能找到一次「应验」。"},{id:"bazi-strength",title:"旺衰是分档,不是评分",text:"旺衰按五行分量与月令得令情况分档,给出的百分比是相对权重,不是命理学的定量指标。各家对「几分算旺」没有共识,本插件不把档位差当成精确结论。"},{id:"bazi-huagi",title:"化气格的真化,仍缺对拍",text:"化气格成立条件各家宽严不一(是否要求月令为化神、日主是否允许有根),本插件按从严一路判,并把条件与原文并列摆出;真化/假化的判定还没有实盘对拍集。"}],ziwei:[{id:"ziwei-feixing",title:"飞星层只报路径,不判吉凶",text:"飞星能做到单一支化逐宫追到成环、三方四正按落宫归堆,但串连与复合飞化叠上大限流年之后的力重还没定,所以只报走到哪、不判好与不好。"},{id:"ziwei-poge",title:"格局只判成立,破格条件未做",text:"34 条格局按独立谓词逐条复算过成立条件,但「什么情况下这条格局不算」各家破法不一,需先定底本,所以现在只判成不成立。"}],meihua:[{id:"meihua-waiying",title:"不取外应",text:"只按时间/数字起卦,用体用生克与互变卦推演。外应(当时的声音、来人衣着、路上所见)不纳入——那部分的解释空间几乎没有边界,纳入后任何结论都能凑出来。"}],daliuren:[{id:"daliuren-yingqi",title:"三传只给结构,应期未做",text:"四课三传按通行起法给出,天将、六亲、旺衰并列;具体应期推演尚未实现,不据此判时间。"}],qimen:[{id:"qimen-bamen",title:"八门九星入墓未做",text:"十干克应与六仪入墓已按通行口径上,八门、九星入墓各家说法不同、需逐条核,暂不实现;用神落宫与击刑入墓的联动只并列条件、不推结论。"}],tarot:[{id:"tarot-claim",title:"牌义取通行义,不做个人化解读",text:"按牌阵位置与正逆位给通行牌义,不做联想式延伸。牌阵与问题的对应关系由你确定,插件不替你判断「该抽几张」「该问什么」。"}]};function ae(re){return[...U,...V[re]||[]]}return{UNIVERSAL_LIMITS:U,SYSTEM_LIMITS:V,limitsFor:ae}})(),J.guide=(function(){return{GUIDE:{title:"第一次看?先分清「数」「象」「辞」",lead:"这份报告分三层。分清之后,你就知道哪一部分可以信、哪一部分要留个心眼。",layers:[{key:"shu",name:"数",sub:"坐标",text:"干支、节气、纳甲、十神、宫位——这些是算出来的坐标。换个人、换台机器算,结果应该一模一样。",hint:"报告里每个干支、每个宫位、每个局数都属于这一层:可复算,也可复查。这一层错了就是硬错。"},{key:"xiang",name:"象",sub:"关系",text:"合、冲、伏、墓、当位、承乘——坐标之间形成的形状。关系看得见,但「这段关系在人生里叫什么」是命名,各家会有分歧。",hint:"点开每条「依据」,看到的就是这一层:盘面上的事实,还没加解释。"},{key:"ci",name:"辞",sub:"判断",text:"吉凶、顺逆、应期——一句话的结论。自由度最高,也最需要你保留怀疑。",hint:"下面所有的结论都在这一层。它的效度未经检验:当参考,别当判决。"}],check:{title:"看到任何一句断语,先问三句",items:["它落在哪个坐标上(哪一柱、哪一爻、哪一宫)?","关系是什么(生、克、合、冲、伏、墓)?","这个说法是唯一读法吗?"],tail:"三问答不全,那句话就只是在给结论,没有给依据——包括本插件自己给的。"},parts:{title:"纳甲、十神、宫位,各自在干什么",rows:[["纳甲","给每一爻装上地支坐标,让卦能和日辰比较(数)"],["十神","把「生我克我」翻译成人伦关系(象到辞的接口)"],["宫位","把关系分到位置上:年月日时、十二宫(象的空间化)"]],tail:"三个都是中间件,不是知识本身:背熟十神只等于背熟一本词典,会不会读象是另一件事。"},closing:"一句话收尾:数当镜子,象当语言,辞当别人的意见——可以听,不必签收。"}}})(),J.citations=(function(){const{CLASSICS:U,CLASSIC_BOOKS:V}=J.classics||{},{KNOWLEDGE:ae}=J["interpret-knowledge"]||{},{PATTERN_BREAK_RULES:re}=J.ziwei||{},te={ziwei:{name:"紫微斗数全书",author:"宋·陈抟(传)",base:"https://zh.wikisource.org/wiki/紫微斗數全書"},qiongtong:{name:"穷通宝鉴",author:"佚名",base:"https://www.diancang.xyz/xuanxuewushu/qiongtongbaojian/"},daliuren:{name:"大六壬大全",author:"明·郭载騋校(四库全书本)",base:"https://zh.wikisource.org/wiki/六壬大全"},qimen:{name:"奇门遁甲统宗",author:"旧题诸葛亮(传)",base:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/"},meihua:{name:"梅花易数",author:"宋·邵雍(传)",base:"https://www.diancang.xyz/xuanxuewushu/meihuayishu/"},ditian:{name:"滴天髓",author:"明·京图(通行本)",base:"https://www.diancang.xyz/xuanxuewushu/ditiansui/"},liuyao:{name:"增删卜易",author:"清·野鹤老人",base:"https://zh.wikisource.org/wiki/增刪卜易"},huangjince:{name:"黄金策",author:"明·刘基(题)",base:"https://zh.wikisource.org/wiki/黄金策"},jingshi:{name:"京氏易传",author:"汉·京房",base:"https://zh.wikisource.org/wiki/京氏易傳"},huozhulin:{name:"火珠林",author:"宋·麻衣道者(题)",base:"https://zh.wikisource.org/wiki/火珠林"},zangshu:{name:"葬书",author:"晋·郭璞(题)",base:"https://zh.wikisource.org/wiki/葬書/內篇"},qingnang:{name:"青囊经",author:"佚名",base:"https://zh.wikisource.org/wiki/青囊經"},aoyu:{name:"青囊奥语",author:"旧题唐·杨筠松",base:"https://zh.wikisource.org/wiki/青囊奧語"},hanlong:{name:"撼龙经",author:"唐·杨筠松(旧题)",base:"https://zh.wikisource.org/wiki/撼龍經"},rudidian:{name:"入地眼全书",author:"宋·静道",base:"https://zh.wikisource.org/wiki/入地眼全書"},shenfeng:{name:"神峰通考",author:"明·张楠",base:"https://www.luckclub.cn/bazi/008/"},luoluzi:{name:"珞琭子消息赋",author:"旧题珞琭子撰,本页注解未署名",base:"https://www.luckclub.cn/bazi/024/"},lantai:{name:"兰台妙选",author:"佚名",base:"https://www.luckclub.cn/bazi/026/"},yuanhai:{name:"渊海子平",author:"宋·徐升编",base:"https://www.luckclub.cn/bazi/001/"},dtchanwei:{name:"滴天髓阐微",author:"清·任铁樵阐微本(页内「原注」「任氏曰」分列)",base:"https://www.luckclub.cn/bazi/007/"},wuxingdayi:{name:"五行大义",author:"隋·萧吉",base:"https://www.luckclub.cn/bazi/011/"},yudingziping:{name:"御定子平",author:"清·官修,不著撰人",base:"https://www.luckclub.cn/bazi/021/"},mingliyueyan:{name:"命理约言",author:"清·陈素庵",base:"https://www.luckclub.cn/bazi/018/"},yuetanfu:{name:"月谈赋",author:"佚名",base:"https://www.luckclub.cn/bazi/023/"},qianliminggao:{name:"千里命稿",author:"民国·韦千里",base:"https://www.luckclub.cn/bazi/003/"},minglitanyuan:{name:"命理探原",author:"民国·袁树珊",base:"https://www.luckclub.cn/bazi/009/"},lixuzhong:{name:"李虚中命书",author:"旧题唐·李虚中注,今多疑为宋人依托",base:"https://www.luckclub.cn/bazi/010/"},yuzhao:{name:"玉照定真经",author:"旧题晋·郭璞撰,页内注者未署",base:"https://www.luckclub.cn/bazi/012/"},wuxingjingji:{name:"五行精纪",author:"宋·廖中",base:"https://www.luckclub.cn/bazi/013/"},bazitiyao:{name:"八字提要",author:"不著撰人(民国排印本)",base:"https://www.luckclub.cn/bazi/015/"},guiguyiwen:{name:"鬼谷遗文",author:"旧题鬼谷子撰,与《李虚中命书》同源",base:"https://www.luckclub.cn/bazi/016/"},guagua:{name:"呱呱集",author:"民国·韦千里",base:"https://www.luckclub.cn/bazi/017/"},zaohuayuanyue:{name:"造化元钥评注",author:"近人评注,页内未署撰人",base:"https://www.luckclub.cn/bazi/019/"},zipingguanjian:{name:"子平管见",author:"明·雷鸣夏(八公山人秀泉子)",base:"https://www.luckclub.cn/bazi/020/"},xingmingzongkuo:{name:"星命总括",author:"旧题辽·耶律纯,四库提要已疑依托",base:"https://www.luckclub.cn/bazi/022/"},xingmingjuegu:{name:"星命抉古录",author:"不著撰人(民国排印本)",base:"https://www.luckclub.cn/bazi/025/"},renan:{name:"大六壬断案",author:"宋·邵彦和(本页课例集,含邵氏断语与后验)",base:"https://www.luckclub.cn/daliuren/002/"},rentanyuan:{name:"大六壬探原",author:"民国·袁树珊(润德堂丛书之三)",base:"https://www.luckclub.cn/daliuren/003/"},renxinjing:{name:"大六壬心镜",author:"唐·徐道符撰,本页有郑氏按语与据《神枢经》补字",base:"https://www.luckclub.cn/daliuren/004/"},renzhinan:{name:"注解大六壬指南",author:"旧题明·陈公献,本页注解未署名",base:"https://www.luckclub.cn/daliuren/005/"},rencuiyan:{name:"六壬粹言",author:"清·刘赤江(蛟门刘赤江慕甫编)",base:"https://www.luckclub.cn/daliuren/006/"},renxuesuoji:{name:"壬学琐记",author:"清·佚名(本页有光绪七年侄夔跋)",base:"https://www.luckclub.cn/daliuren/008/"},bifafu:{name:"毕法赋",author:"不著撰人(本页前段为百法歌诀,后段附今人课例)",base:"https://www.luckclub.cn/daliuren/009/"},rengui:{name:"壬归",author:"不著撰人",base:"https://www.luckclub.cn/daliuren/010/"},bushizhengzong:{name:"卜筮正宗",author:"清·王维德",base:"https://www.luckclub.cn/liuyao/001/"},donglin:{name:"洞林秘诀",author:"不著撰人(歌诀体来意/何知章)",base:"https://www.luckclub.cn/liuyao/004/"},duanyi:{name:"断易天机",author:"旧题鬼谷子,本页为今人整理本",base:"https://www.luckclub.cn/liuyao/006/"},bushiquanshu:{name:"卜筮全书",author:"明·姚际隆辑(谈易斋重订本)",base:"https://www.luckclub.cn/liuyao/007/"},yilinbuwei:{name:"易林补遗",author:"明·张星元",base:"https://www.luckclub.cn/liuyao/008/"},yiyin:{name:"易隐",author:"明·曹九锡辑,曹璿演",base:"https://www.luckclub.cn/liuyao/009/"},yimao:{name:"易冒",author:"清·程元如",base:"https://www.luckclub.cn/liuyao/010/"},shixuezhiyao:{name:"筮学指要",author:"不著撰人",base:"https://www.luckclub.cn/liuyao/011/"},boshan:{name:"博山篇",author:"页首未署撰人",base:"https://www.luckclub.cn/dixiang/001/"},cuiguan:{name:"催官篇",author:"宋·赖太素(页首署「赖布衣」)",base:"https://www.luckclub.cn/dixiang/002/"},dilizhengzong:{name:"地理正宗",author:"清·蒋国宗(页首署)",base:"https://www.luckclub.cn/dixiang/003/"},faweilun:{name:"发微论",author:"页首未署撰人",base:"https://www.luckclub.cn/dixiang/004/"},jinsuoyuguan:{name:"金锁玉关经",author:"页首未署撰人",base:"https://www.luckclub.cn/dixiang/006/"},shuilongjing:{name:"水龙经",author:"页首未署撰人(序称「大鸿氏所传」)",base:"https://www.luckclub.cn/dixiang/009/"},xuexinfu:{name:"雪心赋",author:"页首未署撰人",base:"https://www.luckclub.cn/dixiang/010/"},yangzhaishishu:{name:"阳宅十书",author:"页首未署撰人",base:"https://www.luckclub.cn/dixiang/011/"},yuchijing:{name:"玉尺经",author:"页首未署撰人",base:"https://www.luckclub.cn/dixiang/012/"},zangfadaozhang:{name:"葬法倒杖",author:"旧题唐·杨筠松(四库提要)",base:"https://www.luckclub.cn/dixiang/013/"},zangjingyi:{name:"葬经翼",author:"页首未署撰人",base:"https://www.luckclub.cn/dixiang/015/"},zhaijing:{name:"宅经",author:"旧题黄帝撰(四库提要判为依托)",base:"https://www.luckclub.cn/dixiang/016/"},qimenfaqiao:{name:"奇门法窍",author:"清·孟樨氏增注(卷一例言署)",base:"https://www.luckclub.cn/qimen/006/"},yudingqimen:{name:"御定奇门宝鉴",author:"清·官修(页首未署撰人)",base:"https://www.luckclub.cn/qimen/007/"},yichuan:{name:"易传",author:"佚名(战国至秦汉解易论文集,本页未署撰人)",base:"https://www.luckclub.cn/yijing/002/"},yuanling:{name:"奇门遁甲元灵经",author:"清·隐溪居士(序末自署光绪九年癸未)",base:"https://www.luckclub.cn/qimen/005/"},miji:{name:"奇门遁甲秘笈大全",author:"旧题汉·诸葛亮撰、明·刘伯温辑(分类页所载,正文未署)",base:"https://www.luckclub.cn/qimen/003/"}},T=[{id:"zw-poge-sanfang",book:"ziwei",chapter:"卷三·谈星要论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-poge-ruge",book:"ziwei",chapter:"卷三·论人命入格",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-shiyin",book:"ziwei",chapter:"卷一·增补太微赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-jiju-poge",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-riyue-jia",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-changqu",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-kuiyue",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-jiyue",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-tanwu",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-huotan",book:"ziwei",chapter:"卷一·增补太微赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-luma",book:"ziwei",chapter:"卷一·诸星问答论·问天马星所主若何",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-sihua-ji",book:"ziwei",chapter:"卷一·诸星问答论·问化忌星所主若何",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-sihua-lu",book:"ziwei",chapter:"卷一·诸星问答论·问化禄星所主若何",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-sanfang",book:"ziwei",chapter:"卷三·谈星要论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-shenming",book:"ziwei",chapter:"卷三·谈星要论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-daxian",book:"ziwei",chapter:"卷三·论大限十年祸福何如",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-miaowang",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-kongjie",book:"ziwei",chapter:"卷一·诸星问答论·问天空地劫所主若何",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-taiwei-ji-xiong",book:"ziwei",chapter:"卷一·太微赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-taiwei-jueshu",book:"ziwei",chapter:"卷一·太微赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-fawei-sizheng",book:"ziwei",chapter:"卷一·斗数发微论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-fawei-ruxian",book:"ziwei",chapter:"卷一·斗数发微论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-fawei-xinglian",book:"ziwei",chapter:"卷一·斗数发微论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-fawei-kequ",book:"ziwei",chapter:"卷一·斗数发微论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gaolv-jiongji",book:"ziwei",chapter:"卷一·重补斗数彀率",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gaolv-dexian",book:"ziwei",chapter:"卷一·重补斗数彀率",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gaolv-shenming",book:"ziwei",chapter:"卷一·重补斗数彀率",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-zengbu-nannv",book:"ziwei",chapter:"卷一·增补太微赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gusu-yili",book:"ziwei",chapter:"卷一·斗数骨髓赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gusu-mingshen",book:"ziwei",chapter:"卷一·斗数骨髓赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gusu-duigong",book:"ziwei",chapter:"卷一·斗数骨髓赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gusu-kong-jian",book:"ziwei",chapter:"卷一·斗数骨髓赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gusu-jieyao",book:"ziwei",chapter:"卷一·斗数骨髓赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-gusu-fanwei",book:"ziwei",chapter:"卷一·斗数骨髓赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-shideng-qianguan",book:"ziwei",chapter:"卷一·定富贵贫贱十等论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-dedi-wu",book:"ziwei",chapter:"卷一·十二宫诸星得地合格诀",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-dedi-hai",book:"ziwei",chapter:"卷一·十二宫诸星得地合格诀",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-shixian-zi",book:"ziwei",chapter:"卷一·十二宫诸星失陷破格诀",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-shixian-shen",book:"ziwei",chapter:"卷一·十二宫诸星失陷破格诀",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-nvming-fuxiang",book:"ziwei",chapter:"卷一·女命骨髓赋",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-nannv-nan",book:"ziwei",chapter:"卷三·论男女命同异",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-nannv-nv",book:"ziwei",chapter:"卷三·论男女命同异",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-shenshi-shen",book:"ziwei",chapter:"卷三·论人生时要审的确",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"smt-wangxiang",book:"sanming",chapter:"卷二·论五行旺相休囚死并寄",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7531.html"},{id:"smt-shensha",book:"sanming",chapter:"卷三·总论诸神煞",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7572.html"},{id:"smt-kongwang",book:"sanming",chapter:"卷三·论空亡",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7563.html"},{id:"smt-dayun-qiyun",book:"sanming",chapter:"卷二·论大运",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7536.html"},{id:"smt-liuqin",book:"sanming",chapter:"卷七·论六亲",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7693.html"},{id:"smt-xingchong",book:"sanming",chapter:"卷二·论三刑",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7548.html"},{id:"qt-tiaohou",book:"qiongtong",chapter:"五行总论",url:"https://www.diancang.xyz/xuanxuewushu/qiongtongbaojian/41024.html"},{id:"qm-yinyang",book:"qimen",chapter:"卷一·奇门秘诀总赋",url:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/41068.html"},{id:"qm-jixing",book:"qimen",chapter:"卷十一·玄机赋(中)",url:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/41073.html"},{id:"qm-rumu",book:"qimen",chapter:"卷十一·玄机赋(中)",url:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/41073.html"},{id:"qm-wangshuai",book:"qimen",chapter:"卷三",url:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/41070.html"},{id:"qm-men-gong",book:"qimen",chapter:"卷二",url:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/41069.html"},{id:"mh-tiyong",book:"meihua",chapter:"卷二·体用生克",url:"https://www.diancang.xyz/xuanxuewushu/meihuayishu/37734.html"},{id:"zs-yongshen",book:"liuyao",chapter:"卷一·用神章第八",url:"https://zh.wikisource.org/wiki/增刪卜易/8"},{id:"zs-fushen",book:"liuyao",chapter:"卷二·飛伏神章第二十八",url:"https://zh.wikisource.org/wiki/增刪卜易"},{id:"zs-yuejian",book:"liuyao",chapter:"卷一·月將章第十六",url:"https://zh.wikisource.org/wiki/增刪卜易/16"},{id:"zs-yuejian-zhuli",book:"liuyao",chapter:"卷一·月將章第十六",url:"https://zh.wikisource.org/wiki/增刪卜易/16"},{id:"zs-richen",book:"liuyao",chapter:"卷一·日辰章第十七",url:"https://zh.wikisource.org/wiki/增刪卜易/17"},{id:"zs-dongbian",book:"liuyao",chapter:"卷一·動變生克沖合章第十五",url:"https://zh.wikisource.org/wiki/增刪卜易/15"},{id:"zs-liushen",book:"liuyao",chapter:"卷一·六神章第十八",url:"https://zh.wikisource.org/wiki/增刪卜易/18"},{id:"zs-liuhe",book:"liuyao",chapter:"卷一·六合章第十九",url:"https://zh.wikisource.org/wiki/增刪卜易/19"},{id:"zs-liuchong",book:"liuyao",chapter:"卷一·六沖章第二十",url:"https://zh.wikisource.org/wiki/增刪卜易/20"},{id:"zs-fanyin",book:"liuyao",chapter:"卷一·反伏章第二十五",url:"https://zh.wikisource.org/wiki/增刪卜易/25"},{id:"zs-fuyin",book:"liuyao",chapter:"卷一·反伏章第二十五",url:"https://zh.wikisource.org/wiki/增刪卜易/25"},{id:"zs-jintui",book:"liuyao",chapter:"卷二·進神退神章第二十九",url:"https://zh.wikisource.org/wiki/增刪卜易"},{id:"zs-yingqi",book:"liuyao",chapter:"卷一·各門類應期總注章第又二十六",url:"https://zh.wikisource.org/wiki/增刪卜易/26又3"},{id:"dl-jigong",book:"daliuren",chapter:"卷一·起例(十干寄宫)",url:"https://zh.wikisource.org/wiki/六壬大全/1"},{id:"dl-zeike",book:"daliuren",chapter:"卷一·起例(贼克法)",url:"https://zh.wikisource.org/wiki/六壬大全/1"},{id:"dt-yiqi-tonggen",book:"ditian",chapter:"干支总论",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-liuqin-fuqi",book:"ditian",chapter:"六亲论·夫妻",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153092.html"},{id:"dt-liuqin-zinv",book:"ditian",chapter:"六亲论·子女",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153092.html"},{id:"dt-liuqin-fumu",book:"ditian",chapter:"六亲论·父母",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153092.html"},{id:"dt-nvming-shensha",book:"ditian",chapter:"六亲论·女命章",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153092.html"},{id:"dt-hezhi-fugui",book:"ditian",chapter:"六亲论·何知章",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153092.html"},{id:"lj-yuejian-richen",book:"huangjince",chapter:"一·总断千金赋",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"lj-shiying-bibi",book:"huangjince",chapter:"一·总断千金赋",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"lj-yongshen-youqi",book:"huangjince",chapter:"一·总断千金赋",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"lj-taiguo-buji",book:"huangjince",chapter:"一·总断千金赋",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"lj-fushen-tiba",book:"huangjince",chapter:"一·总断千金赋",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"lj-yingqi-chongpo",book:"huangjince",chapter:"一·总断千金赋",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"lj-jintui-jiaochong",book:"huangjince",chapter:"一·总断千金赋",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"lj-shensha-shengke",book:"huangjince",chapter:"一·总断千金赋",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"lj-hunyin-liuchong",book:"huangjince",chapter:"七·婚姻",url:"https://zh.wikisource.org/wiki/黄金策"},{id:"js-ganfei-fufeifu",book:"jingshi",chapter:"卷上·乾上乾下·乾",url:"https://zh.wikisource.org/wiki/京氏易傳"},{id:"js-bagong-zongang",book:"jingshi",chapter:"卷上·坤下離上·晋(注文)",url:"https://zh.wikisource.org/wiki/京氏易傳"},{id:"hzl-liuqin-genyuan",book:"huozhulin",chapter:"六亲根源",url:"https://zh.wikisource.org/wiki/火珠林"},{id:"hzl-duifa-luandong",book:"huozhulin",chapter:"独发乱动",url:"https://zh.wikisource.org/wiki/火珠林"},{id:"hzl-shiying-women",book:"huozhulin",chapter:"世应相克",url:"https://zh.wikisource.org/wiki/火珠林"},{id:"zm-zhunsheng-shenming",book:"ziwei",chapter:"卷一·斗数准绳",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zm-xingyuan-yinmao",book:"ziwei",chapter:"卷一·星垣论",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"js-shiying-guihun",book:"jingshi",chapter:"卷上·乾下離上·大有",url:"https://zh.wikisource.org/wiki/京氏易傳"},{id:"sf-quzhi",book:"shenfeng",chapter:"卷三·曲直仁寿格",url:"https://www.luckclub.cn/bazi/008/031/"},{id:"sf-yanshang",book:"shenfeng",chapter:"卷三·炎上格",url:"https://www.luckclub.cn/bazi/008/033/"},{id:"sf-jiase",book:"shenfeng",chapter:"卷三·稼穑格",url:"https://www.luckclub.cn/bazi/008/032/"},{id:"sf-congge",book:"shenfeng",chapter:"卷三·从革格",url:"https://www.luckclub.cn/bazi/008/035/"},{id:"sf-runxia",book:"shenfeng",chapter:"卷三·润下格",url:"https://www.luckclub.cn/bazi/008/034/"},{id:"sf-yangren",book:"shenfeng",chapter:"卷二·阳刃格",url:"https://www.luckclub.cn/bazi/008/019/"},{id:"sf-rensha",book:"shenfeng",chapter:"卷二·阳刃格",url:"https://www.luckclub.cn/bazi/008/019/"},{id:"sf-kuigang",book:"shenfeng",chapter:"卷三·魁罡格",url:"https://www.luckclub.cn/bazi/008/043/"},{id:"sf-zaji",book:"shenfeng",chapter:"卷二·杂气财官印绶格",url:"https://www.luckclub.cn/bazi/008/020/"},{id:"ll-jianbujian",book:"luoluzi",chapter:"注解·或见或闻",url:"https://www.luckclub.cn/bazi/024/001/"},{id:"ll-sizhugong",book:"luoluzi",chapter:"注解·四柱三元",url:"https://www.luckclub.cn/bazi/024/001/"},{id:"ll-zheri",book:"luoluzi",chapter:"赋文·运行折除",url:"https://www.luckclub.cn/bazi/024/001/"},{id:"lt-geju",book:"lantai",chapter:"上篇",url:"https://www.luckclub.cn/bazi/026/001/"},{id:"lt-xiongsha",book:"lantai",chapter:"上篇",url:"https://www.luckclub.cn/bazi/026/001/"},{id:"yh-cangdun",book:"yuanhai",chapter:"卷一·地支藏遁歌",url:"https://www.luckclub.cn/bazi/001/061/"},{id:"yh-dayun",book:"yuanhai",chapter:"卷一·论起大运法",url:"https://www.luckclub.cn/bazi/001/055/"},{id:"yh-liuqin",book:"yuanhai",chapter:"卷一·论五行相生相克",url:"https://www.luckclub.cn/bazi/001/057/"},{id:"yh-tianyi",book:"yuanhai",chapter:"卷一·论起玉堂天乙贵人",url:"https://www.luckclub.cn/bazi/001/024/"},{id:"dtcw-yueling",book:"dtchanwei",chapter:"上篇第15章·月令·原注",url:"https://www.luckclub.cn/bazi/007/017/"},{id:"dtcw-tongguan",book:"dtchanwei",chapter:"上篇第20章·通关·原注",url:"https://www.luckclub.cn/bazi/007/022/"},{id:"ydzp-zhengguan",book:"yudingziping",chapter:"正官论",url:"https://www.luckclub.cn/bazi/021/002/"},{id:"ydzp-chengbai",book:"yudingziping",chapter:"正官论",url:"https://www.luckclub.cn/bazi/021/002/"},{id:"mlyy-geju",book:"mingliyueyan",chapter:"看格局法",url:"https://www.luckclub.cn/bazi/018/007/"},{id:"mlyy-wangshuai",book:"mingliyueyan",chapter:"看月令法一",url:"https://www.luckclub.cn/bazi/018/011/"},{id:"mlyy-zaji",book:"mingliyueyan",chapter:"看月令法一",url:"https://www.luckclub.cn/bazi/018/011/"},{id:"mlyy-congju",book:"mingliyueyan",chapter:"看从局法",url:"https://www.luckclub.cn/bazi/018/033/"},{id:"qlmg-bage",book:"qianliminggao",chapter:"格局篇",url:"https://www.luckclub.cn/bazi/003/011/"},{id:"qlmg-quge",book:"qianliminggao",chapter:"格局篇",url:"https://www.luckclub.cn/bazi/003/011/"},{id:"qlmg-pingduan",book:"qianliminggao",chapter:"评断篇",url:"https://www.luckclub.cn/bazi/003/021/"},{id:"qlmg-qiangruo",book:"qianliminggao",chapter:"强弱篇",url:"https://www.luckclub.cn/bazi/003/008/"},{id:"qlmg-renyuan",book:"qianliminggao",chapter:"人元篇",url:"https://www.luckclub.cn/bazi/003/006/"},{id:"qlmg-liuqin",book:"qianliminggao",chapter:"六亲篇",url:"https://www.luckclub.cn/bazi/003/016/"},{id:"mlty-shunni",book:"minglitanyuan",chapter:"卷三 强弱",url:"https://www.luckclub.cn/bazi/009/004/"},{id:"mlty-yongshi",book:"minglitanyuan",chapter:"卷三 强弱",url:"https://www.luckclub.cn/bazi/009/004/"},{id:"mlty-shensha",book:"minglitanyuan",chapter:"卷八 星家十要",url:"https://www.luckclub.cn/bazi/009/009/"},{id:"wxjj-yinshou",book:"wuxingjingji",chapter:"五行精纪:第十八卷论印绶",url:"https://www.luckclub.cn/bazi/013/026/"},{id:"wxjj-tiancai",book:"wuxingjingji",chapter:"五行精纪:论财",url:"https://www.luckclub.cn/bazi/013/032/"},{id:"wxjj-tianyi",book:"wuxingjingji",chapter:"五行精纪:第十四卷【论天乙贵神】",url:"https://www.luckclub.cn/bazi/013/021/"},{id:"zhyy-tiaohou",book:"zaohuayuanyue",chapter:"立论特色",url:"https://www.luckclub.cn/bazi/019/007/"},{id:"zpgj-zhengguan",book:"zipingguanjian",chapter:"正官格",url:"https://www.luckclub.cn/bazi/020/002/"},{id:"zpgj-pianguan",book:"zipingguanjian",chapter:"偏官格",url:"https://www.luckclub.cn/bazi/020/003/"},{id:"zpgj-zaqi",book:"zipingguanjian",chapter:"杂气有三",url:"https://www.luckclub.cn/bazi/020/029/"},{id:"xmjg-tianyi",book:"xingmingjuegu",chapter:"贵人论",url:"https://www.luckclub.cn/bazi/025/001/"},{id:"xmjg-yangsheng",book:"xingmingjuegu",chapter:"五行生旺论",url:"https://www.luckclub.cn/bazi/025/002/"},{id:"xmjg-kongwang",book:"xingmingjuegu",chapter:"古法论",url:"https://www.luckclub.cn/bazi/025/008/"},{id:"rty-sike",book:"rentanyuan",chapter:"卷上 推演篇",url:"https://www.luckclub.cn/daliuren/003/002/"},{id:"rzn-rushi",book:"renzhinan",chapter:"卷一 注释大六壬心印赋",url:"https://www.luckclub.cn/daliuren/005/003/"},{id:"rzn-richen",book:"renzhinan",chapter:"卷二 大六壬九天玄女指掌赋",url:"https://www.luckclub.cn/daliuren/005/004/"},{id:"rg-tigang",book:"rengui",chapter:"卷之一 提纲例约",url:"https://www.luckclub.cn/daliuren/010/001/"},{id:"bszz-liuqin",book:"bushizhengzong",chapter:"第一篇 启蒙节要",url:"https://www.luckclub.cn/liuyao/001/005/"},{id:"bszz-yongshen",book:"bushizhengzong",chapter:"第三篇 十八论",url:"https://www.luckclub.cn/liuyao/001/007/"},{id:"bszz-shiying",book:"bushizhengzong",chapter:"第三篇 十八论",url:"https://www.luckclub.cn/liuyao/001/007/"},{id:"bszz-yuanshen",book:"bushizhengzong",chapter:"第三篇 十八论",url:"https://www.luckclub.cn/liuyao/001/007/"},{id:"bszz-hechu",book:"bushizhengzong",chapter:"第三篇 十八论",url:"https://www.luckclub.cn/liuyao/001/007/"},{id:"bszz-pi-zs",book:"bushizhengzong",chapter:"第四篇 辟诸书之谬",url:"https://www.luckclub.cn/liuyao/001/008/"},{id:"bszz-fushen",book:"bushizhengzong",chapter:"第四篇 辟诸书之谬",url:"https://www.luckclub.cn/liuyao/001/008/"},{id:"bszz-sanchuan",book:"bushizhengzong",chapter:"第七篇 十八问答附占验",url:"https://www.luckclub.cn/liuyao/001/011/"},{id:"ylby-feifu",book:"yilinbuwei",chapter:"卷一",url:"https://www.luckclub.cn/liuyao/008/005/"},{id:"ylby-yongshen",book:"yilinbuwei",chapter:"卷一",url:"https://www.luckclub.cn/liuyao/008/005/"},{id:"sxzy-shiying",book:"shixuezhiyao",chapter:"筮学指要",url:"https://www.luckclub.cn/liuyao/011/001/"},{id:"zw-xuanwei-jixiong",book:"ziwei",chapter:"卷一·玄微论",url:"https://www.luckclub.cn/ziwei/006/001/"},{id:"zw-xuanwei-miaowang",book:"ziwei",chapter:"卷一·玄微论",url:"https://www.luckclub.cn/ziwei/006/001/"},{id:"zw-shiyu-benlin",book:"ziwei",chapter:"卷一·十喻歌",url:"https://www.luckclub.cn/ziwei/005/001/"},{id:"mh-tiyong-shengke",book:"meihua",chapter:"卷二",url:"https://www.luckclub.cn/meihua/002/004/"},{id:"mh-dongjing",book:"meihua",chapter:"卷三",url:"https://www.luckclub.cn/meihua/002/005/"},{id:"qmf-yinyang",book:"qimenfaqiao",chapter:"卷五",url:"https://www.luckclub.cn/qimen/006/005/"},{id:"ydq-liuyi",book:"yudingqimen",chapter:"遁甲隐公歌",url:"https://www.luckclub.cn/qimen/007/006/"},{id:"b13-yh-sanhe",book:"yuanhai",chapter:"论十二支三合",url:"https://www.luckclub.cn/bazi/001/008/"},{id:"b13-bszz-gangling",book:"bushizhengzong",chapter:"卜筮正宗凡例",url:"https://www.luckclub.cn/liuyao/001/003/"},{id:"b13-bszz-feifu",book:"bushizhengzong",chapter:"卜筮正宗凡例",url:"https://www.luckclub.cn/liuyao/001/003/"},{id:"b13-rty-sike",book:"rentanyuan",chapter:"卷下 集说篇",url:"https://www.luckclub.cn/daliuren/003/004/"},{id:"b13-rty-jiuke",book:"rentanyuan",chapter:"卷下 集说篇",url:"https://www.luckclub.cn/daliuren/003/004/"},{id:"yl-yinyang",book:"yuanling",chapter:"卷一·阴阳遁",url:"https://www.luckclub.cn/qimen/005/004/"},{id:"yl-jushu",book:"yuanling",chapter:"卷一·阴阳各局(附一卦管三节)",url:"https://www.luckclub.cn/qimen/005/004/"},{id:"yl-futou",book:"yuanling",chapter:"卷一·三元符头",url:"https://www.luckclub.cn/qimen/005/004/"},{id:"yl-liuyi",book:"yuanling",chapter:"卷一·六仪",url:"https://www.luckclub.cn/qimen/005/004/"},{id:"yl-ganying-jia",book:"yuanling",chapter:"卷二·天盘加地盘吉凶",url:"https://www.luckclub.cn/qimen/005/005/"},{id:"yl-ganying-bing",book:"yuanling",chapter:"卷二·天盘加地盘吉凶",url:"https://www.luckclub.cn/qimen/005/005/"},{id:"yl-ganying-yixin",book:"yuanling",chapter:"卷二·天盘加地盘吉凶",url:"https://www.luckclub.cn/qimen/005/005/"},{id:"yl-bamen",book:"yuanling",chapter:"卷二·八门值事",url:"https://www.luckclub.cn/qimen/005/005/"},{id:"mj-jiuxing",book:"miji",chapter:"卷十五·六仪刑击格",url:"https://www.luckclub.cn/qimen/003/015/"},{id:"mj-menpo",book:"miji",chapter:"卷十五·门迫歌",url:"https://www.luckclub.cn/qimen/003/015/"},{id:"mj-pozhi",book:"miji",chapter:"卷十五·迫制和义格",url:"https://www.luckclub.cn/qimen/003/015/"},{id:"mj-rumu",book:"miji",chapter:"卷十五·三奇入墓歌",url:"https://www.luckclub.cn/qimen/003/015/"},{id:"mj-shimu",book:"miji",chapter:"卷十五·时墓格",url:"https://www.luckclub.cn/qimen/003/015/"},{id:"mj-ganying",book:"miji",chapter:"总序",url:"https://www.luckclub.cn/qimen/003/001/"},{id:"mj-futou",book:"miji",chapter:"总序",url:"https://www.luckclub.cn/qimen/003/001/"},{id:"mj-yinyang",book:"miji",chapter:"总序",url:"https://www.luckclub.cn/qimen/003/001/"}],_={...Object.fromEntries(Object.entries(V).map(([j,$])=>[j,$])),...te};function H(j){const $=T.find(p=>p.id===j)||U.find(p=>p.id===j);if(!$)return null;const b=_[$.book];return{...$,bookName:b?b.name:$.book,bookAuthor:b?b.author:""}}const o={"bazi-yueling-siquan":{refs:["smt-renyuan","yh-cangdun","dtcw-yueling","qlmg-renyuan","mlty-yongshi"]},"bazi-geju":{refs:["zp-yongshen","sf-yangren","sf-rensha","lt-geju","mlyy-geju","qlmg-bage","qlmg-quge","qlmg-pingduan"]},"bazi-suiyun":{refs:["smt-suiyun"]},"bazi-sanming-duizhao":{refs:["zp-zhenguan","smt-guansha-liu","ydzp-zhengguan","wxjj-yinshou","wxjj-tiancai","zpgj-pianguan"]},"bazi-geju-chengbai":{refs:["zp-chengbai","dt-hezhi-fugui","ydzp-chengbai","zpgj-zhengguan"]},"bazi-huagi-bianhua":{refs:["zp-bianhua"]},"bazi-zaji-quyong":{refs:["zp-zaji","sf-zaji","mlyy-zaji","zpgj-zaqi"]},"bazi-zhuanwang-yuanwen":{refs:["smt-quzhi","smt-yanshang","smt-congge","smt-runxia","smt-jiasi","sf-quzhi","sf-yanshang","sf-jiase","sf-congge","sf-runxia"]},"bazi-congge-yuanwen":{refs:["smt-congsha","smt-congcai","mlyy-congju"]},"bazi-tongguan":{refs:["dt-tongguan","dtcw-tongguan"]},"bazi-tonggen-tougan":{refs:["dt-yiqi-tonggen","ll-jianbujian"],note:"通行说两句出自《子平真诠》卷一注文,非《滴天髓》正文;注文所引的滴天髓句见本条。珞琭子注只证天元/人元分层,不证「通根」。"},"bazi-wangxiang":{refs:["smt-wangxiang","mlyy-wangshuai","qlmg-qiangruo","mlty-shunni","xmjg-yangsheng"]},"bazi-shensha":{refs:["smt-shensha","dt-nvming-shensha","sf-kuigang","lt-xiongsha","yh-tianyi","mlty-shensha","wxjj-tianyi","xmjg-tianyi"]},"bazi-tiaohou":{refs:["qt-tiaohou","zhyy-tiaohou"]},"bazi-liuqin":{refs:["smt-liuqin","dt-liuqin-fuqi","dt-liuqin-zinv","dt-liuqin-fumu","ll-sizhugong","yh-liuqin","qlmg-liuqin"]},"bazi-kongwang":{refs:["smt-kongwang","xmjg-kongwang"]},"bazi-xingchong":{refs:["smt-xingchong","b13-yh-sanhe"]},"bazi-dayun-jiaoqi":{refs:["smt-dayun-qiyun","ll-zheri","yh-dayun"]},"ziwei-sanfang":{refs:["zw-sanfang","zw-gusu-duigong","zw-fawei-sizheng","zw-shiyu-benlin"]},"ziwei-sihua":{refs:["zw-sihua-lu","zw-sihua-ji","zw-fawei-kequ"]},"ziwei-miaowang":{refs:["zw-miaowang","zw-fawei-ruxian","zw-gaolv-dexian","zw-taiwei-jueshu","zm-xingyuan-yinmao","zm-zhunsheng-shenming","zw-xuanwei-miaowang"],note:"卷一「星垣论」按五行之垣定庙乐(寅卯为木垣,故贪狼天机庙乐),与卷三逐星庙旺表不是同一套口径;两处并引,本插件仍按卷三表判。"},"ziwei-daxian":{refs:["zw-daxian","zw-fawei-xinglian","zw-gusu-fanwei"]},"ziwei-shengong":{refs:["zw-shenming","zw-gusu-mingshen","zw-gaolv-shenming","zw-shenshi-shen","zm-zhunsheng-shenming"]},"ziwei-kongjie":{refs:["zw-kongjie","zw-gusu-jieyao","zw-gusu-kong-jian"]},"ziwei-poge":{refs:["zw-poge-ruge","zw-poge-sanfang","zw-gusu-yili","zw-gaolv-jiongji","zw-shideng-qianguan"]},"ziwei-ji-duo":{refs:["zw-taiwei-ji-xiong","zw-gaolv-jiongji","zw-xuanwei-jixiong"]},"ziwei-shixian-jue":{refs:["zw-dedi-wu","zw-dedi-hai","zw-shixian-zi","zw-shixian-shen"]},"ziwei-nanv-ming":{refs:["zw-nannv-nan","zw-nannv-nv","zw-nvming-fuxiang","zw-zengbu-nannv"]},"ziwei-feixing":{status:"general",book:"紫微斗数全书 / 飞星派",chapter:"四化篇",reason:"宫干飞化属飞星派传法,非《全书》单条原文"},"ziwei-sanfang-fei":{status:"general",book:"紫微斗数全书 / 飞星派",chapter:"四化篇",reason:"三方四正同飞属飞星派读法,未定位到单条原文"},"ziwei-jichuanji":{status:"general",book:"紫微斗数全书 / 飞星派",chapter:"四化篇",reason:"忌转忌串连属飞星派读法,未定位到单条原文"},"ziwei-zaoyao":{status:"general",book:"通行安星诀(中州派讲义 / 安星口诀本)",chapter:"杂曜安星诀",reason:"诀文见多处近代通行辑本且逐颗互核一致,但未定位到古籍单条原文,故不署《全书》"},"liuyao-yongshen":{refs:["zs-yongshen","lj-yongshen-youqi","hzl-liuqin-genyuan","bszz-liuqin","bszz-yongshen","bszz-pi-zs","b13-bszz-gangling"]},"liuyao-fushen":{refs:["zs-fushen","lj-fushen-tiba","js-ganfei-fufeifu","bszz-fushen","ylby-feifu","ylby-yongshen","b13-bszz-feifu"]},"liuyao-wangshuai":{refs:["zs-yuejian","lj-yuejian-richen","bszz-sanchuan"]},"liuyao-shiying":{refs:["lj-shiying-bibi","hzl-shiying-women","js-shiying-guihun","js-bagong-zongang","hzl-duifa-luandong","bszz-shiying","sxzy-shiying"]},"liuyao-yongshen-shuai":{refs:["zs-richen","lj-taiguo-buji","bszz-yuanshen"]},"liuyao-quanggu-shuai":{refs:["zs-yuejian-zhuli"]},"liuyao-dongbian":{refs:["zs-dongbian","hzl-duifa-luandong"]},"liuyao-liushen":{refs:["zs-liushen","lj-shensha-shengke"]},"liuyao-liuhe":{refs:["zs-liuhe","lj-hunyin-liuchong","bszz-hechu"]},"liuyao-liuchong":{refs:["zs-liuchong","lj-hunyin-liuchong","bszz-hechu"]},"liuyao-fanyin":{refs:["zs-fanyin"]},"liuyao-fuyin":{refs:["zs-fuyin"]},"liuyao-jintui":{refs:["zs-jintui","lj-jintui-jiaochong"]},"liuyao-yingqi":{refs:["zs-yingqi","lj-yingqi-chongpo"]},"liuyao-jintui-yong":{refs:["zs-jintui"]},"liuyao-yingqi-exact":{status:"todo",book:"增删卜易",chapter:"各門類應期總注章",reason:"逐条应期尚未实现,等 20+ 条有应验日期的卦例"},"meihua-tiyong":{refs:["mh-tiyong","mh-tiyong-shengke","mh-dongjing"]},"daliuren-sike":{refs:["dl-jigong","dl-zeike","rty-sike","rzn-rushi","rzn-richen","rg-tigang","b13-rty-sike","b13-rty-jiuke"]},"qimen-yinyang":{refs:["qm-yinyang","qmf-yinyang","ydq-liuyi","yl-yinyang","yl-jushu","yl-futou","mj-futou","mj-yinyang"]},"qimen-jixing":{refs:["qm-jixing","yl-liuyi","mj-jiuxing"]},"qimen-rumu":{refs:["qm-rumu","mj-rumu","mj-shimu"]},"qimen-wangshuai":{refs:["qm-wangshuai"]},"qimen-wangshuai-yong":{refs:["qm-men-gong","yl-bamen","mj-menpo","mj-pozhi"]},"qimen-gan-shengke":{status:"general",book:"奇门遁甲统宗",chapter:"卷十二·玄机赋(下)",reason:"底本有「奇仪与日干」生克条,未见单列「干与落宫」生克条;干宫取象为通行读法,不拿十神条文冒充"},"qimen-ganying":{refs:["yl-ganying-jia","yl-ganying-bing","yl-ganying-yixin","mj-ganying"],note:"元灵经卷二「天盘加地盘吉凶」只存天盘甲、乙、丙三组(各 9 条,三组都缺「加戊」,页面到「丙加地盘癸」为止,丁以下七组未收),秘笈总序另举六组格名;已录原文只证「先取成象、再与门星神合看」这一层口径与这几组的格名异文,不证通行 100 组表全文,其余七十馀组仍取通行表汇编、无单条原文。三处同格异文(青龙返首/反首、青龙逃走的三种断语)并列,不合并。"},"tarot-orientation":{status:"general",book:"韦特塔罗",chapter:"逆位读法",reason:"韦特体系无中文古籍原文,逆位读法属近代流派"},"tarot-correspondence":{status:"general",book:"Liber 777 一脉的公开对应表",chapter:"小阿卡纳 2-10 的旬位与十源质",reason:"属近代西方神秘学对应表,无中文古籍原文;本插件按三处独立公开资料互核后取数字牌旬位,宫廷牌两派映射冲突故不配星座"}};function A(){return[...U.map(j=>H(j.id)),...T.map(j=>H(j.id))]}function E(j,$=""){const b=o[j];if(!b)return{source:$,citations:[],status:"general",reason:"未建立引文索引"};if(Array.isArray(b.refs)&&b.refs.length){const p=b.refs.map(H).filter(Boolean),w=p.map(g=>`《${g.bookName}·${g.chapter}》${g.url}`).join(";");return{source:`${$}(原文索引:${w})`,citations:p,status:"verified"}}return{source:`${$}(${b.status==="todo"?"待补原文":"通行说,原文待补"}:${b.book||""}${b.chapter?`·${b.chapter}`:""})`,citations:[],status:b.status||"general",reason:b.reason||""}}function Z(){return Object.entries(re).filter(([,j])=>Array.isArray(j.citationIds)&&j.citationIds.length).map(([j,$])=>({name:j,citationIds:$.citationIds,citations:$.citationIds.map(H).filter(Boolean)}))}return{CITATION_BOOKS:te,CITATIONS:T,citationOf:H,CARD_CITATIONS:o,allCitations:A,citationSourceOf:E,patternCitations:Z}})(),J.interpret=(function(){const{HEX64:U,HEX_BY_CORE:V,TRIGRAM:ae,YAO_POSITION:re,MOVING_NATURE:te,ZIWEI_STARS:T,WUXING_INDUSTRY:_,WUXING_ORGAN:H,TENGOD_STYLE:o,LIUREN_JIANG:A,TAROT_ELEMENT_FOCUS:E,DISCLAIMER:Z}=J["interpret-data"]||{},{MUTAGEN:j}=J.ziwei||{},{palaceFieldOf:$,starExtraOf:b,starPairOf:p,brightRead:w,huaInLine:g,shaLineOf:m,shaNatureOf:f,fuLineOf:s,patternReadOf:i,MAIN_SHA:t}=J["ziwei-words"]||{},{stemPortraitOf:r,godPortraitOf:y,frameToneOf:h,relationNotes:c}=J["bazi-words"]||{},{bodyLabels:q,yongshenOf:O}=J.liuyao||{},we=[{key:"overall",label:"整体运势"},{key:"work",label:"工作与职业选择"},{key:"career",label:"事业发展"},{key:"love",label:"爱情与感情"},{key:"health",label:"健康状况"}],Ye={bazi:"natal",ziwei:"natal",liuyao:"divination",meihua:"divination",daliuren:"divination",tarot:"card"},d={bazi:"八字",ziwei:"紫微斗数",liuyao:"六爻",meihua:"梅花易数",daliuren:"大六壬",tarot:"塔罗"},I=[{key:"general",label:"综合",dim:null,focus:""},{key:"wealth",label:"财运",dim:"work",focus:"钱财进出的落点主要看「工作与职业选择」与「事业发展」这两条。"},{key:"career",label:"事业",dim:"career",focus:"事业发展这条与你的问题最直接。"},{key:"love",label:"感情",dim:"love",focus:"感情这条与你的问题最直接。"},{key:"health",label:"健康",dim:"health",focus:"健康这条与你的问题最直接;下面只作提醒,不作任何诊断。"},{key:"study",label:"学业",dim:"career",focus:"学业与考试更贴近「事业发展」这条,讲的是长期积累与阶段进展。"},{key:"travel",label:"出行",dim:"overall",focus:"出行与迁动更贴近「整体运势」这条,看的是当下这一段的大环境。"}],F="general",oe=l=>I.find(S=>S.key===l)||I[0];function ie(l){const S=D(l)?l:{},v=typeof S.question=="string"?S.question.trim().slice(0,200):"",X=oe(S.direction);return{question:v,direction:X.key,directionLabel:X.label,echo:v?`问题:${v} | 询问方向:${X.label}`:`询问方向:${X.label}`}}function fe(l,S,v){const X=Array.isArray(l)?l.slice():[],C=oe(S&&S.direction);if(C.dim){const Me=X.findIndex(pe=>pe&&pe.key===C.dim);if(Me>0){const pe=X[Me];X.splice(Me,1),X.unshift(pe)}if(X[0]&&X[0].key===C.dim){const pe=S.question?`就你所问的「${S.question}」来看(${C.label}方向)——${C.focus}`:`按${C.label}这个方向看——${C.focus}`;X[0]=Object.assign({},X[0],{text:`${pe}${X[0].text}`,focused:!0})}}let Y=v||"";return S.question?Y=`你问的是「${S.question}」${C.key==="general"?"。":`,方向是${C.label}。`}${Y}`:C.key!=="general"&&(Y=`方向是${C.label}。${Y}`),{dims:X,lead:Y}}const ke={大吉:"外部环境对你比较配合,属于可以主动争取的阶段",吉:"整体偏顺,适合稳步推进手上的事",平:"起伏不大,更适合打基础、补短板",忌:"摩擦与消耗偏多,宜守成、减少冒进",大忌:"压力相对集中,宜降低预期、先保住基本盘"},W={大吉:"想做的事可以排进日程,别只停在想法上",吉:"按已有节奏走,把一件事做完整比开新头更划算",平:"把精力投向积累:技能、资质、人脉都算数",忌:"少做大的调整,先把手上的事收尾",大忌:"给自己留出缓冲,重要决定不妨往后放一放"},D=l=>l&&typeof l=="object",k=(l,S,v="")=>D(l)&&l[S]!=null?l[S]:v,P=(l,S="、")=>Array.isArray(l)?l.filter(Boolean).join(S):String(l||"");function ee(l,S,v){if(U[l])return{full:l,...U[l]};const X=typeof l=="string"&&l.length>2?l.slice(2):l;if(V[X]){const Me=V[X];return{full:Me,...U[Me]}}const C=ae[S]||{},Y=ae[v]||{};return{full:l||"本卦",meaning:`${C.nature||S||""}在${Y.nature||v||""}上,${C.trait||""}遇${Y.trait||""}`.trim(),scene:"按上下卦的取象体会这一卦的大意"}}function ue(l){const S=String(l||"");return/七杀/.test(S)?"七杀":/正官/.test(S)?"正官":/正财/.test(S)?"正财":/偏财|财格/.test(S)?"偏财":/伤官/.test(S)?"伤官":/食神|食伤/.test(S)?"食神":/正印/.test(S)?"正印":/偏印|枭/.test(S)?"偏印":/劫财/.test(S)?"劫财":/比肩|比劫/.test(S)?"比肩":/官/.test(S)?"正官":/财/.test(S)?"偏财":/印/.test(S)?"正印":""}function le(l,S){const v=re.find(X=>X.pos===l)||re[0];return`${v.name}(${v.gist}):${v.tone}${S?";此处发动,"+(S.yinYang==="阳"?te.yang:te.yin):""}`}function ve(l){const S=D(l.dayMaster)?l.dayMaster:{},v=D(l.strength)?l.strength:{},X=D(l.frame)?l.frame:{},C=D(X.yongshen)?X.yongshen:{},Y=l.climate||(D(C.climate)?C.climate:D(C.tiaohou)?C.tiaohou:null),Me=D(l.wuxing)?l.wuxing:{},pe=k(v,"level","中和"),_e=Array.isArray(C.favor)?C.favor:[],ne=Array.isArray(C.avoid)?C.avoid:[],me=Array.isArray(C.disputed)?C.disputed:[],en=Array.isArray(C.neutral)?C.neutral:[],Pe=en.length?`其中${en.map(N=>`${N.element}(${N.role})`).join("、")}全局仅 ${en.map(N=>N.weight).join("、")} 分,分量近零,按中性偏忌看;仍留在忌里,是因为行运走到这一行时照样按忌计。`:"",de=k(X,"primaryName","未取定"),L=k(l.input,"gender","")==="male",De=L?"财":"官杀",he=Number(k(l.liunian?.[0],"age",NaN)),He=Array.isArray(l.dayun?.list)?l.dayun.list:[];let Oe=null;for(const N of He)Number.isFinite(he)&&Number(N.startAge)<=he&&(Oe=N);!Oe&&He.length&&(Oe=He[0]);const Je=D(Oe?.luck)?Oe.luck:{},fn=k(Je,"tier","平"),B=D(l.liunian?.[0])?l.liunian[0]:{},Ke=D(B.luck)?B.luck:{},Qe=k(Ke,"tier","平"),Ue=D(X.godStats?.groups)?X.godStats.groups:{},Ne=Object.entries(Ue).sort((N,Re)=>Re[1]-N[1]),$e=Ne[0]?.[0]||"",Ve=Ne[1]?.[0]||"",Ce=Object.entries(Me).sort((N,Re)=>Re[1]-N[1]),tn=Ce[0]?.[0]||"",Sn=Ce[Ce.length-1]?.[0]||"",Mn=Object.keys(Me).filter(N=>Number(Me[N])===0),Un=Oe?He.indexOf(Oe):-1,An=[],ct={甲:"木",乙:"木",丙:"火",丁:"火",戊:"土",己:"土",庚:"金",辛:"金",壬:"水",癸:"水"},ht=N=>ct[String(N||"")[0]]||"",Vn={子:"水",丑:"土",寅:"木",卯:"木",辰:"土",巳:"火",午:"火",未:"土",申:"金",酉:"金",戌:"土",亥:"水"};if(Oe){const N=ht(Oe.ganzhi);N&&(_e.includes(N)?An.push(`当前大运 ${Oe.ganzhi} 走${N},正是喜用,这十年推事情比平时省力;${$e?`可把力气放在${$e}对应的事上`:"适合把长期计划铺开"}。`):ne.includes(N)?An.push(`当前大运 ${Oe.ganzhi} 走${N},落在忌神上,这十年更适合守成、补短板,不宜大杠杆扩张。`):An.push(`当前大运 ${Oe.ganzhi} 走${N},既非喜用也非忌神,属于平运,结果更多取决于你在这段里做了什么。`))}if(Mn.length){const N=Mn.filter(yn=>ne.includes(yn)),Re=Mn.filter(yn=>_e.includes(yn));N.length&&An.push(`命局缺 ${N.join("、")},而它正是你的忌神——缺得刚好,不必刻意去补。`),Re.length&&An.push(`命局缺 ${Re.join("、")},这恰是喜用,是这盘的短板:靠环境、行业与身边人来补,比自己硬扛有效。`)}if($e&&de){const N=ue(de);N&&$e&&N===$e?An.push(`格局 ${de} 与最重的${$e}一致,说明你的能量集中在同一条线上,长处突出、短板也集中。`):N&&An.push(`格局 ${de}(偏${N})与最重的${$e}不在一条线上,内在会有两股力气拉扯:一边是格局给你的路,一边是你本能投入最多的事。`)}if(Array.isArray(l.shensha)&&l.shensha.some(N=>(N.items||[]).some(Re=>Re.name==="羊刃"))&&Number(Ue.官杀||0)>=1&&An.push('命见羊刃且官杀有力,属压力驱动型:遇强则强,但需要出口,长期憋着容易内耗;运动或竞技类爱好比"忍"更有用。'),l.pillars?.day){const Re=l.input?.gender==="male"?"财":"官杀",yn=Number(Ue[Re]||0),hn=Vn[l.pillars.day.branch]||"";yn>=2&&hn&&_e.includes(hn)?An.push(`配偶星(${Re})不弱,且日支 ${l.pillars.day.branch} 属喜用,感情中有实际助益,不只看感觉。`):yn===0&&An.push(`命局不见${Re},感情多靠自己主动创造场景;日支 ${l.pillars.day.branch} 更像"对方的样子"而不是"缘分的强度"。`)}const Bn=Un>=0?He.slice(Un+1,Un+4):He.slice(0,3),Kn=(...N)=>N.filter(Re=>Re!=null&&Re!==""),st=[{key:"overall",label:"整体运势",text:`你的日主是${S.stem}(五行属${S.element}),命局${pe}(${k(v,"score","")} 分)。用神取向偏${P(_e)},忌${P(ne)}——往${P(_e)}的方向走会更省力${C.tiaohou&&C.tiaohou.note?`;调候上${C.tiaohou.note}`:""}。目前走在${k(Oe,"ganzhi","当前")}大运(${fn}),${k(B,"year","今年")}年流年${k(B,"ganzhi","")}为${Qe}。`,advice:`大运看:${ke[fn]||ke.平};流年看:${W[Qe]||W.平}。大方向定在${P(_e)}相关的领域,会比硬扛${P(ne)}顺畅一些。`,evidence:Kn(`日主 ${S.stem}${S.element}·${pe}`,v&&v.parts&&v.parts.season?`月令 ${v.parts.season.branch}${v.parts.season.element}`:"",`喜 ${P(_e)} / 忌 ${P(ne)}`,Oe?`大运 ${Oe.ganzhi}·${fn}`:"",B&&B.ganzhi?`流年 ${B.year}${B.ganzhi}·${Qe}`:"")},{key:"work",label:"工作与职业选择",text:`按喜用神看,${P(_e)}这几类方向对你更有利,可参考的行业包括:${_e.slice(0,2).map(N=>_[N]||"").filter(Boolean).join(";")||"暂未取定,可先按兴趣与能力试"}。命局主格为${de},这类结构的人通常${o[ue(de)]||"有自己稳定的节奏"}。十神中${$e}最重(${Ne[0]?.[1]??""}),${Ve}次之,说明你在${$e}所代表的事项上投入的精力最多。`,advice:`选岗位时可以偏向「${P(_e)}属性 + ${$e}对应的事务」;如果现在的工作明显偏${P(ne)}且长期让你疲惫,可以参考上面方向做小幅试探,不必立刻大改。`,evidence:Kn(`主格 ${de}`,`喜用五行 ${P(_e)}`,Ne.length?`十神 ${Ne.slice(0,3).map(([N,Re])=>`${N}${Re}`).join(" ")}`:"")},{key:"career",label:"事业发展",text:`${de}的格局,配合十神里${$e}偏旺的结构,事业上更适合${$e==="财"?"靠业绩与资源积累说话":$e==="官杀"?"在有规则的组织里按层级上升":$e==="印"?"凭资质、专业与口碑取胜":$e==="食伤"?"靠作品、技术与表达打开局面":"与人并肩、共同承担的方式"}。接下来几步大运依次为:${Bn.map(N=>`${N.ganzhi}(${N.luck?.tier||"平"})`).join(" → ")||"暂未排出"},整体节奏是${Bn.length&&Bn.filter(N=>["吉","大吉"].includes(N.luck?.tier)).length>=2?"先抑后扬、后段更顺":"需要一步步积累,中间偶有起伏"}。`,advice:`把${Bn[0]?.ganzhi||"下一步"}这一步当作铺垫期,重点补${$e==="食伤"?"作品与专业深度":$e==="官杀"?"资历与组织内的信任":"可迁移的能力与资质"};遇到${P(ne)}过重的年份,优先保住已有成果。`,evidence:Kn(`格局 ${de}`,Bn.length?`后续大运 ${Bn.map(N=>N.ganzhi).join(" → ")}`:"",`当前 ${k(Oe,"ganzhi","—")}·${fn}`)},{key:"love",label:"爱情与感情",text:`${L?"男命以财星看妻缘":"女命以官杀看夫缘"},你命局中${L?"财":"官杀"}的力量为${Ue[L?"财":"官杀"]??"—"},${Number(Ue[L?"财":"官杀"]||0)>=2?"缘分出现的机会不算少":"需要自己主动创造认识人的场景"}。日支(配偶宫)为${k(l.pillars?.day,"branch","")},坐${k(l.pillars?.day,"zizuo","")},这里的信号是:${Number(Ue[L?"财":"官杀"]||0)>=2?"关系里你容易被主动靠近,但要留意筛选":"感情推进偏慢,属于需要经营的类型"}。`,advice:`不必急着要结果,先看清自己在关系里最在意什么。${Number(Ue[L?"财":"官杀"]||0)>=2?"选项多时,明确标准反而更省心":"可以把社交圈稍微扩大一点,但别为了脱单降低底线"};沟通上多说具体需求,少让对方猜。`,evidence:Kn(`${L?"财":"官杀"} 权重 ${Ue[L?"财":"官杀"]??"—"}`,`日支 ${k(l.pillars?.day,"branch","")}·${k(l.pillars?.day,"zizuo","")}`,`配偶星 ${L?"财":"官杀"}`)},{key:"health",label:"健康状况",text:`五行分布上,${tn}最旺、${Sn}最弱${Mn.length?`,其中${P(Mn)}在命局中没有明现`:""}。按五行与身体的对应,${tn}偏旺时${H[tn]?.part||""}负担相对重(${H[tn]?.note||""});${Sn}偏弱则${H[Sn]?.part||""}偏弱一些,是更值得留意的部分。这只是传统命理的取象提示,不是诊断。`,advice:`建议把作息规律放在第一位——尤其是睡眠时长尽量稳定;${H[Sn]?.note?Sn+"对应的"+H[Sn].part+"可以按体检项目关注":"按常规体检关注"}。任何不适请去看医生,别用命理结论替代检查。`,evidence:Kn(`五行 ${Object.entries(Me).map(([N,Re])=>`${N}${Re}`).join(" ")}`,`最旺 ${tn} / 最弱 ${Sn}`,Mn.length?`缺 ${P(Mn)}`:"")}],vn=r(S.stem),Tn=y($e),Fn=y(Ve),Wn=v.parts&&v.parts.season?v.parts.season:null,dt=k(l.pillars?.day,"branch",""),Jn=Object.entries(D(X.godStats?.byGod)?X.godStats.byGod:{}).filter(([,N])=>Number(N)>0).sort((N,Re)=>Re[1]-N[1]),et=Jn[0]?Jn[0][0]:"",rt=y(et),nt=(Array.isArray(C.favorRoles)?C.favorRoles:[]).slice().sort((N,Re)=>(Number(Ue[Re])||0)-(Number(Ue[N])||0)),lt=[`**日主**:${S.stem}${S.element}(${S.yinYang}${S.element})${Wn?`生于${Wn.branch}月,日主在月令「${Wn.word}」`:""},命局${pe}(${k(v,"score","—")} 分)${vn?`——${vn.image}之象`:""}。`,`**用神**:喜${P(_e)||"—"}(${P(C.favorRoles||[])||"—"}),忌${P(ne)||"—"}(${P(C.avoidRoles||[])||"—"})。${en.length?`(${P(en.map(N=>N.element))} 近零,按中性偏忌看)`:""}${h(pe,nt)}`,`**格局**:${de}(${k(X.primary,"evidence","")})${(Array.isArray(X.geju)?X.geju:[]).filter(N=>N.name&&N.name!==de).length?`,另有${X.geju.map(N=>N.name).filter(N=>N&&N!==de).join("、")}`:""}${X.patternScore&&X.patternScore.applicable?`。成格评分 ${X.patternScore.score}/100(${X.patternScore.grade})`:""}。`].join(`
|
|
73
|
+
`),G=[`**外在取象**:${vn?`${vn.image}的日主,传统取象上${vn.look}`:"这一柱的取象词库未覆盖"}${vn?`;气质上${vn.temper}`:""}。这一层只是取象,不作定论。`,`**性格底色**:十神里${$e||"—"}最重${Ne[0]?`(${Ne[0][1]})`:""}${Ve?`,${Ve}次之`:""}。${Tn?`${Tn.gift};${Tn.trap}。`:""}`+(rt&&et&&et!==$e?`具体到单颗,${et}最显,落在「${rt.role}」上。`:"")+(vn?`放在${S.stem}日主身上,长处是「${vn.gift}」,容易踩的坑是「${vn.trap}」。`:""),`**事业与家庭**:${Tn?`做事上${Tn.work}`:"做事方式看喜用与时运"}${Tn?`;感情里${Tn.love}。`:"。"}日支${dt}${k(l.pillars?.day,"zizuo","")?`坐${k(l.pillars?.day,"zizuo","")}`:""},${Number(Ue[De]||0)>=2?"配偶星不弱,关系里你有条件被好好对待,也要留意别把这些当成理所当然":"配偶星偏轻,感情更需要主动经营"}。${Fn?`另一面是${Ve}的${Fn.role}:${Fn.gift}。`:""}`].join(`
|
|
74
|
+
`),se=(l.liunian||[]).slice(0,3).map(N=>{const Re=D(N.luck)?N.luck:{},yn=c(N.relations),hn=(Re.reasons||[]).slice(0,2).join(",");return`**${N.year} ${N.ganzhi}**(${N.age}岁·${N.stemTenGod||"—"})${Re.tier||"平"}:${hn||"没有特别信号,按大运的基调走"}${yn.length?`;与命局的关系——${yn.join(";")}`:""}。`}).join(`
|
|
75
75
|
`),Le=se?`先看眼前三年(大字是当年干支与十神,后面是该年的档位与理由):
|
|
76
76
|
${se}
|
|
77
|
-
读法:档位说的是「这一年顺不顺手」,不是「会发生什么」;年份不顺时把重要动作挪到顺的年份,比硬扛更省事。`:"流年数据未取到,暂不展开。",an=[];_e.length&&an.push(`把生活与工作往${P(_e)}的方向挪一点:${_e.slice(0,2).map(
|
|
78
|
-
`),bn=[...An.length?[{key:"cross",label:"交叉判断",text:An.join(" ")}]:[],{key:"framework",label:"命局框架",text:
|
|
79
|
-
`)},...l.renyuan?[(()=>{const
|
|
80
|
-
原文:《${
|
|
81
|
-
白话:${
|
|
77
|
+
读法:档位说的是「这一年顺不顺手」,不是「会发生什么」;年份不顺时把重要动作挪到顺的年份,比硬扛更省事。`:"流年数据未取到,暂不展开。",an=[];_e.length&&an.push(`把生活与工作往${P(_e)}的方向挪一点:${_e.slice(0,2).map(N=>_[N]||"").filter(Boolean).join(";")||"按喜用五行对应的行业挑"}。不必推倒重来,先从环境、圈子和日常习惯改起。`),ne.length&&an.push(`对${P(ne)}保持一点自觉:不是不能碰,而是别在关键决定上给它加码——${ne.includes("火")?"少在情绪最热的时候拍板":ne.includes("木")?"少在想法最多的时候开工":"先把手上的事收尾再谈新的"}。`);const on=c(l.relations&&l.relations.branches);on.length&&an.push(`命局里的地支关系是「${(l.relations.branches||[]).join("、")}」:${on.join(";")}。对应到具体人事,先处理情绪,再处理事情。`),Y&&Y.need&&an.push(`调候要${Y.need.stem}${Y.need.element}:${Y.need.why}。落到日常,就是往这一类的环境、作息与节奏上靠。`);const We=an.slice(0,4).map((N,Re)=>`${"①②③④"[Re]} ${N}`).join(`
|
|
78
|
+
`),bn=[...An.length?[{key:"cross",label:"交叉判断",text:An.join(" ")}]:[],{key:"framework",label:"命局框架",text:lt},{key:"portrait",label:"画像",text:G},{key:"reasoning",label:"看盘顺序",text:[`① 先看月令:${v.parts&&v.parts.season?`${v.parts.season.branch}月,日主${S.element}${v.parts.season.word}(${v.parts.season.weight})`:"月令已定"},得旺衰 ${pe}(${k(v,"score","—")} 分)。这一步定的是"你有没有力气"。`,`② 再定用神:身强则取泄、耗、制——喜${P(_e)}(${P(C.favorRoles||[])}),忌${P(ne)}(${P(C.avoidRoles||[])})。这一步定的是"往哪走省力"。`,`③ 看格局:主格${de}${(()=>{const N=(Array.isArray(X.geju)?X.geju:[]).map(Re=>Re.name).filter(Re=>Re&&Re!==de);return N.length?`,另有${N.join("、")}`:""})()}。格局与前两步同向时可信度更高;冲突时以用神为先。`,`④ 看大运:当前${k(Oe,"ganzhi","—")}(${fn})${B&&B.year?`,${B.year} 年流年${B.ganzhi}为${Qe}`:""}。行运的吉凶不看名字,看它落在喜用还是忌神(下方「时间窗」给了理由)。`,"⑤ 落到维度:工作看喜用五行与十神权重;感情看配偶星与日支;健康看最旺与最弱的五行。五维度都只是这套推导的应用,不是另一套算法。"].join(`
|
|
79
|
+
`)},...l.renyuan?[(()=>{const N=l.renyuan,Re=N.segments.map(it=>`${it.stem}${it.from}–${it.to}`).join(" / "),yn=N.next?`,第 ${N.next.from} 日起交 ${N.next.stem}${N.next.element}`:"",hn=N.inHidden?"":` 表里的 ${N.active} 不在本柱藏干表中(属余气口径),两表各照原样,不互相改写。`,dn=N.beyond?" 你生在第 31 日以后,已超出 30 日表,按本气算,不硬分摊。":"",zn=l.renyuanClassic||Qn("smt-renyuan"),Hn=zn?`
|
|
80
|
+
原文:《${Xn[zn.book].name}·${zn.chapter}》「${zn.quote}」
|
|
81
|
+
白话:${zn.plain}`:"";return{key:"renyuan",label:"人元司权",text:`生于${N.month}月第 ${N.day} 日(从${N.term?N.term.name:"节"}起算,节当日为第 1 日,日差按本盘所用时刻所在日计):这一日由 **${N.active}${N.activeElement}** 司权,第 ${N.segment.from}–${N.segment.to} 日属它${yn}。
|
|
82
82
|
月令这一个月里,余气、中气、本气轮值,不是整月同一个五行当值——所以「月令是什么」,还要看生在第几日。
|
|
83
|
-
**口径**:本插件固定通行 30 日表(${
|
|
84
|
-
`:""}当前大运:${
|
|
83
|
+
**口径**:本插件固定通行 30 日表(${Re});另有 7/7/16、9/3/18 等分法,三命通会此本又作 5/5/20(见下原文),各家不一。分日只作解释层的一层细节,**不改取格**:取格仍按本气、透干与会支判定。${hn}${dn}`+Hn}})()]:[],{key:"timeline",label:"时间窗",text:(()=>{const N=Oe&&Oe.startAge!=null?`${Oe.startAge}–${Oe.startAge+9}岁,${fn}${Je.reasons&&Je.reasons.length?`;${Je.reasons.join(",")}`:""}`:"—",Re=(Bn||[]).slice(0,2).map(dn=>`${dn.ganzhi}(${dn.startAge}–${dn.startAge+9}岁,${dn.luck?.tier||"平"})`).join(" → ")||"—",yn=(l.liunian||[]).slice(0,5).map(dn=>{const zn=D(dn.luck)?dn.luck:{},Hn=(zn.reasons||[]).slice(0,2).join(",");return`${dn.year} ${dn.ganzhi}·${dn.stemTenGod||""}·${zn.tier||"平"}${Hn?`(${Hn})`:""}`}).join(";");return`${l.dayun&&l.dayun.jiao&&l.dayun.jiao.at?`起运交运时刻 ${l.dayun.jiao.at}(${l.dayun.jiao.frame};三日折一年,距${l.dayun.jiao.from.name} ${l.dayun.jiao.spanDays} 天)。每步大运在同月同日同时刻换,逐年日期见下方大运表「交运」列。
|
|
84
|
+
`:""}当前大运:${k(Oe,"ganzhi","—")}(${N})。后续两步:${Re}。
|
|
85
85
|
近五年流年:${yn||"—"}。
|
|
86
|
-
读法:大运管"这十年的大环境",流年管"今年的具体天气";两者打架时,以能否动到用神为准。`})()},{key:"years",label:"流年时间轴",text:Le},{key:"advice",label:"专业建议",text:We},(()=>{const
|
|
87
|
-
原文:《${
|
|
88
|
-
白话:${
|
|
86
|
+
读法:大运管"这十年的大环境",流年管"今年的具体天气";两者打架时,以能否动到用神为准。`})()},{key:"years",label:"流年时间轴",text:Le},{key:"advice",label:"专业建议",text:We},(()=>{const N=(l.liunian||[]).filter(hn=>hn.suiyun&&Array.isArray(hn.suiyun.signals)&&hn.suiyun.signals.length),Re=ut(l),yn=Re?`
|
|
87
|
+
原文:《${Xn[Re.book].name}·${Re.chapter}》「${Re.quote}」
|
|
88
|
+
白话:${Re.plain}`:"";return{key:"suiyun",label:"岁运提示",text:N.length?N.map(hn=>{const dn=(hn.suiyun.dayun||[]).map(zn=>`第${zn.step}步${zn.ganzhi}`).join("、");return`${hn.year} ${hn.ganzhi}(${dn||"未到起运"}):${hn.suiyun.signals.map(zn=>zn.detail).join(";")}`}).join(`
|
|
89
89
|
`)+`
|
|
90
|
-
读法:岁运并临、运年反吟、大运与流年的伏吟/反吟只说明干支层面重复或对冲,传统上当作「变动感较强」的信号;本插件不据此判吉凶,要落到具体年份,仍看该年是否动到用神。大运与本命四柱的伏吟/反吟整步大运都在,会连续多年出现,不当成逐年加重。`+yn:"近十年没有岁运并临、运年反吟或大运/流年伏吟、反吟。「岁运并临主大凶」这类说法流传很广,本插件只把它当变动提示,没有命中就不作额外解读。"}})(),{key:"checks",label:"交叉校验",text:(()=>{const
|
|
91
|
-
|
|
92
|
-
`
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
90
|
+
读法:岁运并临、运年反吟、大运与流年的伏吟/反吟只说明干支层面重复或对冲,传统上当作「变动感较强」的信号;本插件不据此判吉凶,要落到具体年份,仍看该年是否动到用神。大运与本命四柱的伏吟/反吟整步大运都在,会连续多年出现,不当成逐年加重。`+yn:"近十年没有岁运并临、运年反吟或大运/流年伏吟、反吟。「岁运并临主大凶」这类说法流传很广,本插件只把它当变动提示,没有命中就不作额外解读。"}})(),{key:"checks",label:"交叉校验",text:(()=>{const N=_e.reduce((dn,zn)=>dn+(Number(Me[zn])||0),0),Re=ne.reduce((dn,zn)=>dn+(Number(Me[zn])||0),0),yn=[];if(yn.push(N<Re?`喜用合计 ${N.toFixed?.(1)??N} 低于忌神合计 ${Re.toFixed?.(1)??Re}:原局里"顺风的条件"偏少,靠行运与外部环境补更现实,别硬扛。`:`喜用合计 ${N} 不低于忌神合计 ${Re}:原局自带可用的条件,行运只是把它放大或压住。`),fn&&Qe){const dn=["吉","大吉"];dn.includes(fn)&&!dn.includes(Qe)?yn.push("大运顺、当年逆:方向可以按大运走,具体动作挑流年的顺月做,不必因为一年不顺就推翻长期计划。"):!dn.includes(fn)&&dn.includes(Qe)?yn.push("大运逆、当年顺:今年适合借势处理具体事务,但不宜把长期结构性问题押在这一年解决。"):!dn.includes(fn)&&!dn.includes(Qe)?yn.push("大运与流年都偏逆:以守住基本盘为主,减少新增承诺。"):yn.push("大运与流年同向偏顺:可以把想做但一直拖着的事排上日程。")}const hn=C.tiaohou&&C.tiaohou.need?C.tiaohou:null;return hn&&yn.push(hn.clash?`调候要${hn.need.stem}${hn.need.element},扶抑不在喜用里:两套取法有分歧,本盘按调候优先——寒暖失衡时,再补强弱也难受。`:`调候要${hn.need.stem}${hn.need.element},与扶抑用神同向:取用上不打架,${hn.need.element}相关的行业与环境优先。`),yn.join(" ")})()},{key:"yongshen",label:"用神与忌神",text:`喜用:${P(_e)}(对应十神:${P(C.favorTenGods||C.favorRoles||[])});忌:${P(ne)}(对应十神:${P(C.avoidTenGods||C.avoidRoles||[])})。`+Pe+`${k(C,"detail","")}`},...Y?[{key:"climate",label:"寒暖燥湿",text:`${Y.narration}${Y.need?`调候取${Y.need.stem}${Y.need.element},忌${Y.avoidElement}${me.some(N=>N.element===Y.avoidElement)?"(有争议:该行在扶抑中为喜,见用神节)":""};${Y.clash?"与扶抑冲突,本盘以调候为先":me.some(N=>N.element===Y.avoidElement)?"调候所忌在扶抑里为喜,两说并存":"与扶抑同向"}`:"气候平和,调候不作主取"}。`}]:[],...C.qt?[{key:"qiongtong",label:"穷通宝鉴",text:`${C.qt.label}:用神 ${C.qt.yong.join("、")}(首取 ${C.qt.primary})。原文:「${C.qt.quote}」${C.qt.truncated?"(首段更长,此处摘句下略)":""}(《穷通宝鉴》第 ${C.qt.chapter} 章${C.qt.note?";"+C.qt.note:""})`}]:[],...l.palaces?[{key:"palaces",label:"胎命身",text:`胎元 ${l.palaces.taiyuan.ganzhi}(月干进一、月支进三);${l.palaces.taixi?`胎息 ${l.palaces.taixi.ganzhi}(日干五合、日支六合);`:""}`+(l.palaces.minggong&&l.palaces.shengong?`命宫 ${l.palaces.minggong.ganzhi}、身宫 ${l.palaces.shengong.ganzhi}(生月与生时两支合数定宫,天干随六十甲子)。`:"命宫与身宫由生月与生时支合数定宫:时柱暂缺,这两宫不排。")+"四宫是读盘的辅助坐标,不单独折吉凶。"}]:[],{key:"geju",label:"格局依据",text:((Array.isArray(X.geju)?X.geju:[]).map(N=>`${N.name}(${N.kind}${N.status?`·${N.status}`:""}):${N.evidence}${Array.isArray(N.breaks)&&N.breaks.length?`;破:${N.breaks.join(";")}`:""}`).join(";")||"未取到格局")+(X.patternScore?`
|
|
91
|
+
成格评分:${X.patternScore.detail}`:"")},...X.bingyao?[{key:"bingyao",label:"病药",text:`【${X.bingyao.level}】${X.bingyao.detail}
|
|
92
|
+
口径:${X.bingyao.method}`}]:[],...X.xianshen?[{key:"xianshen",label:"闲神",text:`【${X.xianshen.level}】${X.xianshen.detail}
|
|
93
|
+
口径:${X.xianshen.method}`}]:[],(()=>{const N=l.shensha,Re={year:"年",month:"月",day:"日",hour:"时"};if(!N||!Array.isArray(N.groups)||!N.groups.length)return{key:"shensha",label:"神煞",text:"本盘未见常用神煞。按炳祥课里的口径,神煞是枝叶,只作锦上添花,不单独定吉凶;真正的吉凶仍看格局、旺衰与行运。"};const yn=Array.isArray(N.names)?N.names:[],hn=N.groups.map(Hn=>`${Hn.cat}:${(Hn.items||[]).map(it=>{const gt=(it.pillars||[]).map(e=>Re[e]||e).join("、");return`${it.name}${gt?`(${gt})`:""}`}).join("、")}`).join(";"),dn=["驿马","羊刃","桃花","华盖"].filter(Hn=>yn.includes(Hn)),zn=yn.includes("天乙贵人");return{key:"shensha",label:"神煞",text:`命中神煞:${hn}。
|
|
94
|
+
按炳祥课里的口径,真正拿来取象的只有驿马、羊刃、桃花、华盖四颗${dn.length?`,本盘见 ${dn.join("、")}`:",本盘这四颗都未见"};其余一律只作锦上添花。`+(zn?"天乙贵人尤其是添头:课里给的口径是「无贵人概率 5/6⁴ < 50%,单独断贵人准确率 <30%」,不能拿来定吉凶。":"天乙贵人即使出现也只是添头:课里统计其单独断贵人准确率 <30%,不能拿来定吉凶。")+`
|
|
95
|
+
神煞永远是枝叶:它只提示「像不像」,不决定「成不成」。吉凶仍以格局、旺衰、喜忌与行运为主,神煞不参与本盘的旺衰与格局判定。`}})(),...Array.isArray(l.classics)&&l.classics.length?[{key:"classics",label:"古籍原文",text:l.classics.map(N=>`《${Xn[N.book].name}·${N.chapter}》「${N.quote}」——${N.plain}`).join(`
|
|
96
|
+
`)}]:[],{key:"quant",label:"量化口径",text:`本报告的量化只到「档位」:事业看十神权重(${$e} ${Ne[0]?.[1]??"—"})、财富看财星权重(${Ue.财??0})、感情看配偶星权重(${De} ${Ue[De]??0});大运/流年用「大吉 / 吉 / 平 / 忌」四档。不换算金额、不给健康诊断——那需要地域、家庭、行业与体检数据,命盘本身推不出来。`+(l.strength?.weightPct?`
|
|
97
|
+
宫位权重(炳祥课里干 2/5/0/3、支 11/36/27/16 的百分比视图):${l.strength.weightPct.detail}。这组数只说明四柱各占多少,不改上面的旺衰评分。`:"")},{key:"limits",label:"未纳入",text:'本盘没有计算:流月与流日、神煞的分值折算(解读侧只按课里口径作降权提示,不折成分值)、地支藏干的动态引化(合冲后再论)。取用按「调候优先、扶抑校验」;调候由月令与全局寒暖燥湿判定,并按《穷通宝鉴》120 格给出用神顺序(整理表口径,原文摘句照录,异文处已标 note);各派取法仍有分歧;真太阳时未含历史时区与夏令时。把这些补上会改变"强弱"的边际判断,所以这里只给方向,不下断语。'}],wn=[{key:"overall",label:"整体",text:`${pe},喜${P(_e)||"—"}、忌${P(ne)||"—"}${en.length?`(${P(en.map(N=>N.element))} 近零·中性偏忌)`:""}`},{key:"career",label:"事业",text:`主格${de},${$e}偏旺`},{key:"wealth",label:"财富",text:`财星权重 ${Ue.财??0}${_e.includes("金")?",喜金助财":""}`},{key:"love",label:"感情",text:`${De}星权重 ${Ue[De]??0},日支 ${k(l.pillars?.day,"branch","—")}`},{key:"rhythm",label:"节奏",text:`当前${k(Oe,"ganzhi","—")}(${fn}),${k(B,"year","")} ${k(B,"ganzhi","")}(${Qe})`}],tt=[{key:"dayun",title:"大运表",columns:["大运","年龄","交运","十神","档位","理由"],rows:He.map(N=>[N.ganzhi,`${N.startAge}–${N.startAge+9}`,N.fromDate||"—",N.stemTenGod||"",N.luck?.tier||"平",(N.luck?.reasons||[]).join(",")])},{key:"liunian",title:"流年表(近十年)",columns:["年份","干支","十神","档位","与原局"],rows:(l.liunian||[]).slice(0,10).map(N=>[String(N.year),N.ganzhi,N.stemTenGod||"",N.luck?.tier||"平",(N.relations||[]).join("、")])}],sn=(l.liunian||[]).filter(N=>Array.isArray(N.relations)&&N.relations.length).slice(0,10).map(N=>[String(N.year),N.relations.join("、"),`流年${N.ganzhi}与原局地支:${N.relations.join("、")}`]);return sn.length&&tt.push({key:"triggers",title:"触发事件表",columns:["年份","触发","依据"],rows:sn}),{lead:"下面按五个维度拆开说。所有内容来自你这张命盘的结构,讲的是倾向与建议,不是预言——方向供你参考,怎么走在你自己。",dimensions:st,sections:bn,outline:wn,tables:tt}}const Ae=Object.keys(T);function mn(l,S){return(l.palaces||[]).find(v=>v.palace===S)||null}function ye(l){if(!l)return null;const S=(l.stars||[]).find(v=>Ae.includes(v.name));return S?S.name:null}function nn(l){return(l?.stars||[]).filter(S=>S.type==="煞星").map(S=>S.name)}const Gn=["禄","权","科","忌"];function ze(l){const S=Array.isArray(l?.palaces)?l.palaces:[],v=new Map;for(const _e of S)for(const ne of _e.stars||[])!ne||!ne.mutagen||v.has(ne.name)||v.set(ne.name,{type:ne.mutagen,palace:_e.palace||null});const X=k(l,"yearGanzhi",""),C=typeof X=="string"?X.slice(0,1):"",Y=j[C]||{},Me={};for(const[_e,ne]of Object.entries(Y))Me[ne]=_e;const pe=[];for(const _e of Gn){let ne=Me[_e]||"";if(!ne){for(const[en,Pe]of v)if(Pe.type===_e){ne=en;break}}if(!ne)continue;const me=v.get(ne);pe.push({star:ne,type:_e,palace:me?me.palace:null})}return pe}function Nn(l){return!Array.isArray(l)||!l.length?"":l.map(S=>S.palace?`${S.star}化${S.type}于${S.palace}`:`${S.star}化${S.type}(未上盘)`).join("、")}function be(l){const S=mn(l,"命宫")||(l.palaces||[])[0],v=mn(l,"官禄"),X=mn(l,"财帛"),C=mn(l,"夫妻"),Y=mn(l,"疾厄"),Me=mn(l,"迁移"),pe=ye(S),_e=ye(Me),ne=Ae.includes(k(l,"lifeMaster"))?l.lifeMaster:null;let me=pe||_e||ne||"紫微";const en=pe?`你的命宫主星是${me}`:_e?`你的命宫无正曜,按紫微的规则借对宫(迁移)来看,主星是${me}`:`你的命宫与对宫都没有正曜,这里按命主星${me}来看`,Pe=T[me]||T.紫微,de=G=>nn(G).filter(se=>t.includes(se)),Xe=ye(v),L=ye(X),De=ye(C),he=ye(Y),He=G=>(G?.stars||[]).filter(se=>se.type==="主星"),Oe=(G,se)=>(G?.stars||[]).find(Le=>Le.name===se)?.brightness||"",Je=G=>p(He(G).map(se=>se.name)),fn=b(me)||{},B=w(Oe(S,me)),Ke=Je(S),Qe=(G,se)=>se?`${G&&G.tone==="bad"?se.dim:se.bright}。`:"",Ue=Number(k(l.liunian?.[0],"age",NaN));let Ne=null;for(const G of l.palaces||[]){const se=G.daxian||{};Number.isFinite(Ue)&&Number(se.start)<=Ue&&Ue<=Number(se.end)&&(Ne=G)}const $e=Array.isArray(l.patterns)?l.patterns:[],Ve=$e.length?$e.slice(0,3).map(G=>`${G.name}(${G.tone==="good"?"偏吉":G.tone==="bad"?"需留意":"中性"}:${G.evidence})`).join(";"):"本盘未触发常见格局条目",Ce=Array.isArray(l.liunian?.[0]?.mutagen)?l.liunian[0].mutagen.slice(0,4).join("、"):"",tn=ze(l),Sn=Nn(tn),Mn=[{key:"overall",label:"整体运势",text:`${en}${B?`(${B.word}——${B.plain})`:""},性格底色上${Pe.trait}。`+(Ke?`${Ke.gist};${Ke.watch}。`:"")+`本盘${Ve}。当前大限走在${Ne?`${Ne.palace}(${Ne.daxian.start}–${Ne.daxian.end}岁)`:"当前阶段"},${Ce?`流年四化为${Ce},本年的变化感主要落在这几颗星上`:"流年四化信号不明显"}。`+(l.flow?`再往下一层,当前流月命宫是${l.flow.month.ganzhi},落在原局${l.flow.month.palace||"未上盘"},本月的变化更容易在这一宫代表的事情上显出来。`:"")+(Sn?`另外你本命的生年四化落在:${Sn}——这是你这辈子比较稳定的底色,不随某一年改变。`:""),advice:(()=>{const G=Ne?Ne.palace:"命宫",se=$(G);return`这一阶段的主题更接近「${G}」——${se?se.field:"这一宫代表的事"}。把它当作这几年的主线,其余安排围着它让路;${fn.gift?`你最顺手的做法是${fn.gift}`:`你的优势在${Pe.trait}`},但要留意${fn.watch||"用它用过了头"}。`})(),evidence:[`命宫 ${me}${pe?"":"(借对宫)"}`,Ne?`大限 ${Ne.palace} ${Ne.daxian.start}–${Ne.daxian.end}岁`:"",Ce?`流年四化 ${Ce}`:"",`格局 ${$e.length} 条`].filter(Boolean)},{key:"work",label:"工作与职业选择",text:(()=>{const G=w(Oe(v,Xe)),se=Je(v),Le=de(v);return`命宫${me}给你的是底层偏好:${Pe.work}。官禄宫${Xe?`主星为${Xe}${G?`(${G.word})`:""},${T[Xe]?.work||"有其自身的做事方式"}`:"无正曜,工作方式更多受环境与他人影响,适合配合型岗位"}。`+(se?`${se.gist};要留意${se.watch}。`:"")+(Le.length?`官禄宫又见${P(Le)}:${m(Le)}`:"")+`两者合起来看,你更适合${Xe&&Xe!==me?`用${me}的方式去做${Xe}擅长的事`:"在稳定的框架里发挥自己的特点"}。`})(),advice:`挑工作时可以先看岗位内容是否匹配上面这条;如果暂时不能换,试着在现有岗位里争取靠近这部分的事务——${fn.gift?`把「${fn.gift}」这类活往自己身上揽,比硬熬更容易做出成绩`:"先做出一件拿得出手的事,比硬熬更容易被看见"}。`,evidence:[`命宫 ${me}${B?`·${B.word}`:""}`,`官禄 ${Xe||"无正曜"}`,`财帛 ${L||"无正曜"}`,...de(v).length?[`官禄煞星 ${P(de(v))}`]:[]]},{key:"career",label:"事业发展",text:(()=>{const G=w(Oe(X,L)),se=Je(X);return`财帛宫${L?`见${L}${G?`(${G.word})`:""},${T[L]?.trait||""}`:"无正曜"},官禄宫${Xe||"无正曜"},${L&&Xe?"财与事业两宫都有主星坐守,说明这两块是可以主动经营的部分":"有一宫无主星,说明该块更容易受外部条件牵动,宜借势而非强求"}。`+(se?`${se.gist}。`:"")+`大限推进上,${Ne?`目前落在${Ne.palace},这一宫管${$(Ne.palace)?.field||"这一段的事"}`:"当前阶段"},下一步会转入相邻的宫位,重心也会跟着挪。`})(),advice:`事业上建议做两件事:一是把可积累的东西(技能、资质、作品)做厚;二是${Xe?`发挥${Xe}的优势——${T[Xe]?.trait||""}`:"找一个能带你的前辈或平台"}。遇到四化化忌的年份,先守成再谈扩张。`,evidence:[`财帛 ${L||"无正曜"}`,`官禄 ${Xe||"无正曜"}`,Ne?`当前大限 ${Ne.palace}`:""].filter(Boolean)},{key:"love",label:"爱情与感情",text:(()=>{const G=w(Oe(C,De)),se=Je(C),Le=de(C);return`夫妻宫${De?`主星为${De}${G?`(${G.word})`:""},感情上的倾向是${T[De]?.love||"有自己相处的节奏"}`:"无正曜,关系状态更多由对方与互动方式决定"}。`+(se?`${se.gist}。`:"")+`${Le.length?`夫妻宫同时见${P(Le)}:${m(Le)}煞星不等于定局,更多是提醒你留意沟通方式。`:"夫妻宫未见明显煞星,关系的基调相对平顺。"}`+(fn.watch?`另外,你自带的${fn.watch}这一面,在亲密关系里最容易被放大。`:"")})(),advice:`感情里${De?`参考${De}的特点:${T[De]?.love||""}`:"可以更主动地表达自己的需求"}。有分歧时先说清事实与感受,别急着下结论;关系的好坏取决于两个人怎么做,不取决于这张盘。`,evidence:[`夫妻宫 ${De||"无正曜"}`,`煞星 ${P(nn(C))||"无"}`,`夫妻宫支 ${C&&C.branch?C.branch:"—"}`]},{key:"health",label:"健康状况",text:(()=>{const G=w(Oe(Y,he)),se=de(Y);return`疾厄宫${he?`见${he}${G?`(${G.word})`:""},传统取象上${T[he]?.health||"需要留意自身的薄弱环节"}`:"无正曜,身体状态更多受生活作息直接影响"}。`+(se.length?`同时见${P(se)},按星情只是「${f(se)}」这一层,提示这一块值得比其他部位多一分留意。`:"")+"这些都是象征性的提示,不构成任何医学判断。"})(),advice:`把${he&&T[he]?.health?.replace("留意","").replace("需要留意","")||"常规"}当作体检时重点关注的参考;真正管用的还是规律作息、适度运动与定期检查。身体不舒服请直接就医。`,evidence:[`疾厄宫 ${he||"无正曜"}`,`煞星 ${P(nn(Y))||"无"}`]}],Un=$("命宫"),An=k(l.body,"lands",""),ct=$(An),ht=[`命宫落在${S.branch}(${S&&S.ganzhi?S.ganzhi:"—"}),主星${me}${B?`·${B.word}`:""}——这一宫管${Un?Un.field:"你自己"},${fn.gift?`你身上最能用出去的是${fn.gift}`:Pe.trait}。`+(fn.gift?Qe(B,fn):""),Ke?`${Ke.gist};要留意的是${Ke.watch}。`:"",An?`身宫寄在${An}——${ct?`${ct.field}是后天更容易使上劲的地方`:"这是后天着力点"},中年以后会越来越明显。`:"",`五行局为${k(l.bureau,"name","—")},${k(l.daxian,"startAge","—")}岁起运:局定的是节奏(几步起、十年一换),不是好坏。`,`命主${k(l,"lifeMaster","—")}、身主${k(l,"bodyMaster","—")}:传统把这两颗当作整张盘的定调星,命主看底色,身主看后半程的着力点。`].filter(Boolean).join(`
|
|
98
|
+
`),Vn=G=>String(G||"").replace(/。$/,""),Bn=`十二宫从命宫逆排,每宫管一件事。看一宫不能只看本宫,还要并上它的三方四正(本宫+对宫+两个三合宫)——下面先逐宫摊开,再回到整体。
|
|
99
|
+
${(l.palaces||[]).map(G=>{const se=He(G),Le=nn(G),an=(G.stars||[]).filter(sn=>sn.type==="辅星"||sn.type==="吉星").map(sn=>sn.name),on=(G.stars||[]).filter(sn=>sn.mutagen).map(sn=>`${sn.name}化${sn.mutagen}`),We=(G.selfHua||[]).map(sn=>`自化${sn.type}`),bn=`【${G.palace}·${G.branch}】${se.length?se.map(sn=>`${sn.name}${sn.brightness||""}`).join("·"):"无正曜"}`+(an.length?`|吉 ${an.slice(0,3).join("、")}`:"")+(Le.length?`|煞 ${Le.join("、")}`:"")+(on.length||We.length?`|${[...on,...We].join("、")}`:""),wn=[];if(se.length){const sn=p(se.map(Re=>Re.name)),N=b(se[0].name);sn?wn.push(sn.gist):N&&wn.push(N.gift)}else{const sn=ye(mn(l,(G.sanfang||[])[3]));wn.push(sn?`无正曜,借对宫${sn}来看`:"无正曜,这一宫随环境走")}an.length&&wn.push(s(an)),Le.length&&wn.push(m(Le));for(const sn of(G.stars||[]).filter(N=>N.mutagen).slice(0,2))wn.push(g(sn.mutagen,G.palace));const tt=wn.filter(Boolean).map(Vn).join(";");return`${bn}
|
|
100
|
+
${tt}。`}).join(`
|
|
101
|
+
`)}`,st=[{tone:"good",label:"有利格局"},{tone:"neutral",label:"结构提示"},{tone:"bad",label:"忌格提醒"}].map(G=>{const se=$e.filter(Le=>(Le.tone||"neutral")===G.tone);return se.length?{key:`pattern-${G.tone}`,label:G.label,tone:G.tone==="neutral"?"watch":G.tone,text:se.map(Le=>{const an=i(Le.name,Le.tone),on=Le.status==="broken"&&Array.isArray(Le.breaks)&&Le.breaks.length?`
|
|
96
102
|
破格:${Le.breaks.join(";")}${Le.breakRule?`(${Le.breakRule})`:""}`:"";return`**${Le.name}** ${an.gist}
|
|
97
103
|
依据:${Le.evidence}${on}
|
|
98
104
|
做法:${an.advice}`}).join(`
|
|
99
|
-
`)}:null}).filter(Boolean);
|
|
100
|
-
`)||"这张盘的结构比较平,没有单点特别突出——按现有节奏走,把一件事做完整比开新头更划算。",
|
|
105
|
+
`)}:null}).filter(Boolean);st.length||st.push({key:"pattern-none",label:"格局",text:"本盘未触发内置的常见格局条目。这不代表盘面平淡——格局只是把若干星位组合起个名字,没命中时按宫位与四化逐条看即可。"});const vn=[];if(fn.gift&&vn.push(`把「${fn.gift}」做成招牌:${B&&B.tone==="bad"?`${me}在这宫不得地,长处不会自己显出来,越要挑能发挥它的场子`:`${me}${B?`·${B.word}`:"在命宫"},顺着这条走最省力`}。`),Ne&&Ne.daxian){const G=$(Ne.palace);vn.push(`这几年主线在${Ne.palace}(${Ne.daxian.start}–${Ne.daxian.end}岁):${G?G.field:"这一宫的事"}排前面,力气别摊平。`)}const Tn=tn.find(G=>G.type==="忌");if(Tn&&Tn.palace){const G=$(Tn.palace);vn.push(`生年化忌落在${Tn.palace}:${G?G.huaJi:"这一块容易反复"}——别硬顶,把预期调低一点反而顺。`)}const Fn=de(S);Fn.length&&vn.push(`命宫见${P(Fn)}:${m(Fn)}`);const Wn=de(C);Wn.length&&!Fn.length&&vn.push(`夫妻宫见${P(Wn)}:${m(Wn)}`);const dt=vn.slice(0,4).map((G,se)=>`${"①②③④"[se]} ${Vn(G)}`).join(`
|
|
106
|
+
`)||"这张盘的结构比较平,没有单点特别突出——按现有节奏走,把一件事做完整比开新头更划算。",Jn=[{key:"identity",label:"命身底色",text:ht},{key:"palaces",label:"逐宫分析",text:Bn},...st,{key:"advice",label:"行动建议",text:dt},{key:"reasoning",label:"看盘顺序",text:[`① 先看命宫:${en}${Pe.trait?`,底色是「${Pe.trait}」`:""}。命宫回答的是"你是谁",不是"会遇到什么"。`,`② 再看三方四正:${S&&S.sanfang?S.sanfang.join("、"):"命/财/官/迁"},会到的主星是${(()=>{const G=(S&&S.sanfang?S.sanfang:[]).map(Le=>ye(mn(l,Le))).filter(Boolean),se=[...new Set(G)];return se.length?se.join("、"):"无正曜"})()}——这是你与外界打交道时的常用手法。`,Sn?`③ 生年四化:${Sn}。四化比星曜更能指出"你在意什么、哪里会反复"。`:"③ 生年四化:本盘四化信号不明显。",`④ 大限:${Ne?`${Ne.palace}(${Ne.daxian.start}–${Ne.daxian.end}岁)`:"当前阶段"}。紫微里大限比流年重:十年的主题定下来,流年只是其中一年的天气。`,Ce?`⑤ 流年四化:${Ce}${l.flow&&l.flow.month?`;流月命宫 ${l.flow.month.ganzhi}${l.flow.month.palace?`(${l.flow.month.palace})`:""}`:""}。`:"⑤ 流年四化:信号不明显。","⑥ 落到维度:工作看命宫与官禄的配合;感情看夫妻宫与煞星;健康看疾厄宫——五维度都是上面几步的应用。"].join(`
|
|
101
107
|
`)},{key:"timeline",label:"时间窗",text:(()=>{const G=(l.daxianList||[]).slice().sort((We,bn)=>We.ages[0]-bn.ages[0]),se=G.findIndex(We=>Number.isFinite(Ue)&&Ue>=We.ages[0]&&Ue<=We.ages[1]),an=G.slice(se>=0?se:0,(se>=0?se:0)+3).map(We=>`${We.palace} ${We.ages[0]}–${We.ages[1]}岁·会${(We.mainStars||[]).join("")||"—"}${(We.mutagenHits||[]).length?`·${We.mutagenHits.map(bn=>bn.star+bn.type).join("")}`:""}`).join(" → "),on=(l.liunian||[]).slice(0,5).map(We=>`${We.year} ${We.ganzhi} ${We.age}岁·命宫${We.lifePalace?We.lifePalace.palace:"—"}`).join(";");return`大限:${an||"—"}。
|
|
102
108
|
近五年流年:${on||"—"}。
|
|
103
|
-
读法:大限定十年的主题,流年四化指出今年往哪边偏;两层方向相反时,以守住大限主题为主。`})()},{key:"quant",label:"量化口径",text:"紫微这边只数「宫位里有什么」:大限看落宫与四化命中数、流年看命宫与四化星数;不把星曜折算成分数,也不预测金额与疾病诊断。四化命中数只是结构计数,不等于吉凶强度。"},{key:"limits",label:"未纳入",text:"本盘没有计算:小限与大限的加权、流日流时的具体事项定位、双星组合的强弱细分,以及「三方四正一起飞」的复合飞化(这里只跟单一支化逐宫串连)。四化表取中州派常用口径,其他流派(如飞星派)结论会不同;这些不改变盘面事实,只影响轻重,所以只作方向参考。"}];if(tn.length){const G=tn.find(an=>an.type==="科")||null,se=an=>`${an}${String(an).endsWith("宫")?"":"宫"}`,Le=G?`其中化科是${G.star}${G.palace?`落在${se(G.palace)}`:"未上盘"},`:"";
|
|
104
|
-
`)}),De.length){const B=Ce=>[Ce&&Ce.inner?"内卦":"",Ce&&Ce.outer?"外卦":""].filter(Boolean).join("、"),Ke=B(L.fanYin||{}),Qe=["inner","outer"].map(Ce=>L.fanYin&&L.fanYin[Ce]&&L.fanYin[Ce].by).filter(Boolean).flat(),Ue=[];L.ben&&L.ben.chong&&Ue.push("本卦是六冲卦:六爻地支正好配成子午、寅申、辰戌三组对冲,传统读作「散」——事情起落快、成得急也散得急,急事与近病反而喜欢这股冲开的力量,拖了很久的人事则不容易凝聚。"),L.ben&&L.ben.he&&Ue.push("本卦是六合卦:六爻地支两两相合(子丑、寅亥、卯戌、辰酉、巳申、午未),传统读作「成」——容易谈拢,也容易拖住不放。"),L.bian&&L.bian.chong?Ue.push("变卦也是六冲:往后走偏「散」,收尾容易一拍两散,也可能是速战速决。"):L.bian&&L.bian.he&&Ue.push("变卦是六合:往后走偏「合」,收尾倾向于合拢、或者就这么延续下去。"),B(L.fuYin||{})&&Ue.push(`${B(L.fuYin||{})}伏吟:卦变了,纳甲地支却没变(六十四卦里只有乾与震共用子寅辰/午申戌,所以卦伏吟只会出在乾↔震互换)——传统说「伏吟主呻吟」,人想动、事情在原地打转,宜先看清楚再迈步。`),Ke&&Ue.push(`${Ke}反吟:变卦与本卦相冲,来源有两种——${Qe.includes("chong")?"地支三爻全冲":""}${Qe.includes("chong")&&Qe.includes("pair")?",或":""}${Qe.includes("pair")?"本卦之宫与变卦之宫在后天八卦上正对(乾巽、坎离、艮坤、震兑)":""}。传统说「反吟主反复」,去而复来、方案改来改去。`),L.yaoFanYin&&L.yaoFanYin.length&&Ue.push(`动爻反吟(第${L.yaoFanYin.join("、")}爻):变出的地支回头冲本爻,变化点本身在反复——动了又翻回来,等于绕一圈回到原处。`),L.yaoFuYin&&L.yaoFuYin.length&&Ue.push(`动爻伏吟(第${L.yaoFuYin.join("、")}爻):变出的地支与本爻同支,动了等于没动,想推的事会卡在同一道坎上。`);const
|
|
105
|
-
`)})}const Je=O(l,{direction:S&&S.direction||l.useGod&&l.useGod.direction||"general",gender:l.useGod&&l.useGod.gender||"male"});if(Je&&Je.liuqin){const B=[];if(B.push(`所问方向取${Je.byShi?"世爻":Je.liuqin}为用神(${Je.ask})${Je.direction==="love"?`;感情按${Je.gender==="female"?"女命看官鬼":"男命看妻财"}取,性别未给时按男命算`:""}。`),Je.found.length)B.push(`用神在卦上:${Je.found.map($e=>`${$e.position}爻${$e.ganzhi}${$e.element}${$e.liuqin}${$e.liushen?`·${$e.liushen}`:""}${$e.shi?"(持世)":""}${$e.ying?"(临应)":""}${$e.moving?"(发动)":""}${$e.kong?"(旬空)":""}`).join("、")}${Je.side?`,落在${Je.side}`:""}。`),Je.found.length>1&&B.push("用神两现:传统取动者、取持世者、取旬空待填者,各派权重不同;这里只把几处都列出来,不替你选哪一爻当主用。");else if(Je.fushen.length){B.push(`用神不上卦:本卦六爻里没有${Je.liuqin},按「用神不上卦则于本宫首卦内寻之」,到${String(
|
|
106
|
-
`)})}{const B=l.yingqi;if(B&&Array.isArray(B.items)&&B.items.length){const Ke=B.items.map(Qe=>{const Ue=[Qe.monthState&&Qe.monthState!=="unknown"?`月建${Qe.monthState}`:"",Qe.monthChong?"月破":"",Qe.kong?"旬空":""].filter(Boolean).join("、");return`${Qe.position}爻${Qe.branch}${Qe.element}${Ue?`(${Ue})`:""}:${Qe.tempoSay}`});Me.push({key:"yingqi",label:"应期线索",text:`应期快慢:${B.tempoSay}。${Ke.join(";")}。可留意的地支:${B.triggers.map(Qe=>`${Qe.branch}(${Qe.labels.join("、")})`).join(";")}。${B.viaFushen?"用神不上卦,这里的支取自伏神;伏神要先得出才算数。":""}这一节只把传统的「逢值、逢冲、逢合」与旬空的出空、冲空摆出来,不换算成具体日期、不排先后、也不判忌神受制;近事以日计、远事以月计,用哪把尺取决于事情本身。`})}}{const B=l.hexStrength;if(B&&Array.isArray(B.lines)&&B.lines.length){const Ke=B.month&&B.month.branch?`月建 ${B.month.branch}(${B.month.element})`:"没有月建(未给起卦时间)",Qe=B.day&&B.day.branch?`日辰 ${B.day.branch}(${B.day.element})`:"日辰 —",Ue=B.lines.map(tn=>{const
|
|
107
|
-
`)},{key:"limits",label:"未纳入",text:"本课没有计算:年命与行年(命上神)、神煞的加权轻重、伏吟反吟的细分,以及课体之间的互涉。三传只取九宗门里的主要取法,其他流派(如以贵神起课)结论可能不同;这些只影响轻重,不改变课面事实。"}];return{lead:"大六壬看的是一件事的来龙去脉。三传给出「发端—过程—结局」的顺序,下面按这个结构分五个维度说。",dimensions:[{key:"overall",label:"整体运势",text:`这一课${
|
|
109
|
+
读法:大限定十年的主题,流年四化指出今年往哪边偏;两层方向相反时,以守住大限主题为主。`})()},{key:"quant",label:"量化口径",text:"紫微这边只数「宫位里有什么」:大限看落宫与四化命中数、流年看命宫与四化星数;不把星曜折算成分数,也不预测金额与疾病诊断。四化命中数只是结构计数,不等于吉凶强度。"},{key:"limits",label:"未纳入",text:"本盘没有计算:小限与大限的加权、流日流时的具体事项定位、双星组合的强弱细分,以及「三方四正一起飞」的复合飞化(这里只跟单一支化逐宫串连)。四化表取中州派常用口径,其他流派(如飞星派)结论会不同;这些不改变盘面事实,只影响轻重,所以只作方向参考。"}];if(tn.length){const G=tn.find(an=>an.type==="科")||null,se=an=>`${an}${String(an).endsWith("宫")?"":"宫"}`,Le=G?`其中化科是${G.star}${G.palace?`落在${se(G.palace)}`:"未上盘"},`:"";Jn.push({key:"sihua",label:"生年四化",text:`你出生年的天干定下四颗化星,落在:${Sn}。读法上,化禄的宫位做起来比较顺手、也容易有人帮忙;化权的宫位偏向由你拿主意、但也更容易用力过猛;化科的宫位自带一层体面与贵人缘,遇到事多半能体面收场;化忌的宫位是你容易在意、也容易反复的地方。${Le}这几处只是长期倾向,落到具体某一年还要配上流年四化一起看,不必把它当成结论。`})}{const G=l.flyChains,se=Le=>`${Le}${String(Le).endsWith("宫")?"":"宫"}`;if(G){const Le=bn=>{const wn=G[bn];if(!wn||!wn.steps.length)return`${bn}:命宫这一干不化${bn}星`;const tt=wn.steps.map(sn=>`${se(sn.from)}(${sn.fromStem})化${bn}${sn.star}→${se(sn.to)}(${sn.toBranch})`).join(";");return`${bn}:${tt}${wn.closed?`,绕回${se(wn.path[wn.path.length-1])}成环`:""}`},an=(l.fly||[]).flatMap(bn=>(bn.flies||[]).filter(wn=>wn.self).map(wn=>`${se(bn.palace)}(${bn.stem})化${wn.type}${wn.star}落回本宫`)),on=G.忌,We=on&&on.steps.length?`忌这一条最值得盯:${se(on.from)}化忌入${se(on.steps[0].to)},${se(on.steps[0].to)}的宫干再化忌往下一宫去,${on.closed?`最后绕回${se(on.path[on.path.length-1])}`:"走到没有可落的星就停下"}——这条线就是你反复着力的那一圈,${on.closed?"环越短越容易在同一组宫位上打转(传统说「忌出不去」)":"没成环表示这条力还有落点没走完"}。`:"命宫这一干化忌未上盘,忌线不成立。";Jn.push({key:"fly",label:"四化飞星",text:`生年四化说的是「一出场就带着什么」,飞星四化说的是「这一宫自己会去找谁」:宫干定出四颗化星,星落到哪一宫,这一宫的力就往哪边使。从命宫出发,四条线各串一遍——${Le("禄")};${Le("权")};${Le("科")};${Le("忌")}。${We}另外,四化落回本宫的是自化:${an.length?an.join("、")+"——自己化出去又回到自己,常表现为「说得多、落得少」或一阵一阵的劲头":"本盘没有自化"}。这一层只描方向与牵引,不断吉凶:同样是化忌入某宫,落在生年忌上还是落在生年禄上,味道完全不同,得并着生年四化看。`})}}{const G=l.flyComposite,se=Le=>`${Le}${String(Le).endsWith("宫")?"":"宫"}`;if(G&&Array.isArray(G.sources)&&G.sources.length>=2){const Le=G.targets.filter(We=>We.count>=2),an=Le.length?Le.slice(0,5).map(We=>`${se(We.palace)}收了 ${We.incoming.map(bn=>`${se(bn.from)}化${bn.type}${bn.star}`).join("、")}`).join(";"):"四宫化出去之后没有落在同一宫,力是散开的",on=[];G.groups.doubleJi.length&&on.push(`${G.groups.doubleJi.map(We=>se(We.palace)).join("、")}收到两个以上的忌——同一件事被反复牵动,传统看作那一宫的事务容易拖着不放`),G.groups.luJi.length&&on.push(`${G.groups.luJi.map(We=>se(We.palace)).join("、")}禄忌同宫:好处与在意的地方绑在一起,越想要的东西越容易反复`),G.groups.tripleHua.length&&on.push(`${G.groups.tripleHua.map(We=>se(We.palace)).join("、")}三化以上会宫:那一宫同时被几种力牵住,常常是这张盘最忙的地方`),G.groups.selfHua.length&&on.push(`${G.groups.selfHua.map(We=>se(We.palace)).join("、")}自化:宫干化出去又落回自己,表现为力气绕回原处`),Jn.push({key:"flyComposite",label:"三方四正飞化",text:`上一节是命宫一条线往下追;这一节把命宫连同对宫与两个三合宫(${G.sanfang.join("、")})一起飞:四宫各化禄权科忌,共 16 条飞化(星未上盘的只记星不记落宫),按落宫归堆。${an}。${on.length?`${on.join(";")}。`:""}读法上,会在一处的化越多,那一宫被牵动的力道越集中;落单的飞化只说明方向,不单独取象。这一层同样只描会照与方向,不折吉凶,也没有叠大限与流年四化。`})}}if(l.flow){const G=l.flow,se=an=>`${an.ganzhi||"—"}${an.palace?`落${an.palace}`:""}`,Le=an=>(an.mutagenHits||[]).map(on=>`${on.star}化${on.type}${on.palace?`→${on.palace}`:""}`).join("、");Jn.push({key:"flow",label:"流月 · 流日 · 流时",text:`以 ${G.asOf.solar}(农历 ${G.asOf.lunar},流年 ${G.asOf.yearGanzhi},斗君 ${G.year.doujun})为准往下推:流月命宫 ${se(G.month)},四化 ${Le(G.month)||"不明显"};流日命宫 ${se(G.day)},四化 ${Le(G.day)||"不明显"};流时命宫 ${se(G.hour)},四化 ${Le(G.hour)||"不明显"}。这三层的读法不一样:流月管的是一整个月的节奏,适合拿来做「这个月该推进还是该收」的判断;流日和流时颗粒度太细,更容易被临时因素打断,看它们不如说是在看「今明两天的情绪底色」,不必逐条对号入座。`})}const et=[{key:"overall",label:"整体",text:`命宫${me}${pe?"":"(借对宫)"}${Pe.trait?`,${Pe.trait}`:""}`},{key:"career",label:"事业",text:`官禄${Xe||"无正曜"}`},{key:"wealth",label:"财富",text:`财帛${L||"无正曜"}`},{key:"love",label:"感情",text:`夫妻${De||"无正曜"}`},{key:"rhythm",label:"节奏",text:Ne&&Ne.daxian?`当前大限${Ne.palace}(${Ne.daxian.start}–${Ne.daxian.end}岁)${l.liunian?.[0]?.year?`,${l.liunian[0].year} 流年`:""}`:"当前大限未取到"}],rt=(l.daxianList||[]).slice().sort((G,se)=>G.ages[0]-se.ages[0]),nt=[{key:"daxian",title:"大限表",columns:["大限","年龄","会主星","四化"],rows:rt.map(G=>[G.palace,`${G.ages[0]}–${G.ages[1]}`,(G.mainStars||[]).join("、"),(G.mutagenHits||[]).map(se=>`${se.star}${se.type}→${se.palace}`).join("、")])},{key:"liunian",title:"流年表(近六年)",columns:["年份","干支","年龄","命宫","四化"],rows:(l.liunian||[]).slice(0,6).map(G=>[String(G.year),G.ganzhi,String(G.age),G.lifePalace?G.lifePalace.palace:"—",(G.mutagen||[]).join("、")])}],lt=rt.flatMap(G=>(G.mutagenHits||[]).map(se=>[`${G.palace}(${G.ages[0]}–${G.ages[1]}岁)`,`${se.star}化${se.type}→${se.palace}`,`大限${G.palace}引动`])).slice(0,12);return lt.length&&nt.push({key:"triggers",title:"触发事件表(大限四化)",columns:["大限","触发","依据"],rows:lt}),{lead:"紫微斗数看的是你与环境的互动方式。下面按五个维度拆开,讲的是性格与处境的倾向,具体怎么选仍然在你。",dimensions:Mn,sections:Jn,outline:et,tables:nt}}function je({benName:l,benUpper:S,benLower:v,bianName:X,bianUpper:C,bianLower:Y,movingLine:Me,moving:pe,jing:_e}){const ne=ee(l,S,v),me=[{key:"guaCi",label:"卦名与卦辞大意",text:`本卦为「${ne.full}」,卦辞大意是:${ne.meaning}。这一卦讲的是事情当下的整体走势——你可以先记住这句,后面每个维度都会回到它。`},{key:"yaoCi",label:"爻辞与动爻",text:pe?le(pe.position,pe):"本卦无动爻,事情处于相对静止的状态,短期内变化的动力不强,宜按现状维持。"}];if(X){const Pe=ee(X,C,Y);me.push({key:"bianGua",label:"变卦与走向",text:`动爻变化之后得到「${Pe.full}」,${Pe.meaning}。变卦往往指向事情后来的样子:从「${ne.full}」走到「${Pe.full}」,可以理解为局面会从${ne.scene}转为${Pe.scene}。`})}const en=String(_e||"");return en&&me.push({key:"jingText",label:"经文原文",text:en}),me.push({key:"scene",label:"落到生活里",text:`把这一卦放进日常:${ne.scene}。${X?`而后续的方向是${ee(X,C,Y).scene}。`:""}你可以对照着看看,眼下哪件事最像这个描述。`}),{sections:me,ben:ne,bian:X?ee(X,C,Y):null}}const Te={妻财:"钱财、收入、订单,也指男命的妻缘",官鬼:"工作、职位、上司、考核,也指压力与疾病",父母:"文书、合同、学历、长辈、房子",子孙:"下属、客户、创意、消解压力的出口",兄弟:"同事、同行、竞争者,多与破财相关"};function Ge(l,S){const v=D(l.ben)?l.ben:{},X=D(l.bian)?l.bian:{},C=Array.isArray(v.lines)?v.lines:[],Y=C.find(B=>B.moving)||null,{sections:Me,ben:pe,bian:_e}=je({benName:v.name,benUpper:v.upper,benLower:v.lower,bianName:X.name,bianUpper:X.upper,bianLower:X.lower,moving:Y,jing:l.jing}),ne=C.find(B=>B.position===v.shi),me=C.find(B=>B.position===v.ying),en=k(v,"palaceElement",""),Pe=Y?.liuqin||"",de=Y?.liushen||"",Xe=k(l.dayGanZhi,"name",""),L=D(l.body)?l.body:{},De=L&&Array.isArray(L.labels)?L.labels:q(L),he=B=>C.filter(Ke=>Ke.liuqin===B).length,He=B=>B?`${B.position}爻${B.liuqin}${B.liushen?"·"+B.liushen:""}${B.moving?"(动)":""}`:"—",Oe=(...B)=>B.filter(Ke=>Ke!=null&&Ke!=="");if(Me.push({key:"liuqin",label:"六亲取用",text:`这一卦里,${Pe?`动爻落在${Pe}(${Te[Pe]||""})`:"没有发动的六亲"}。如果你心里有具体问题,可以对号入座:${Object.entries(Te).map(([B,Ke])=>`${B}主${Ke.split(",")[0]}`).join(";")}。`}),Me.push({key:"reasoning",label:"看卦顺序",text:[`① 先定卦宫:本卦「${v.name||"—"}」属${String(k(v,"palace","—")).replace(/宫$/,"")}宫(${en||"—"}),六亲由此排定——宫变了,同一个字的六亲就变了。`,`② 再看世应:世在${v.shi}爻(${ne?`${ne.liuqin}${ne.liushen?`·${ne.liushen}`:""}`:"—"}),应在${v.ying}爻(${me?`${me.liuqin}`:"—"});世代表你,应代表对方与环境。`,`③ 看动爻:${Y?`${Y.position}爻${Y.liuqin}${Y.liushen?`(${Y.liushen})`:""}发动,事情的变化点在这里`:"六爻安静,短期不会有大的转折"}。`,"④ 定用神:按所问之事取六亲——问工作看官鬼、文书看父母、求财与感情(男)看妻财、健康看官鬼与子孙;用神不上卦时,看伏神或借日月。",`⑤ 看日辰:${Xe||"—"}日起六神、定旬空;日辰能生克动爻,但不被爻所伤。`,`⑥ 看变卦:${X.name?`变出「${X.name}」,是事情后续的走向`:"本卦无变,以静卦论"}。以上每一步都能在下方「依据」里对上号。`].join(`
|
|
110
|
+
`)}),De.length){const B=Ce=>[Ce&&Ce.inner?"内卦":"",Ce&&Ce.outer?"外卦":""].filter(Boolean).join("、"),Ke=B(L.fanYin||{}),Qe=["inner","outer"].map(Ce=>L.fanYin&&L.fanYin[Ce]&&L.fanYin[Ce].by).filter(Boolean).flat(),Ue=[];L.ben&&L.ben.chong&&Ue.push("本卦是六冲卦:六爻地支正好配成子午、寅申、辰戌三组对冲,传统读作「散」——事情起落快、成得急也散得急,急事与近病反而喜欢这股冲开的力量,拖了很久的人事则不容易凝聚。"),L.ben&&L.ben.he&&Ue.push("本卦是六合卦:六爻地支两两相合(子丑、寅亥、卯戌、辰酉、巳申、午未),传统读作「成」——容易谈拢,也容易拖住不放。"),L.bian&&L.bian.chong?Ue.push("变卦也是六冲:往后走偏「散」,收尾容易一拍两散,也可能是速战速决。"):L.bian&&L.bian.he&&Ue.push("变卦是六合:往后走偏「合」,收尾倾向于合拢、或者就这么延续下去。"),B(L.fuYin||{})&&Ue.push(`${B(L.fuYin||{})}伏吟:卦变了,纳甲地支却没变(六十四卦里只有乾与震共用子寅辰/午申戌,所以卦伏吟只会出在乾↔震互换)——传统说「伏吟主呻吟」,人想动、事情在原地打转,宜先看清楚再迈步。`),Ke&&Ue.push(`${Ke}反吟:变卦与本卦相冲,来源有两种——${Qe.includes("chong")?"地支三爻全冲":""}${Qe.includes("chong")&&Qe.includes("pair")?",或":""}${Qe.includes("pair")?"本卦之宫与变卦之宫在后天八卦上正对(乾巽、坎离、艮坤、震兑)":""}。传统说「反吟主反复」,去而复来、方案改来改去。`),L.yaoFanYin&&L.yaoFanYin.length&&Ue.push(`动爻反吟(第${L.yaoFanYin.join("、")}爻):变出的地支回头冲本爻,变化点本身在反复——动了又翻回来,等于绕一圈回到原处。`),L.yaoFuYin&&L.yaoFuYin.length&&Ue.push(`动爻伏吟(第${L.yaoFuYin.join("、")}爻):变出的地支与本爻同支,动了等于没动,想推的事会卡在同一道坎上。`);const Ne=(L.jinTui||[]).filter(Ce=>Ce.type==="进"),$e=(L.jinTui||[]).filter(Ce=>Ce.type==="退");Ne.length&&Ue.push(`化进神(第${Ne.map(Ce=>Ce.position).join("、")}爻:${Ne.map(Ce=>`${Ce.from}→${Ce.to}`).join("、")}):变出的地支与本爻同五行、且顺着往前一步,传统读作「进」——这一爻代表的人或事有后劲,往前走比退回去顺。`),$e.length&&Ue.push(`化退神(第${$e.map(Ce=>Ce.position).join("、")}爻:${$e.map(Ce=>`${Ce.from}→${Ce.to}`).join("、")}):变出的地支与本爻同五行、却倒着退一步,传统读作「退」——这一爻代表的人或事渐渐退气,别按原来的势头去推。`);const Ve=l.jinTuiPower;Ve&&Array.isArray(Ve.lines)&&Ve.lines.length&&Ue.push(`进退的力重(放回月建日辰看):${Ve.lines.map(Ce=>`第${Ce.position}爻${Ce.say}`).join(";")}。进退只管方向,走不走得动看时令托不托着;用神化进为喜,忌神化进反而是忌。`),Ue.push("这些标签只说明卦体的动势,不直接定吉凶:同一支六冲,近病问的是速愈、久病问的是凶险;同一爻化进,也得看用神旺不旺、有没有月建日辰托着。"),Me.push({key:"body",label:"卦体关系",text:Ue.join(`
|
|
111
|
+
`)})}const Je=O(l,{direction:S&&S.direction||l.useGod&&l.useGod.direction||"general",gender:l.useGod&&l.useGod.gender||"male"});if(Je&&Je.liuqin){const B=[];if(B.push(`所问方向取${Je.byShi?"世爻":Je.liuqin}为用神(${Je.ask})${Je.direction==="love"?`;感情按${Je.gender==="female"?"女命看官鬼":"男命看妻财"}取,性别未给时按男命算`:""}。`),Je.found.length)B.push(`用神在卦上:${Je.found.map($e=>`${$e.position}爻${$e.ganzhi}${$e.element}${$e.liuqin}${$e.liushen?`·${$e.liushen}`:""}${$e.shi?"(持世)":""}${$e.ying?"(临应)":""}${$e.moving?"(发动)":""}${$e.kong?"(旬空)":""}`).join("、")}${Je.side?`,落在${Je.side}`:""}。`),Je.found.length>1&&B.push("用神两现:传统取动者、取持世者、取旬空待填者,各派权重不同;这里只把几处都列出来,不替你选哪一爻当主用。");else if(Je.fushen.length){B.push(`用神不上卦:本卦六爻里没有${Je.liuqin},按「用神不上卦则于本宫首卦内寻之」,到${String(k(v,"palace","")).replace(/宫$/,"")}宫首卦取伏神——${Je.fushen.map(Ve=>`${Ve.position}爻${Ve.ganzhi}${Ve.element},伏于飞神${Ve.fei?`${Ve.fei.liuqin}${Ve.fei.ganzhi}${Ve.fei.element}`:"—"}之下`).join(";")}。`),Je.relationSay.length&&B.push(`飞伏生克:${Je.relationSay.join(";")}。伏神要得出才算有力,藏在忌神之下且被克,则虽有如无。`);const $e=l.fushenAccess;$e&&Array.isArray($e.items)&&$e.items.length&&(B.push(`伏神出伏的条件:${$e.items.map(Ve=>Ve.say).join(";")}。`),B.push("「助」与「压」只把飞伏生克、月建日辰与月破并列摆出,再归成四档(可出 / 有助有压 / 受压难出 / 未得助);不排各家优先级,旬空只标出、不并入档位,也不给应期日期。"))}else B.push(`用神不上卦,且本宫首卦里也没找到${Je.liuqin},这一问在卦面上没有直接对应物,只能借日月或改日再占。`);const Ke=[];L.ben&&L.ben.chong&&Ke.push("用神在六冲卦里:六冲主散,急事与近病借这股冲开的力量,缓事、久拖的人事则不容易凝聚"),L.ben&&L.ben.he&&Ke.push("用神在六合卦里:六合主成,容易谈拢,也容易黏住不放"),L.bian&&L.bian.chong?Ke.push("用神逢变六冲:往后走向偏散,收尾容易一拍两散,也可能是速战速决"):L.bian&&L.bian.he&&Ke.push("用神逢变六合:往后走向偏合,倾向于合拢或就这么延续");for(const $e of["inner","outer"]){const Ve=$e==="inner"?"内卦":"外卦";L.fuYin&&L.fuYin[$e]&&Ke.push(`用神在${Ve}伏吟:动而地支未变,想推的事卡在原地`),L.fanYin&&L.fanYin[$e]&&Ke.push(`用神在${Ve}反吟:变卦与本卦相冲,用神这一头去而复来、定了又改`)}const Qe=(L.jinTui||[]).filter($e=>$e.type==="进"&&Je.found.some(Ve=>Ve.position===$e.position)),Ue=(L.jinTui||[]).filter($e=>$e.type==="退"&&Je.found.some(Ve=>Ve.position===$e.position));Qe.length&&Ke.push(`用神化进神(${Qe.map($e=>`${$e.from}→${$e.to}`).join("、")}):这一爻有后劲,顺着推比退回去顺`),Ue.length&&Ke.push(`用神化退神(${Ue.map($e=>`${$e.from}→${$e.to}`).join("、")}):这一爻渐渐退气,别按原来的势头硬推`),Je.found.some($e=>$e.kong)&&Ke.push("用神旬空:事情先悬着,传统说空要出空、填实才算落地"),Je.found.some($e=>(L.yaoFanYin||[]).includes($e.position))&&Ke.push("用神这一爻动而反吟:变化点本身在反复,动了又翻回来"),Je.found.some($e=>(L.yaoFuYin||[]).includes($e.position))&&Ke.push("用神这一爻动而伏吟:动了等于没动,容易卡在同一道坎上"),Ke.length&&B.push(`与卦体对起来看:${Ke.join(";")}。`);const Ne=l.useGodStrength;if(Ne&&Ne.lines&&Ne.lines.length){const $e=Ne.month&&Ne.month.branch?`月建 ${Ne.month.branch}(${Ne.month.element})`:"没有月建(未给起卦时间),只按日辰看",Ve=Ne.lines.map(Ce=>{const tn=Ce.monthChong?",遭月建冲(月破)":Ce.dayChong?Ce.kong?",日辰冲空":Ce.moving?",逢日辰冲":",日辰冲而暗动":"";return`${Ce.position}爻${Ce.branch}${Ce.element}:月建${Ce.monthState}(${Ce.monthSay}),${Ce.dayRelation}(${Ce.daySay})${tn}`});B.push(`时令对用神:${$e},日辰 ${Ne.day?`${Ne.day.branch}(${Ne.day.element})`:"—"}。${Ve.join(";")}。`),B.push("月建看这一段时令站在哪一边,日辰看当天那股力量是扶还是克;两处同时看,只报状态,不折成分数。")}B.push("这一层只把用神、卦体与时令对起来,不折成分数、不断成败;应期另在「应期线索」一节只给触发支与快慢。"),Me.push({key:"yongshen",label:"用神落位与卦体",text:B.join(`
|
|
112
|
+
`)})}{const B=l.yingqi;if(B&&Array.isArray(B.items)&&B.items.length){const Ke=B.items.map(Qe=>{const Ue=[Qe.monthState&&Qe.monthState!=="unknown"?`月建${Qe.monthState}`:"",Qe.monthChong?"月破":"",Qe.kong?"旬空":""].filter(Boolean).join("、");return`${Qe.position}爻${Qe.branch}${Qe.element}${Ue?`(${Ue})`:""}:${Qe.tempoSay}`});Me.push({key:"yingqi",label:"应期线索",text:`应期快慢:${B.tempoSay}。${Ke.join(";")}。可留意的地支:${B.triggers.map(Qe=>`${Qe.branch}(${Qe.labels.join("、")})`).join(";")}。${B.viaFushen?"用神不上卦,这里的支取自伏神;伏神要先得出才算数。":""}这一节只把传统的「逢值、逢冲、逢合」与旬空的出空、冲空摆出来,不换算成具体日期、不排先后、也不判忌神受制;近事以日计、远事以月计,用哪把尺取决于事情本身。`})}}{const B=l.hexStrength;if(B&&Array.isArray(B.lines)&&B.lines.length){const Ke=B.month&&B.month.branch?`月建 ${B.month.branch}(${B.month.element})`:"没有月建(未给起卦时间)",Qe=B.day&&B.day.branch?`日辰 ${B.day.branch}(${B.day.element})`:"日辰 —",Ue=B.lines.map(tn=>{const Sn=tn.shi?"(世)":tn.ying?"(应)":"",Mn=`${tn.moving?"·动":""}${tn.kong?"·旬空":""}`;return`${tn.position}爻${tn.liuqin?tn.liuqin:""}${tn.branch}${tn.element}${Sn}${Mn}:月建${tn.monthState},${tn.dayRelation}${tn.chongTag?`,${tn.chongTag}`:""}`}),$e=["旺","相","休","囚","死"].filter(tn=>B.counts[tn]).map(tn=>`${tn}${B.counts[tn]}`).join("、"),Ve=B.shi?`世爻在${B.shi.position}爻(月建${B.shi.monthState},${B.shi.dayRelation})`:"",Ce=B.ying?`应爻在${B.ying.position}爻(月建${B.ying.monthState},${B.ying.dayRelation})`:"";Me.push({key:"hexStrength",label:"全卦逐爻旺衰",text:`整张卦按${Ke}、${Qe}逐爻过一遍:${Ue.join(";")}。五态分布:${$e}——${[Ve,Ce].filter(Boolean).join(",")}。气旺的爻对应的事推进起来省力,气弱或遭月破的爻对应的事宜缓;这只是六爻全貌,用神那几爻的细节仍以上一节为准,两处不冲突时再看动爻把哪一头带动。判定与用神旺衰同一套(月令五态、日辰五关系、月破/暗动/冲空),只报状态,不折成分数。`})}}return Me.push({key:"limits",label:"未纳入",text:'本卦没有计算:用神两现时该取哪一爻的权重、应期的具体日期(只给逢值/逢冲/逢合的触发支与快慢方向)、忌神受制的时点、动变连环。化进/化退的力重只按月建五态给「得令/失令」这类档位,不折成加权分数;这些都会改变"旺不旺"的判断,所以这里只给取象与方向。'}),{lead:"这一卦问的是眼下的具体事。下面先讲卦理,再分五个维度落到生活里——卦象给的是倾向,不是定论。",dimensions:[{key:"overall",label:"整体运势",text:`这一卦是「${pe.full}」,${pe.meaning}。${de?`动爻带${de},事情带一点${de==="青龙"?"喜庆顺遂":de==="白虎"?"压力与阻碍":de==="朱雀"?"口舌与是非":de==="玄武"?"不明朗、需要核实":"反复与牵扯"}的色彩。`:""}日辰为${Xe},卦宫属${en},整体更像是${pe.scene}的阶段。`,advice:`${pe.scene}——顺着这句做就行。${Y?"既然有动爻,说明事情还在变化,先观察几天再定也不迟。":"暂无动爻,说明短期内不会有大的转折,维持现状反而是稳妥选择。"}`,evidence:Oe(`本卦 ${v.name||"—"}(${v.upper||""}/${v.lower||""})`,Y?`动爻 ${He(Y)}`:"无动爻",`日辰 ${Xe||"—"}`,`卦宫 ${k(v,"palace","—")}·${en||"—"}`,De.length?`卦体 ${De.join("、")}`:"卦体 无六冲六合伏吟反吟")},{key:"work",label:"工作与职业选择",text:`问工作看官鬼与父母:本卦中${C.filter(B=>B.liuqin==="官鬼").length?`官鬼出现${C.filter(B=>B.liuqin==="官鬼").length}处,${C.find(B=>B.liuqin==="官鬼").moving?"且有发动,岗位或考核层面会有动作":"但未发动,职位层面暂时平稳"}`:"未见官鬼,工作这件事在卦中不是主要矛盾"};${C.filter(B=>B.liuqin==="父母").length?"父母(文书、合同、资质)有出现,涉及手续与材料的事要提前准备":"父母未现,手续类事务暂无明显阻碍"}。`,advice:`如果正在看机会,建议先把合同、岗位职责这些落到纸面上的东西问清楚;${Y?.liuqin==="官鬼"?"动爻在官鬼,工作层面近期有变动的迹象,可以主动谈,但别先辞再找。":"工作层面暂无强动象,稳住手上的事更划算。"}`,evidence:Oe(`官鬼 ${he("官鬼")} 现`,`父母 ${he("父母")} 现`,Pe?`动爻六亲 ${Pe}`:"无动爻")},{key:"career",label:"事业发展",text:`世爻(代表你)在${v.shi}爻${ne?`,六亲为${ne.liuqin},${ne.moving?"且发动":"安静未动"}`:""};应爻(代表对方与环境)在${v.ying}爻${me?`,六亲为${me.liuqin}`:""}。世应之间${ne&&me?ne.liuqin===me.liuqin?"同气相求,双方立场接近":"立场有别,需要多沟通":"信号不明"},${_e?`变卦「${_e.full}」提示后续走向是${_e.scene}`:"暂无变卦"}。`,advice:`事业上的建议是:${ne?.moving?"你自己这边有主动变化的意思,那就把想法说出来、把动作做出来":"先不动,把手上的事做扎实"};${_e?`按${_e.scene}的方向去准备,会比被动等结果好。`:""}`,evidence:Oe(`世 ${He(ne)}`,`应 ${He(me)}`,X.name?`变卦 ${X.name}`:"无变卦")},{key:"love",label:"爱情与感情",text:`问感情,男看妻财、女看官鬼。本卦中${C.filter(B=>B.liuqin==="妻财").length?`妻财${C.filter(B=>B.liuqin==="妻财").length}现${C.find(B=>B.liuqin==="妻财").moving?"且发动,感情层面有动静":"但安静,关系暂时平缓"}`:"妻财未现,感情不是当前卦象的重点"};${C.filter(B=>B.liuqin==="官鬼").length?"官鬼有现,对方或关系中的压力面是被看到的":"官鬼未现"}。${pe.meaning},放在关系里就是${pe.scene}。`,advice:`关系里${Y?.liuqin==="妻财"||Y?.liuqin==="官鬼"?"近期有变化的可能,适合把话说开,别憋着":"暂时平稳,可以按自己的节奏相处"}。卦象只给倾向,真正决定关系的是你们怎么沟通。`,evidence:Oe(`妻财 ${he("妻财")} 现`,`官鬼 ${he("官鬼")} 现`,`世应 ${He(ne)} / ${He(me)}`)},{key:"health",label:"健康状况",text:`问健康,看官鬼(病)与子孙(医药、消散)。本卦中${C.filter(B=>B.liuqin==="官鬼").length?`官鬼有现${C.find(B=>B.liuqin==="官鬼").moving?"且发动,提示身体上可能有需要留意的地方":",但安静,暂无明显变化"}`:"官鬼未现,卦象未指向明显的身体问题"};${C.filter(B=>B.liuqin==="子孙").length?"子孙有现,恢复与调养的出口是有的":"子孙未现,休息与调养需要自己主动安排"}。${de==="白虎"?"动爻带白虎,尤其别忽视突发的身体信号。":""}`,advice:`这一卦在健康上的提醒是${C.filter(B=>B.liuqin==="官鬼").length?"别硬扛,累了就休息,有机会就做一次检查":"维持现有作息即可,别自己吓自己"}。任何不适请就医,卦象不能替代诊断。`,evidence:Oe(`官鬼 ${he("官鬼")} 现`,`子孙 ${he("子孙")} 现`,de?`动爻六神 ${de}`:"")}],sections:Me}}function Ze(l){const S=D(l.ben)?l.ben:{},v=D(l.hu)?l.hu:{},X=D(l.bian)?l.bian:{},C=D(l.cuo)?l.cuo:{},Y=D(l.zong)?l.zong:{},Me=D(l.bodyUse)?l.bodyUse:{},pe=Array.isArray(l.lines)?l.lines:[],_e=pe.find(Oe=>Oe.moving)||(Number(l.moving)?pe[Number(l.moving)-1]:null),{sections:ne,ben:me,bian:en}=je({benName:S.name,benUpper:S.upper,benLower:S.lower,bianName:X.name,bianUpper:X.upper,bianLower:X.lower,moving:_e,jing:l.jing}),Pe=k(Me.body,"element",""),de=k(Me.use,"element",""),Xe=k(Me,"relation",""),L=k(Me,"level",""),De=/吉/.test(L),he=/凶/.test(L);return ne.splice(1,0,{key:"tiYong",label:"体用关系",text:`体卦为${k(Me.body,"trigram","")}(${Pe}),代表你自己;用卦为${k(Me.use,"trigram","")}(${de}),代表对方与环境。${Xe}(${L})。梅花易数看体用生克:${De?"用卦对体卦有利,事情推进会相对顺":he?"用卦克体或消耗体卦,推进中会感到阻力,宜缓不宜急":"体用关系平和,事情按常态发展"}。`}),ne.splice(3,0,{key:"huGua",label:"互卦与过程",text:`互卦为「${k(v,"name","")}」,${ee(v.name,v.upper,v.lower).meaning}——互卦看事情中间的过程,这一段大致是这个味道。错卦「${k(C,"name","")}」是换个立场看同一件事,综卦「${k(Y,"name","")}」是站在对方位置看,可以参考着换个角度想。`}),{lead:"梅花易数重「体用」——你与这件事之间的关系。下面先讲卦理与体用,再分五个维度落到生活场景。",dimensions:[{key:"overall",label:"整体运势",text:`本卦「${me.full}」,${me.meaning}。体${Pe}用${de},${Xe},判定为${L}。${De?"整体的倾向是顺的:外部环境对你不算苛刻,可以正常推进":he?"整体有阻力:不是不能做,而是要多留余量与耐心":"整体平稳,不会有大的起落"}。`,advice:`${me.scene}。${he?"建议把节奏放慢,先解决卡点再谈推进":De?"可以趁势把想做的事往前推一步":"按原计划走,不必刻意改变"}。`,evidence:[`本卦 ${me.full}`,`互卦 ${k(v,"name","—")}`,`变卦 ${k(X,"name","—")}`,`体${Pe} / 用${de}·${Xe||"—"}`,`判定 ${L||"—"}`].filter(Boolean)},{key:"work",label:"工作与职业选择",text:`梅花里工作看用卦与体卦的生克:现在用卦${de}${De?"对体卦有利,说明当下的工作环境或岗位与你的匹配度还不错":he?"与体卦相耗,说明眼下这份工作消耗感偏重":"与体卦关系平和,属于不好不坏"}。本卦${me.meaning},对应到工作里就是${me.scene}。`,advice:`${he?"如果长期觉得被消耗,可以先在内部争取调整职责,再考虑外部机会":De?"适合主动争取更多责任或更好的岗位":"把手上的事做好,等一个明确的信号再动"}。选工作时优先考虑让你舒服的环境,长期看比短期收益重要。`,evidence:[`体卦 ${Pe}`,`用卦 ${de}`,`体用 ${Xe||"—"}`]},{key:"career",label:"事业发展",text:`变卦「${en?en.full:""}」代表事情的结局方向,${en?en.meaning:""}。互卦「${k(v,"name","")}」代表过程,${ee(v.name,v.upper,v.lower).meaning}。合起来看:过程${ee(v.name,v.upper,v.lower).scene},结果${en?en.scene:"暂不明朗"}。`,advice:`按这个结构,建议${De?"现在就把关键的一步迈出去":he?"先补短板、攒条件,等下一轮再动":"小步推进,边做边看"}。动爻在${k(l,"movingName","某爻")},变化点就在那里,值得重点关注。`,evidence:[`互卦 ${k(v,"name","—")}`,`变卦 ${k(X,"name","—")}`,`动爻 ${k(l,"movingName","—")}`]},{key:"love",label:"爱情与感情",text:`感情上看体用是否相合:体${Pe}与用${de}之间是${Xe},${De?"这种组合在关系里意味着双方相处比较顺,彼此能给到支撑":he?"这种组合提示相处中有一方付出更多,需要留意平衡":"关系处在常态,没有特别的张力"}。本卦${me.meaning},放到两人之间就是${me.scene}。`,advice:`${he?"别把不满攒着,找个合适的时机说清楚;也别指望对方猜":De?"可以主动推进关系,做一些共同的事":"维持现在的相处节奏就好"}。卦象看的是当下的气氛,关系的走向取决于你们怎么经营。`,evidence:[`体 ${Pe} / 用 ${de}`,`体用 ${Xe||"—"}`,`本卦 ${me.full}`]},{key:"health",label:"健康状况",text:`梅花里健康看体卦的强弱:体卦${k(Me.body,"trigram","")}属${Pe},${he?"被用卦所耗,传统取象上提示近期精力消耗偏大":De?"得到生扶,精力状态相对好":"平顺,无明显偏枯"}。${H[Pe]?`${Pe}对应${H[Pe].part},${H[Pe].note}。`:""}这是取象提示,不是诊断。`,advice:`${he?"近期别硬撑,睡眠与饮食先稳住,有条件做一次常规体检":"保持现在的作息即可,顺势多动一动更好"}。身体有明确的症状请直接看医生。`,evidence:[`体卦 ${k(Me.body,"trigram","—")}属${Pe}`,`用卦 ${k(Me.use,"trigram","—")}属${de}`,`体用 ${Xe||"—"}`]}],sections:ne}}function Ie(l){const S=D(l.sanChuan)?l.sanChuan:{},v=D(S.chu)?S.chu:{},X=D(S.zhong)?S.zhong:{},C=D(S.mo)?S.mo:{},Y=D(l.geJu)?l.geJu:{},Me=Array.isArray(l.siKe)?l.siKe:[],pe=De=>A[De?.jiangFull]||A[De?.jiang]||"",_e=k(v,"liuQin",""),ne=k(C,"liuQin",""),me=!!(v.xunKong||X.xunKong||C.xunKong),en=JSON.stringify(S),Pe=De=>en.includes(De),de=`初${k(v,"zhi","—")} → 中${k(X,"zhi","—")} → 末${k(C,"zhi","—")}`,Xe=[{key:"sanChuan",label:"三传与事体走向",text:`初传${k(v,"zhi","")}(${k(v,"jiangFull","")}·${k(v,"liuQin","")}${v.xunKong?"·旬空":""}):${pe(v)||"发端的信号"};中传${k(X,"zhi","")}(${k(X,"jiangFull","")}·${k(X,"liuQin","")}${X.xunKong?"·旬空":""}):${pe(X)||"过程的信号"};末传${k(C,"zhi","")}(${k(C,"jiangFull","")}·${k(C,"liuQin","")}${C.xunKong?"·旬空":""}):${pe(C)||"结局的信号"}。三传讲的是一件事从发端、经过到落定的过程,可以按这个顺序对照你的处境。`},{key:"geju",label:"课体与四课",text:`本课为${k(Y,"name","未定")}${Y.detail?`(${Y.detail})`:""}。${Me.length?`四课:${Me.map((De,he)=>`${he+1}课 ${De.shang||""}上${De.xia||""}下`).join(" ")}`:""}`},{key:"reasoning",label:"看课顺序",text:[`① 先看月将加时:月将${k(l.yueJiang,"name","—")}${k(l.yueJiang,"zhi","")}加在${k(l,"hourZhi","—")}时上,定出天地盘——后面所有关系都从这张盘推。`,'② 再看四课:日干寄宫起一课,日支起二课,依次得三、四课;四课是"事情的四个面"。',`③ 看三传:初传${k(v,"zhi","—")}(${_e||"—"})起,中传${k(X,"zhi","—")}(${k(X,"liuQin","—")}),末传${k(C,"zhi","—")}(${ne||"—"})落——发端、过程、结局。`,`④ 定课体:${k(Y,"name","未定")}${Y.detail?`(${Y.detail})`:""};课体决定这件事"以什么方式"推进,不是吉凶标签。`,'⑤ 看神将:月将、贵人与旬空决定信号强弱;旬空处多为"看着有、实则虚",须核实。',"⑥ 落到维度:工作看官鬼与青龙、朱雀;感情看六合、天后与妻财;健康看白虎与子孙——都是上面几步的应用。"].join(`
|
|
113
|
+
`)},{key:"limits",label:"未纳入",text:"本课没有计算:年命与行年(命上神)、神煞的加权轻重、伏吟反吟的细分,以及课体之间的互涉。三传只取九宗门里的主要取法,其他流派(如以贵神起课)结论可能不同;这些只影响轻重,不改变课面事实。"}];return{lead:"大六壬看的是一件事的来龙去脉。三传给出「发端—过程—结局」的顺序,下面按这个结构分五个维度说。",dimensions:[{key:"overall",label:"整体运势",text:`这一课${k(Y,"name","")}${Y.detail?`·${Y.detail}`:""},发端在${k(v,"zhi","")}(${pe(v)||""}),落定在${k(C,"zhi","")}(${pe(C)||""})。${me?"课中有旬空,提示事情里有「看着有、实则虚」的部分,涉及承诺与数字的要核实。":"课中无旬空,事情相对实在。"}整体倾向是:${/吉|生|合/.test(pe(v)+pe(C))?"开局与结局的象都不差,可以正常推进":/虎|蛇|勾|空/.test(pe(v)+pe(C))?"过程中有牵绊与不明朗处,宜慢不宜快":"平顺中带一点摩擦"}。`,advice:`${me?"先把信息核实清楚,别在含糊的基础上做决定":"按你原本的计划推进即可"}。${/虎/.test(pe(v))?"开局带白虎,头几天别硬碰,先观察。":""}事情的局面是动态的,这一课看的是当下这一刻的气象。`,evidence:[`课体 ${k(Y,"name","—")}`,`三传 ${de}`,`月将 ${k(l.yueJiang,"name","—")}`,me?"课中见旬空":"无旬空"]},{key:"work",label:"工作与职业选择",text:`工作看官鬼与青龙、太常:本课${_e==="官鬼"?"初传即见官鬼,事情一上来就与职位、考核或上级有关":`初传为${_e||"未取"},${pe(v)||""}`}。${/青龙/.test(JSON.stringify(S))?"课中见青龙,工作层面有喜庆与进益的象":"课中未见青龙,工作层面属常态推进"};${/朱雀/.test(JSON.stringify(S))?"见朱雀,文书、沟通与口舌要留意,材料务必留底":""}`,advice:`涉及岗位与待遇的事,建议把口头承诺落成文字;${/朱雀/.test(JSON.stringify(S))?"沟通时少说满话,多留余地。":"正常沟通即可。"}选工作时优先考虑课象中显示出支撑力的方向。`,evidence:[`初传 ${k(v,"zhi","—")}·${_e||"未取"}·${pe(v)||"—"}`,Pe("青龙")?"见青龙":"无青龙",Pe("朱雀")?"见朱雀":"无朱雀"]},{key:"career",label:"事业发展",text:`末传${k(C,"zhi","")}(${ne||""}·${pe(C)||""})主结局,${ne==="官鬼"?"结局落在官鬼,事业这条线会有明确的结果或位置变化":ne==="妻财"?"结局落在妻财,更多体现为收入与资源的落袋":ne==="子孙"?"结局落在子孙,压力会消散,适合收尾与转向":"结局的信号相对中性"}。${C.xunKong?"末传旬空,结局有落空的可能,别把预期定得太满。":"末传不空,结果相对实在。"}`,advice:`按三传的顺序安排节奏:初传阶段先摸清情况,中传阶段处理摩擦,末传阶段收果。${C.xunKong?"对结果保留一点弹性,Plan B 提前想好。":"可以朝着末传给出的方向去准备。"}`,evidence:[`末传 ${k(C,"zhi","—")}·${ne||"未取"}·${pe(C)||"—"}`,C.xunKong?"末传旬空":"末传不空",`三传 ${de}`]},{key:"love",label:"爱情与感情",text:`感情看妻财与天后、六合:本课${/六合/.test(JSON.stringify(S))?"见六合,有和合、契约之象,关系层面是往一起走的":"未见六合,关系层面没有明显的和合信号"};${/天后/.test(JSON.stringify(S))?"见天后,有被照顾、被回应的象":""}${/玄武/.test(JSON.stringify(S))?"见玄武,提示信息不明或有隐瞒,重要的事要当面问清":""}${/妻财/.test(JSON.stringify(S))?"课中见妻财,感情这条线是被看到的":""}。`,advice:`${/玄武/.test(JSON.stringify(S))?"关系里有看不清的地方,别猜,直接问。":"按你感受到的相处状态来判断就好。"}卦象只反映当下的气氛,关系如何取决于两个人怎么做。`,evidence:[Pe("六合")?"见六合":"无六合",Pe("天后")?"见天后":"无天后",Pe("妻财")?"见妻财":"无妻财"]},{key:"health",label:"健康状况",text:`健康看白虎与子孙:本课${/白虎/.test(JSON.stringify(S))?"见白虎,传统取象上提示身体有需要留意的地方,尤其突发的不适别忽视":"未见白虎,卦象未指向明显的身体问题"};${/子孙/.test(JSON.stringify(S))?"见子孙,医药与调养的出口是有的,恢复的象在":"未见子孙,休息与调养需要自己主动安排"}。这些都是象征提示,不构成医学判断。`,advice:`${/白虎/.test(JSON.stringify(S))?"近期别熬夜、别硬扛,有条件做一次检查":"保持现有作息,适度运动即可"}。任何不适请就医,这一课不能替代诊断。`,evidence:[Pe("白虎")?"见白虎":"无白虎",Pe("子孙")?"见子孙":"无子孙",`课体 ${k(Y,"name","—")}`]}],sections:Xe}}function Fe(l){const S=Array.isArray(l.cards)?l.cards:[],v=S.length,X=S.filter(L=>L.arcana==="大阿卡纳"),C=S.filter(L=>L.upright),Y=S.filter(L=>!L.upright),Me=S.filter(L=>/国王|王后|骑士|侍从/.test(String(L.name))),pe={};for(const L of S)L.element&&(pe[L.element]=(pe[L.element]||0)+1);const _e=Object.entries(pe).map(([L,De])=>`${L}×${De}`).join("、")||"分布不明",ne=["火","水","风","土"].filter(L=>!pe[L]),me=S.find(L=>/未来|结果|建议/.test(String(L.position)))||S[S.length-1]||null,Pe=[{key:"narrative",label:"整盘连贯解读",text:`先把几张牌串成一条线来看:${S.map((L,De)=>{const he=L.upright?"顺":"滞";return`${L.position}(${L.positionHint||""})${L.name}${L.orientation}:${L.core||(L.keywords||[]).join("、")},这一环是${he}的`}).join(";")}。${me?`整盘的主轴是「${me.name}」(${me.position}·${me.orientation})——${me.core||""}。其余几张可以理解为这条主线在不同阶段的样貌:${S.filter(L=>L!==me).map(L=>`${L.position}的${L.name}说明${L.core||(L.keywords||[]).join("、")}`).join(",")}。`:""}所以这张牌阵讲的不是几件不相干的事,而是同一件事在不同时间位置上的样子。`},{key:"structure",label:"牌面结构",text:`${v} 张牌中有 ${X.length} 张大阿卡纳(占 ${Math.round(X.length/v*100)}%),${X.length>=Math.ceil(v/2)?"大牌过半,事情牵动的层面较深,与环境、阶段性的课题有关":"大牌不到半数,重点更偏日常层面的具体人事"}。元素分布:${_e}${ne.length?`;缺${P(ne)},这一块容易被忽略`:""}。正逆位 ${C.length} 正 ${Y.length} 逆,${Y.length>C.length?"逆位偏多,说明阻滞主要来自内部状态而非外部条件":"整体偏顺,逆位那张是全盘的关节"}。`}],de=L=>S.find(he=>{const He=(he.keywords||[]).join("")+String(he.core||"");return L==="love"?/爱|情感|关系|圣杯|恋人|伴侣/.test(He)||he.domain==="情感与关系":L==="work"?/工作|事业|职场|权杖|星币|金币/.test(He)||he.domain==="工作与事业":L==="career"?/成就|成功|目标|进展|资源/.test(He):L==="health"?/健康|休息|疲惫|压力|疗愈/.test(He):!0});return{lead:"塔罗是一套象征系统而不是判决。下面先给整盘的连贯解读(把几张牌串成一条线),再分五个维度落到生活里。",dimensions:[{key:"overall",label:"整体运势",text:`整盘的主轴落在「${me?me.name:"—"}」(${me?me.orientation:""}),${me?me.core||(me.keywords||[]).join("、"):""}。${Y.length?`其中${P(Y.map(L=>`${L.name}(${L.position})`))}是逆位,逆位不等于凶,更像那股力量还没顺过来或用力过猛,它是这张牌阵里最值得你先看的部分。`:"全部为正位,说明牌面呈现的状态与你当下的处境是通的。"}${ne.length?`元素上缺${P(ne)},${ne.map(L=>E[L]?.area).filter(Boolean).join("、")}这一块容易被忽略。`:""}`,advice:`${Y.length?`先把${Y[0].name}指出的卡点处理掉(${(Y[0].keywords||[]).join("、")}),暂时不要加码推进`:"按牌面呈现的节奏走"};${ne.length?`补一点${ne[0]}的力量:${E[ne[0]]?.advice||""}`:"把注意力放在能立刻做的小事上,先动一件"}。牌是镜子,照的是你此刻的状态。`,evidence:[`牌阵 ${v} 张(${S.map(L=>L.position).join(" / ")})`,`主轴 ${me?`${me.name}·${me.position}·${me.orientation}`:"—"}`,`逆位 ${Y.length} / 正位 ${C.length}`,ne.length?`缺 ${P(ne)}`:"五行元素齐"]},{key:"work",label:"工作与职业选择",text:`${de("work")?`牌面上与工作最相关的是「${de("work").name}」(${de("work").position}·${de("work").orientation}):${de("work").core||(de("work").keywords||[]).join("、")}。`:"牌面上没有明确指向工作的牌。"}${Me.length?`牌中有宫廷牌${P(Me.map(L=>L.name))},说明局面里有具体的人(也可能就是你自己的某个侧面)在起作用。`:""}${pe.土?"有土元素,现实条件与资源是被这张牌阵看到的。":"缺土元素,现实条件与资源这块容易估计不足。"}`,advice:`工作上建议:${pe.土?"把计划落到预算与时间表上,别停在口头":"先把现实条件摸清楚——薪资、工时、稳定性,再谈喜好"};${de("work")&&!de("work").upright?"这张相关牌是逆位,说明当下的不适主要来自状态而非岗位本身,可以调状态再看。":""}`,evidence:[`工作相关牌 ${de("work")?`${de("work").name}·${de("work").position}·${de("work").orientation}`:"无"}`,`宫廷牌 ${Me.length} 张`,`土元素 ${pe.土||0} 张`]},{key:"career",label:"事业发展",text:`从牌阵的时间线看:${S.map(L=>`${L.position}是${L.name}${L.orientation}`).join(",")}。${X.length>=Math.ceil(v/2)?"大牌过半,事业这条线牵动的不只是岗位,还有你对自己要往哪走的判断":"变化更多发生在具体事务层面,先把眼前的项目做成"}${me?`;结局位置的「${me.name}」给出的方向是${me.core||""}`:""}。`,advice:`建议把${S[0]?.position||"最初"}这一环的课题先收尾,再往${me?.position||"结果"}的方向推进;${pe.火?"火的能量在,适合主动出击一步":"缺火时别等热情来,先用流程推着自己动"}。事业发展是长线,牌面只反映当前这一段。`,evidence:[`时间线 ${S.map(L=>`${L.position}·${L.name}${L.orientation}`).join(" → ")}`,`大阿卡纳 ${X.length}/${v}`]},{key:"love",label:"爱情与感情",text:`${de("love")?`与感情最相关的是「${de("love").name}」(${de("love").position}·${de("love").orientation}):${de("love").core||(de("love").keywords||[]).join("、")}。`:"牌面上没有明确指向感情的牌,当下这段关系不是主要议题。"}${pe.水?"有水元素,情感与感受在这件事里占的分量不轻。":"缺水元素,容易用理性压过感受,留意别忽略自己的情绪。"}`,advice:`${pe.水?"先照顾好感受再谈效率:把想说的话说出口,比猜对方心思有效":"给自己留一点感受情绪的时间,别把所有事都当任务处理"};${de("love")&&!de("love").upright?"相关牌为逆位,提示关系里有没说开的地方,找个合适时机讲清楚。":""}关系取决于你们怎么做,牌只帮你把问题问清楚。`,evidence:[`感情相关牌 ${de("love")?`${de("love").name}·${de("love").position}·${de("love").orientation}`:"无"}`,`水元素 ${pe.水||0} 张`]},{key:"health",label:"健康状况",text:`牌阵里${de("health")?`与健康状态最贴近的是「${de("health").name}」:${de("health").core||(de("health").keywords||[]).join("、")}`:"没有直接指向身体的牌"}。${Y.length>=2?`${Y.length} 张逆位,提示内在消耗偏大,身体往往是第一个反映出来的`:"整体状态与牌面呈现的相对一致"}${pe.土||pe.水?"":";缺土与水,作息与身体的基本盘容易被牺牲"}。这些是象征性的提示,不是诊断。`,advice:`${Y.length>=2?"建议先把睡眠与饮食稳住,别在这个阶段额外加压":"维持现有作息,适度运动即可"};${ne.length?`补${ne[0]}所代表的${E[ne[0]]?.area||""}:${E[ne[0]]?.advice||""}`:""}身体有明确不适请就医,牌面不能替代专业意见。`,evidence:[`健康相关牌 ${de("health")?`${de("health").name}·${de("health").position}`:"无"}`,`逆位 ${Y.length} 张`,`元素 土${pe.土||0} / 水${pe.水||0}`]}],sections:Pe}}const Se={bazi:ve,ziwei:be,liuyao:Ge,meihua:Ze,daliuren:Ie,tarot:Fe},{interpretQimen:cn}=J["qimen-interpret"]||{},{buildAnswer:ln,buildPlain:$n,buildGlossary:gn,buildFollowups:xn,dimensionPlain:kn}=J["interpret-plain"]||{},{knowledgeFor:Rn,caveatsFor:Zn,STATUS_LABEL:rn,KNOWLEDGE_DISCLAIMER:Cn}=J["interpret-knowledge"]||{},{citationSourceOf:pn}=J.citations||{},{limitsFor:On}=J.limits||{},{GUIDE:En}=J.guide||{},{CLASSIC_BOOKS:Xn,suiyunClassicOf:ut,classicOf:Qn}=J.classics||{};function mt(l,S,v){if(!l)return l;const X=["overall","work","career","love","health"],C=he=>{const He=X.indexOf(he);return He<0?X.length:He},Y=new Set,Me=(l.dimensions||[]).map(he=>{const He=kn(he.key,S,{});return{...he,...He?{plain:He}:{}}}),pe=3;for(const he of Me.slice().sort((He,Oe)=>C(He.key)-C(Oe.key))){const He=Rn(S.system,he.key).filter(Oe=>!Y.has(Oe.id)).slice(0,pe).map(Oe=>{const Je=pn(Oe.id,Oe.source);return{id:Oe.id,gist:Oe.gist,detail:Oe.detail,source:Je.source,citations:Je.citations,citationStatus:Je.status,citationReason:Je.reason||"",status:Oe.status,statusLabel:rn[Oe.status]||Oe.status,note:Oe.note||""}});for(const Oe of He)Y.add(Oe.id);He.length&&(he.knowledge=He)}const _e=[l.lead,...Me.map(he=>[he.label,he.text,he.advice,he.plain,...(he.knowledge||[]).map(He=>He.detail)].filter(Boolean).join("")),...(l.sections||[]).map(he=>he.text)].filter(Boolean),ne=Zn(S.system),me=ne.filter(he=>he.status!=="todo"),en=me.filter(he=>Y.has(he.id)),Pe=me.filter(he=>!Y.has(he.id)),de=he=>`· ${he.gist}(${rn[he.status]||he.status})`,Xe=me.length?[en.length?`本盘涉及 ${en.length} 处:
|
|
108
114
|
${en.map(de).join(`
|
|
109
|
-
`)}`:"本盘未踩到下面这些分歧,结论是按一派一路算下来的。",
|
|
110
|
-
${
|
|
115
|
+
`)}`:"本盘未踩到下面这些分歧,结论是按一派一路算下来的。",Pe.length?`本体系另有 ${Pe.length} 处通行分歧(本盘未涉及,附原注备查):
|
|
116
|
+
${Pe.map(he=>`${de(he)}${he.note?`——${he.note}`:""}`).join(`
|
|
111
117
|
`)}`:""].filter(Boolean).join(`
|
|
112
118
|
|
|
113
119
|
`):"",L=[...l.sections||[]];Xe&&L.push({key:"caveats",label:"这套规则有多稳",text:`下列分歧属文本层:各书写法不同,引擎总得取一派,所以本插件取了一派并在此标明。先列你这张盘踩到的,再列本体系其余通行的。
|
|
114
120
|
|
|
115
121
|
${Xe}
|
|
116
122
|
|
|
117
|
-
这是「文本层」的分歧,不是谁对谁错的判定:同一现象各派解释路径不同,本插件不替它们裁决,也不据此声称哪一种说法更准。`});const De=
|
|
118
|
-
`)}),{...l,dimensions:Me,sections:L,answer:l.answer||ln(S,v,{}),plain:l.plain
|
|
119
|
-
`).map(y=>y.trim()).filter(Boolean),r=g?t.filter(y=>g.words.some(h=>y.includes(h))):[];return{ok:!0,year:null,topic:g,answer:r.length?`${g.label}相关的盘面字段:${r.slice(0,3).join(";")}。这一盘没带解析层,只列盘面事实,不在这里补吉凶结论。`:`这一盘没有解析层,只能按盘面字段回答;可问的方向:${
|
|
120
|
-
`);return{text:we,question:f,system:p&&p.system||"",label:g,chars:we.length,truncated:t}}return{followup:A,READING_ORDERS:Z,READING_ORDER_FALLBACK:j,readingOrderOf:$,askPrompt:b}})(),J.trace=(function(){const{PATTERN_TONE:U}=J.ziwei||{},{yongshenOf:Q,yongshenStrength:ae,fushenAccess:re}=J.liuyao||{},{qimenYongshen:ne}=J["qimen-interpret"]||{},{GAN_JI_GONG:T}=J.daliuren||{},{bool:_}=J.bool||{},H={liuyao:"六爻",bazi:"八字",ziwei:"紫微",qimen:"奇门",daliuren:"大六壬"},o=(i,t="—")=>i==null||i===""?t:String(i),A=(i,t="—")=>(Array.isArray(i)?i.filter(r=>r!=null&&r!=="").join("、"):"")||t,q=i=>i.map(([t,r])=>({label:String(t),value:o(r)})),Z=(i,t,r,y,h,c)=>({key:i,field:t,rule:o(r,""),inputs:q(y),result:o(h,""),source:o(c,"")});function j(i,t){return(Array.isArray(i)?i:[]).find(r=>r.position===t)||null}function $(i,t={}){const r=i.ben&&typeof i.ben=="object"?i.ben:{},y=Array.isArray(r.lines)?r.lines:[],h=i.bian&&typeof i.bian=="object"?i.bian:null,c=Array.isArray(i.cast&&i.cast.movingPositions)?i.cast.movingPositions:[],N=i.useGod&&typeof i.useGod=="object"?i.useGod:null,O=N&&N.direction||t.direction||"general",we=i.useGodStrength&&typeof i.useGodStrength=="object"?i.useGodStrength:null,Ye=i.hexStrength&&typeof i.hexStrength=="object"?i.hexStrength:null,d=i.fushenAccess&&typeof i.fushenAccess=="object"?i.fushenAccess:null,I=j(y,r.shi),F=j(y,r.ying),oe=we&&we.month||Ye&&Ye.month||null,te=we&&we.day||Ye&&Ye.day||null,fe=Z("najia","纳甲","京房纳甲:八经卦各配天干与三爻地支,内卦取前三爻、外卦取后三爻;动爻再成变卦。",[["本卦",`${o(r.name)}(上${o(r.upper)}·下${o(r.lower)})`],["动爻",c.length?`${c.join("、")}爻`:"无(静卦)"],["变卦",h?`${o(h.name)}(上${o(h.upper)}·下${o(h.lower)})`:"无"]],y.map(V=>`${V.position}爻 ${o(V.ganzhi)}${o(V.element)}`).join("|"),"京房纳甲逐爻配干支五行;爻辰可对读《京氏易传》卷上各宫首卦注文;实现:engine/liuyao.js · NAJIA(八宫纳甲表)"),ze=Z("liuqin","六亲","以卦宫五行为「我」:同我为兄弟、生我为父母、我生为子孙、克我为官鬼、我克为妻财。",[["卦宫",`${o(r.palace)}(${o(r.palaceElement)})`],["爻五行",A([...new Set(y.map(V=>V.element))])],["日干起六神",`${o(i.dayGanZhi&&i.dayGanZhi.stem)}日`]],y.map(V=>`${V.position}爻 ${o(V.liuqin)}(${o(V.element)})`).join("|"),"以卦宫为「我」定六亲,六亲从宫主出(《火珠林》六亲根源);取用可对读《增删卜易》卷一·用神章第八;实现:engine/liuyao.js · liuqin()"),W=Z("shiying","世应","八宫首卦世在上爻,一世至五世依次初至五爻,游魂四爻、归魂三爻;应爻与世相隔三位。",[["卦名",`${o(r.name)}(${o(r.palace)})`],["世位",`${o(r.shi)}爻`],["应位",`${o(r.ying)}爻`]],`${o(r.shi)}爻${I?` ${o(I.liuqin)}·${o(I.ganzhi)}${o(I.element)}`:""}为世,${o(r.ying)}爻${F?` ${o(F.liuqin)}·${o(F.ganzhi)}${o(F.element)}`:""}为应`,"世位依八宫(首卦上爻、一至五世、游魂四、归魂三),逐卦标世应见《京氏易传》卷上;应爻隔三位属通行推步;实现:engine/liuyao.js · SHI_POSITION");let D;if(!N||!N.liuqin){const V=O==="general"?"未选询问方向(当前为综合),未取用神":"未取到用神";D=Z("fushen","伏神","用神不上卦时,回本宫首卦的同位取伏神;飞伏之间只判生克与助压。",[["用神",N&&N.ask?N.ask:"未取"]],`${V};本层不适用。`,"取伏之法参《增删卜易》卷二·飛伏神章第二十八;实现:engine/liuyao.js · yongshenOf()")}else if(N.missing){const V=(N.fushen||[]).map(le=>{const ve=le.fei?`${o(le.fei.ganzhi)}${o(le.fei.element)}(${o(le.fei.liuqin)})`:"—";return`${le.position}爻 ${o(le.ganzhi)}${o(le.element)}(${o(le.liuqin)}),飞神 ${ve},${o(le.relation)}`}).join(";"),ue=d&&Array.isArray(d.items)?d.items.map(le=>`${le.position}爻${o(le.verdict)}`).join("、"):"";D=Z("fushen","伏神","用神不上卦时,回本宫首卦的同位取伏神;飞伏之间只判生克,再叠月建日辰给出伏条件,不换算应期。",[["用神",`${N.liuqin}(不上卦)`],["伏位",A((N.fushen||[]).map(le=>`${le.position}爻`))],["月建 / 日辰",`${o(oe&&oe.branch)} / ${o(te&&te.branch)}`]],`${V||"本卦无此六亲,首卦同位也未取到伏神"}${ue?`;出伏:${ue}`:""}`,"《增删卜易》卷二·飛伏神章第二十八(用神不現,尋得伏神而遇生扶有用);实现:engine/liuyao.js · fushenAccess()")}else D=Z("fushen","伏神","用神已在卦上时不取伏神;伏神层只在本卦找不到用神时启用。",[["用神",N.liuqin],["在位",A((N.found||[]).map(V=>`${V.position}爻`))]],`用神 ${N.liuqin} 已在 ${A((N.found||[]).map(V=>`${V.position}爻`))},无需伏神。`,"取伏之法参《增删卜易》卷二·飛伏神章第二十八;实现:engine/liuyao.js · yongshenOf()");const z=we&&Array.isArray(we.lines)?we.lines.map(V=>`${V.position}爻${o(V.branch)}${o(V.element)}:月${o(V.monthState)}·${o(V.dayRelation)}`).join(";"):"",P=Z("wangsheng","旺衰","月建主这一段的旺衰(旺相休囚死),日辰看当天的生克扶压;只给状态标签,不折分数、不单独断吉凶。",[["月建",oe?`${o(oe.branch)}(${o(oe.element)})`:"缺"],["日辰",te?`${o(te.branch)}(${o(te.element)})`:"缺"],["用神",N&&N.liuqin?N.liuqin:"未取"],["旬空",A(i.xunKong)]],[z?`用神:${z}${we.labels&&we.labels.length?`(${we.labels.join("、")})`:""}`:"用神:未取,只看全卦",Ye&&Ye.labels&&Ye.labels.length?`全卦:${Ye.labels.join("、")}`:""].filter(Boolean).join(";"),"《增删卜易》卷一·月將章第十六、日辰章第十七;实现:engine/liuyao.js · yongshenStrength / hexagramStrength");return[fe,ze,W,D,P]}function b(i){const t=i.strength&&typeof i.strength=="object"?i.strength:{},r=t.parts&&typeof t.parts=="object"?t.parts:{},y=r.season&&typeof r.season=="object"?r.season:{},h=i.frame&&typeof i.frame=="object"?i.frame:{},c=h.yongshen&&typeof h.yongshen=="object"?h.yongshen:{},N=h.primary&&typeof h.primary=="object"?h.primary:null,O=i.climate&&typeof i.climate=="object"?i.climate:{},we=h.godStats&&h.godStats.groups?h.godStats.groups:{},Ye=Z("strength","旺衰分值",o(t.method,"月令权重 + 地支藏干通根 + 天干帮扶,量化后分档。"),[["日主",i.dayMaster?`${o(i.dayMaster.stem)}(${o(i.dayMaster.element)})`:"—"],["月令",`${o(y.branch)}(${o(y.element)}·${o(y.word)},权重 ${o(y.weight)})`],["通根",`${A(r.roots)}(${o(r.rootScore)})`],["合会折根",A(r.structure,"无")],["天干帮扶 / 耗泄",`帮 ${A(r.helpers)};泄 ${A(r.drainers)}(${o(r.helpScore)})`],["虚透",A(r.virtualHelpers,"无")]],`${o(t.level)}(${o(t.score)} 分):${o(t.detail)}`,"本仓量化规则(月令权重 3/2/1/0.5/0、藏干通根、三会/三合/六合折根、虚透减半;非古籍定数);实现:engine/bazi.js · 旺衰量化"),d=o(h.primaryName||N&&N.name,"未取格局"),I=A((h.geju||[]).map(ve=>ve&&ve.name).filter(ve=>ve&&ve!==d),""),F=A(c.favor),oe=A(c.avoid),te=A((c.disputed||[]).map(ve=>ve&&ve.element),""),fe=A((c.neutral||[]).map(ve=>ve?`${ve.element}(${ve.weight} 分)`:""),""),ze=c.tiaohou&&typeof c.tiaohou=="object"?c.tiaohou:O,W=ze&&ze.need?ze.need:null,D=[d==="未取格局"?d:`主格 ${d}${I?`;兼格 ${I}`:""}`,`喜 ${F},忌 ${oe}`,fe?`中性偏忌 ${fe}(近零,仍按忌参与行运评分)`:"",te?`有争议 ${te}`:"",ze&&ze.kind?`调候 ${o(ze.kind)}${W&&W.element?`,取 ${o(W.element)}`:""}${ze.avoidElement&&ze.avoidElement!=="—"?`,忌 ${o(ze.avoidElement)}`:""}`:""].filter(Boolean).join(";"),z=Z("geju","格局取用",o(c.method,"先按月令与透干取格,再以扶抑为主、调候校验取用。"),[["月令格",N?`${o(N.name)}(${o(N.kind)})`:"—"],["取格依据",N?o(N.evidence):"—"],["十神分量",Object.entries(we).map(([ve,Ae])=>`${ve}${Ae}`).join(" / ")||"—"],["调候",ze&&ze.kind?`${o(ze.kind)}${W&&W.element?` → ${o(W.element)}`:""}`:"—"]],`${D}`,"《子平真诠》八、论用神(专求月令);调候参《穷通宝鉴》五行总论;实现:engine/geju.js · yongshenOf()"),P=i.palaces&&typeof i.palaces=="object"?i.palaces:{},V=i.pillars&&i.pillars.month?o(i.pillars.month.branch):"—",ue=i.pillars&&i.pillars.hour?o(i.pillars.hour.branch):"—",le=P.taiyuan?Z("palaces","胎元与命身宫","胎元=月干进一、月支进三;胎息=日干五合、日支六合;命宫=27 减生月与生时支、取模后加二;身宫=11 加两支、取模后加二;干支并入六十甲子。",[["生月 / 生时",`${V} / ${ue}`],["胎元",`${o(P.taiyuan.ganzhi)}(月干进一、月支进三)`],["胎息",P.taixi?`${o(P.taixi.ganzhi)}(日干五合、日支六合)`:"—"],["命宫 / 身宫",`${o(P.minggong&&P.minggong.ganzhi)} / ${o(P.shengong&&P.shengong.ganzhi)}`]],`胎元 ${o(P.taiyuan.ganzhi)};${P.taixi?`胎息 ${o(P.taixi.ganzhi)};`:""}命宫 ${o(P.minggong&&P.minggong.ganzhi)};身宫 ${o(P.shengong&&P.shengong.ganzhi)}。四宫是辅助坐标,不单独折吉凶。`,"Tyme 1.5.4 四宫口径(与 ziwei.pub 704 组日期对拍);本仓未直接照录古籍章页;实现:engine/bazi.js · palaces"):null;return[Ye,z,...le?[le]:[]]}function p(i){const t=Array.isArray(i.patterns)?i.patterns:[],r=Object.keys(U).length,y=i.soul&&typeof i.soul=="object"?i.soul:{},h=i.bureau&&typeof i.bureau=="object"?i.bureau:{},c=t.map(N=>`${o(N.name)}:${o(N.evidence)}`).join(";");return[Z("patterns","格局命中条件",`已收录 ${r} 条格局,逐条校验命宫三方四正的星曜组合;只判结构成立与否,不折吉凶。`,[["命宫",o(y.ganzhi)],["五行局",o(h.name)],["命主 / 身主",`${o(i.lifeMaster)} / ${o(i.bodyMaster)}`],["命中数",`${t.length} / ${r}`]],t.length?`命中 ${t.length} 条:${c}`:"未命中已收录的格局条件(不表示命盘无结构,只是不在已收录清单内)。","《紫微斗数全书》卷三·论人命入格、谈星要论;实现:engine/ziwei.js · detectPatterns()")]}function w(i,t={}){const r=Array.isArray(i.palaces)?i.palaces:[],y=i.month&&typeof i.month=="object"?i.month:{},h=i.states&&typeof i.states=="object"?i.states:{},c=i.conditions&&typeof i.conditions=="object"?i.conditions:{},N=i.zhiFu&&typeof i.zhiFu=="object"?i.zhiFu:{},O=i.zhiShi&&typeof i.zhiShi=="object"?i.zhiShi:{},we=i.ma&&typeof i.ma=="object"?i.ma:{},Ye=i.siZhu&&typeof i.siZhu=="object"?i.siZhu:{},d=Z("facts","盘面事实","时家转盘奇门:节气与三元定阴阳遁与局数,旬首定值符星与值使门;值符随时干落宫,八神按阴阳遁顺布或逆布。",[["四柱",`${o(Ye.year)} ${o(Ye.month)} ${o(Ye.day)} ${o(Ye.time)}`],["节气 / 局",`${o(i.jieqi)} · ${o(i.dun)}${o(i.juNumber)}局(${o(i.juMethod)})`],["旬首",o(i.xunshou)],["值符 / 值使",`${o(N.star)}落${o(N.gong)}宫 / ${o(O.gate)}落${o(O.gong)}宫`],["空亡 / 驿马",`${A(i.kongWang)} / ${o(we.zhi)}${we.gong?`(${we.gong}宫)`:""}`]],r.map(ke=>`${ke.palace}宫 天${o(ke.tianPan)}·${o(ke.star)}·${o(ke.gate)}·${o(ke.god)}`).join("|")||"无九宫数据","《奇门遁甲统宗》卷一·奇门秘诀总赋(阴阳二遁、五日换元、超神接气);实现:engine/qimen.js · buildQimen()"),I=ne(i,t.direction),F=I.rows.filter(ke=>ke.palace),oe=I.rows.filter(ke=>!ke.palace).map(ke=>ke.key),te=F[0]||null,fe=Z("yongshen","用神落宫","按所问之事取用神:先取主用神、再取辅用神;以所落之宫的干、门、星、神整体取象,不单凭门名断事。",[["询问方向",I.label],["主用神",te?`${te.key} → ${te.palace.palace}宫`:"未上盘"],["辅用神",F.slice(1).map(ke=>`${ke.key} → ${ke.palace.palace}宫`).join(";")||"无"],["主用神落宫",te?`${o(te.palace.star)}·${o(te.palace.gate)}·${o(te.palace.god)}·天盘${o(te.palace.tianPan)}`:"—"]],F.length?`${I.note};${F.map(ke=>`${ke.key} 落 ${ke.palace.palace}宫(${o(ke.palace.star)}·${o(ke.palace.gate)}·${o(ke.palace.god)})`).join(",")}`+(oe.length?`;${oe.join("、")} 未上盘`:""):`${I.label}的用神均未上盘,属未决项;先按值符落宫参照。`,"本仓用神表(按所问之事取用,非古籍原文);实现:engine/qimen-interpret.js · qimenYongshen()"),ze=["旺","相","休","囚","死"],W=ke=>ze.filter(qn=>ke&&Array.isArray(ke[qn])&&ke[qn].length).map(qn=>`${qn} ${ke[qn].join("、")}`).join(";")||"—",D=Z("states","门/星/干旺衰","月令定五态:同月令之气为旺,月令所生为相,生月令为休,克月令为囚,月令所克为死;只判力量强弱,不合吉凶。",[["月令",`${o(y.branch)}(${o(y.element)})`],["门",W(h.gate)],["星",W(h.star)],["天盘干",W(h.stem)]],`门:${W(h.gate)};星:${W(h.star)};天盘干:${W(h.stem)}`,"《奇门遁甲统宗》卷三(旺相休囚);实现:engine/qimen.js · groupByState()"),z=[],P=[],V=new Map;for(const ke of r){const qn=ke.gateRelation||{};qn.type==="门迫"?z.push(`${ke.palace}宫${o(ke.gate)}`):qn.type==="宫制门"&&P.push(`${ke.palace}宫${o(ke.gate)}`);const be=ke.stemRelation||{};ke.tianPan&&be.type&&be.type!=="unknown"&&(V.has(be.type)||V.set(be.type,[]),V.get(be.type).push(`${ke.palace}宫${ke.tianPan}`))}const le=["干克宫","宫克干","干生宫","宫生干","比和"].filter(ke=>V.has(ke)).map(ke=>`${ke} ${V.get(ke).join("、")}`).join(";")||"—",ve=(c.jiXing||[]).map(ke=>`${ke.palace}宫${o(ke.stem)}`),Ae=(c.ruMu||[]).map(ke=>`${ke.palace}宫${o(ke.stem)}`),hn=(c.liuYiRuMu||[]).map(ke=>`${ke.palace}宫${o(ke.stem)}`),ye=r.filter(ke=>ke.ganYing).map(ke=>`${ke.palace}宫 ${o(ke.ganYing.tian)}加${o(ke.ganYing.di)} ${o(ke.ganYing.name)}`).join(";"),nn=r.filter(ke=>ke.kong).map(ke=>`${ke.palace}宫`),Gn=Z("relations","宫位生克","门与宫同宫论生克:门克宫为门迫,宫克门为宫制门;天盘干对宫另论生克;击刑、入墓、空亡只作宫位条件,不单独断吉凶。",[["门迫",z.join("、")||"无"],["宫制门",P.join("、")||"无"],["天盘干 × 宫",le],["击刑 / 三奇入墓 / 六仪入墓",`${ve.join("、")||"无"} / ${Ae.join("、")||"无"} / ${hn.join("、")||"无"}`],["十干克应",ye||"—"],["空亡",nn.join("、")||"无"]],`门迫 ${z.length} 处、宫制门 ${P.length} 处;天盘干与宫:${le};击刑 ${ve.length} 处、三奇入墓 ${Ae.length} 处、六仪入墓 ${hn.length} 处、落空 ${nn.length} 宫。十干克应:${ye||"—"}。`,"《奇门遁甲统宗》卷二(八门迫制)、卷十一·玄机赋(中)(六仪击刑、三奇入墓);十干克应为本仓表;实现:engine/qimen.js · gatePalaceRelation() / stemPalaceRelation()、engine/qimen-ganying.js");return[d,fe,D,Gn]}function g(i){const t=Array.isArray(i.pan)?i.pan:[],r=Array.isArray(i.siKe)?i.siKe:[],y=i.sanChuan&&typeof i.sanChuan=="object"?i.sanChuan:{},h=i.yueJiang&&typeof i.yueJiang=="object"?i.yueJiang:{},c=i.guiren&&typeof i.guiren=="object"?i.guiren:{},N=i.geJu&&typeof i.geJu=="object"?i.geJu:{},O=o(i.dayGanZhi,""),we=Z("tiandipan","天地盘","月将加时:中气换将,月将加于占时之上,顺布十二支成天盘;十二天将以日干昼夜贵人为起点,阳顺阴逆布于天盘。",[["日干支",O],["时支",`${o(i.hourZhi)}时`],["月将",`${o(h.zhi)}(${o(h.name)})`],["昼夜 / 贵人",`${o(i.dayNight)} / ${o(c.zhi)}(${c.reverse?"逆布":"顺布"})`]],t.map(F=>`${F.di}→${F.tian}${F.jiang?`(${o(F.jiang)})`:""}`).join("|")||"无天地盘数据","《大六壬大全》卷二·神将释(月将为十二支神,登明为首逆布);加时布盘属通行口诀,未标卷次;实现:engine/daliuren.js · tianDiPan()"),Ye=Z("sike","四课","四课:日干寄宫取第一课,日干上神再取第二课;日支取第三课,日支上神再取第四课;每课以上下五行论生克。",[["日干 / 日支",`${o(O[0])} / ${o(O[1])}`],["日干寄宫",o(T[O[0]])],["四课",r.map(F=>`${F.position}课 ${o(F.shang)}上${o(F.xia)}下`).join(";")||"—"]],r.map(F=>`${F.position}课 ${o(F.shang)}上${o(F.xia)}下${F.jiang?`·${o(F.jiang)}`:""}:${o(F.relation)}`).join(";")||"无四课数据","《大六壬大全》卷一·起例(十干寄宫);四课余下三课按通行口诀;实现:engine/daliuren.js · siKe()"),d=F=>F?`${o(F.position)}${o(F.zhi)}(${o(F.liuQin)}${F.xunKong?"·旬空":""},${o(F.jiang)}${F.jiangFull?`·${o(F.jiangFull)}`:""})`:"—",I=Z("sanchuan","三传","三传:先取贼克(下贼上优先),无则比用、涉害、遥克、昴星,再八专、伏吟、返吟;初传既定,中末以天盘依次递取。",[["课体",`${o(N.name)}(${o(N.detail)})`],["初传",d(y.chu)],["中传",d(y.zhong)],["末传",d(y.mo)]],`${d(y.chu)} → ${d(y.zhong)} → ${d(y.mo)}`,"《大六壬大全》卷一·起例(贼克法为首法,比用、涉害、遥克、昴星、八专、伏吟、返吟依次列后);实现:engine/daliuren.js · chuan()");return[we,Ye,I]}function m(i,t={}){if(!i||typeof i!="object")return null;let r=null;if(i.system==="liuyao"){let y=i;if(_(t.refresh))try{const h=Q(i,{direction:t.direction,gender:t.gender}),c=i.hexStrength&&i.hexStrength.month&&i.hexStrength.month.branch||i.useGodStrength&&i.useGodStrength.month&&i.useGodStrength.month.branch||null,N=i.dayGanZhi?i.dayGanZhi.branch:null;if(h.liuqin){const O=ae(i,h,{monthBranch:c,dayBranch:N}),we=re(i,h,{monthBranch:c,dayBranch:N});y={...i,useGod:h,useGodStrength:O||void 0,fushenAccess:we||void 0}}else y={...i,useGod:void 0,useGodStrength:void 0,fushenAccess:void 0}}catch{y=i}r=$(y,t)}else i.system==="bazi"?r=b(i):i.system==="ziwei"?r=p(i):i.system==="qimen"?r=w(i,t):i.system==="daliuren"&&(r=g(i));return r&&r.length?r:null}const f=i=>String(i??"").replace(/\\/g,"\\\\").replace(/\|/g,"\\|").replace(/\r?\n/g,"<br>");function s(i,t={}){if(!Array.isArray(i)||!i.length)return"";const r=t.system||"",h=[`# 推导链 · ${H[r]||"命盘"}`,"",`> ${i.length} 层;每层给出规则、输入、结果与出处。只读推导,不重算、不改盘面。`];return i.forEach((c,N)=>{if(!c)return;h.push("",`## ${N+1}. ${c.field||"(未命名字段)"}`,""),c.result&&h.push(`**结果**:${c.result}`,""),c.rule&&h.push(`**规则**:${c.rule}`,"");const O=Array.isArray(c.inputs)?c.inputs:[];if(O.length){h.push("| 项 | 值 |","| --- | --- |");for(const we of O)h.push(`| ${f(we&&we.label)} | ${f(we&&we.value)} |`);h.push("")}c.source&&h.push(`**出处**:${c.source}`,"")}),`${h.join(`
|
|
123
|
+
这是「文本层」的分歧,不是谁对谁错的判定:同一现象各派解释路径不同,本插件不替它们裁决,也不据此声称哪一种说法更准。`});const De=ne.filter(he=>he.status==="todo");return De.length&&L.push({key:"todo",label:"尚未实现(不猜)",text:De.map(he=>`· ${he.gist}${he.note?`——${he.note}`:""}`).join(`
|
|
124
|
+
`)}),{...l,dimensions:Me,sections:L,answer:l.answer||ln(S,v,{}),plain:l.plain||$n(S,v,{}),followups:xn(S,v),glossary:gn(_e,S.system),knowledgeCount:Me.reduce((he,He)=>he+(He.knowledge||[]).length,0),knowledgeNote:Cn,caveats:ne.map(he=>({id:he.id,gist:he.gist,status:he.status,statusLabel:rn[he.status]||he.status}))}}const ot={bazi:"八字(月令 · 十神 · 大运流年)",ziwei:"紫微(宫位 · 四化 · 大限流年)",liuyao:"六爻(卦宫 · 世应 · 动爻 · 日辰)",meihua:"梅花(体用 · 互卦 · 变卦)",daliuren:"六壬(月将加时 · 四课 · 三传)",qimen:"奇门(九宫 · 值符值使 · 用神)",tarot:"塔罗(牌阵 · 正逆位 · 元素)",hepan:"合盘(日主 · 夫妻宫 · 五行互补)"},In=l=>{const S=Array.isArray(l&&l.evidence)?l.evidence.length:0;return S>=3?"强":S>=2?"中":"弱"},_n=(l,S,v)=>mt({...l,moduleType:Ye[S.system]||"natal",system:S.system,systemLabel:d[S.system]||S.system,title:"解析与详解",dimensions:(l.dimensions||[]).map(X=>({...X,confidence:X.confidence||In(X)})),sections:l.sections||[],outline:l.outline||[],tables:l.tables||[],technique:ot[S.system]||d[S.system]||S.system,disclaimer:l.disclaimer||Z,limits:l.limits||On(S.system),guide:En,ask:v},S,v);function Dn(l,S){if(!D(l)||!l.system)return null;const v=ie(S);if(l.system==="qimen")return _n(cn(l,S),l,v);const X=Se[l.system];if(!X)return null;let C;try{C=X(l,v)}catch(Me){return{moduleType:Ye[l.system]||"natal",system:l.system,systemLabel:d[l.system]||l.system,title:"解析与详解",lead:"这一盘的解析暂未生成,请稍后重试。",dimensions:[],sections:[],outline:[],tables:[],technique:ot[l.system]||"",disclaimer:Z,error:String(Me&&Me.message),ask:v}}const Y=fe(C.dimensions||[],v,C.lead||"");return _n({lead:Y.lead,dimensions:Y.dims,sections:C.sections||[],outline:C.outline||[],tables:C.tables||[]},l,v)}return{DIMENSIONS:we,MODULE_TYPE:Ye,SYSTEM_LABEL:d,DIRECTIONS:I,DIRECTION_DEFAULT:F,dirOf:oe,hexInfo:ee,interpret:Dn}})(),J.followup=(function(){const{ZIWEI_STARS:U}=J["interpret-data"]||{},V=[{key:"career",label:"事业",words:["事业","工作","跳槽","升职","创业","职业","岗位","离职","加薪","面试","offer"]},{key:"wealth",label:"财富",words:["财","钱","收入","投资","买房","存款","亏","赚","分红"]},{key:"love",label:"感情",words:["感情","婚","恋","对象","分手","复合","姻缘","结婚","桃花"]},{key:"health",label:"健康",words:["健康","病","身体","手术","失眠","体检","医院"]},{key:"study",label:"学业",words:["学业","考试","学习","考研","考公","证书","升学"]},{key:"travel",label:"出行",words:["出行","搬家","旅行","出国","迁","远行"]}],ae={career:"官禄",wealth:"财帛",love:"夫妻",health:"疾厄",study:"官禄",travel:"迁移",overall:"命宫"},re=(p,w)=>{const g=String(p).match(/(20\d{2})\s*年?/);if(g)return Number(g[1]);const m=Array.isArray(w.liunian)&&w.liunian[0]?Number(w.liunian[0].year):null;return m?/明年/.test(p)?m+1:/后年/.test(p)?m+2:/去年/.test(p)?m-1:/今年|本年/.test(p)?m:null:null},te=p=>V.find(w=>w.words.some(g=>String(p).includes(g)))||null;function T(p,w){const g=re(w,p),m=te(w),f=Array.isArray(p.liunian)?p.liunian:[],s=Array.isArray(p.dayun?.list)?p.dayun.list:[],i=f.map(t=>t.year);if(g&&!f.some(t=>Number(t.year)===g))return{ok:!1,year:g,topic:m,answer:`这一盘已排的流年范围是 ${i[0]}–${i[i.length-1]},没有 ${g} 年。可以把问题改到范围内,或用 asOf 指定你想看的年份重新排盘。`,evidence:[`已排流年:${i.join("、")}`],confidence:"弱"};if(g){const t=f.find(O=>Number(O.year)===g),r=s.find(O=>Number(O.startAge)<=Number(t.age)&&Number(t.age)<=Number(O.startAge)+9)||null,y=t.luck?.tier||"平",h=(t.luck?.reasons||[]).slice(0,3),c=(t.relations||[]).join("、"),q=m?H(p,m.key):"";return{ok:!0,year:g,topic:m,answer:`${g} 年(${t.ganzhi})流年,十神为${t.stemTenGod||"—"},档位「${y}」;所行大运 ${r?`${r.ganzhi}(${r.luck?.tier||"平"})`:"未取到"}。${h.length?`理由:${h.join(",")}。`:""}${c?`与该年地支相关的原局关系:${c}。`:""}${q}`,evidence:[`流年 ${t.year} ${t.ganzhi}·${t.stemTenGod||""}·${y}`,r?`大运 ${r.ganzhi}·${r.luck?.tier||"平"}`:"",c?`原局关系 ${c}`:"",m?`问题方向:${m.label}`:""].filter(Boolean),confidence:r&&h.length?"强":"中"}}if(m){const t={wealth:"overall",study:"work",travel:"overall"}[m.key]||m.key,r=(p.interpret?.dimensions||[]).find(h=>h.key===m.key||h.key===t);if(r){const h=p.frame&&p.frame.godStats&&p.frame.godStats.groups||{},c=m.key==="wealth"?` 财星权重 ${Number(h.财||0)}(只作结构参考,不含金额)。`:"";return{ok:!0,year:null,topic:m,answer:`按${m.label}这条线看:${r.text}${c}${r.advice?` 建议:${r.advice}`:""}`,evidence:(r.evidence||[]).slice(0,4),confidence:r.confidence||"中"}}const y=p.frame&&p.frame.godStats&&p.frame.godStats.groups||{};if(Object.keys(y).length){const h=["比劫","食伤","财","官杀","印"].map(c=>`${c} ${Number(y[c]||0)}`);return{ok:!0,year:null,topic:m,answer:`「${m.label}」这条线,这一盘只带了盘面结构:${h.join("、")}。具体吉凶与建议需要解析层(排盘时加 withInterpret),追问这里不自行推演。`,evidence:h.slice(0,3),confidence:"弱"}}}return{ok:!1,year:null,topic:m,answer:`这个问题里没有识别到具体的年份或方面。可以这样问:「2027 年事业怎么样」「财运如何」「感情在 2028 年」;已排流年是 ${i[0]}–${i[i.length-1]}。`,evidence:[`可问年份:${i.join("、")}`],confidence:"弱"}}function _(p,w){const g=re(w,p),m=te(w),f=Array.isArray(p.liunian)?p.liunian:[];if(g&&!f.some(s=>Number(s.year)===g))return{ok:!1,year:g,topic:m,answer:`这一盘的流年表覆盖 ${f[0]?.year}–${f[f.length-1]?.year},没有 ${g} 年;可以换一个年份,或用 asOf 指定起点重新排盘。`,evidence:[`流年表:${f.map(s=>s.year).join("、")}`],confidence:"弱"};if(g){const s=f.find(t=>Number(t.year)===g),i=s.daxian||{};return{ok:!0,year:g,topic:m,answer:`${g} 年(${s.ganzhi},${s.age} 岁)流年命宫落在「${s.lifePalace?s.lifePalace.palace:"—"}」,四化为 ${(s.mutagen||[]).join("、")||"不明显"};所行大限${i.palace?`在${i.palace}(${i.start}–${i.end} 岁)`:"未取到"}。${m?`与「${m.label}」对应的宫位信号见下条依据。`:""}`,evidence:[`流年命宫 ${s.lifePalace?s.lifePalace.palace:"—"}(${s.lifePalace?s.lifePalace.branch:"—"})`,`四化 ${(s.mutagen||[]).join("、")||"不明显"}`,i.palace?`大限 ${i.palace}·${i.start}–${i.end}岁`:""].filter(Boolean),confidence:(s.mutagen||[]).length>=3?"强":"中"}}if(m){const s=ae[m.key]||"命宫",i=(p.palaces||[]).find(t=>t.palace===s);if(i){const t=(i.stars||[]).filter(y=>y.type==="主星").map(y=>y.name),r=t.map(y=>U[y]?.trait).filter(Boolean).slice(0,2).join(";");return{ok:!0,year:null,topic:m,answer:`「${m.label}」看${s}:主星${t.length?t.join("、"):"无正曜(借对宫)"}${r?`——${r}`:""}。宫支${i.branch},${i.stems,""}生年四化与煞星的影响需结合报告里的对应分节一起看。`,evidence:[`${s} ${i.branch}·${t.join("、")||"无正曜"}`,...(i.shensha||[]).slice(0,3)],confidence:t.length?"强":"弱"}}}return{ok:!1,year:null,topic:m,answer:"没有识别到具体年份或方面。可以问「2028 年事业」「感情怎么样」「财运在 2030 年」;也可以直接问某个宫位,如「夫妻宫」。",evidence:[],confidence:"弱"}}function H(p,w){return`这段时间可以重点对照报告里「${{career:"事业",wealth:"财富",love:"感情",health:"健康",study:"学业",travel:"出行"}[w]||"整体"}」一节看。`}function o(p,w){const g=te(w),m=Array.isArray(p.interpret?.sections)?p.interpret.sections:[],f=g?m.find(t=>t.label.includes(g.label)||t.text.includes(g.label)):null;if(f)return{ok:!0,year:null,topic:g,answer:f.text,evidence:[`引用分节:${f.label}`],confidence:"中"};const s=m[0];if(s)return{ok:!1,year:null,topic:g,answer:`这一盘的追问需要落到具体方面(事业 / 财富 / 感情 / 健康 / 学业 / 出行)。先看「${s.label}」这一节,或把问题说得更具体一点。`,evidence:[],confidence:"弱"};const i=String(p&&p.summary||"").trim();if(i){const t=i.split(`
|
|
125
|
+
`).map(y=>y.trim()).filter(Boolean),r=g?t.filter(y=>g.words.some(h=>y.includes(h))):[];return{ok:!0,year:null,topic:g,answer:r.length?`${g.label}相关的盘面字段:${r.slice(0,3).join(";")}。这一盘没带解析层,只列盘面事实,不在这里补吉凶结论。`:`这一盘没有解析层,只能按盘面字段回答;可问的方向:${V.map(y=>y.label).join(" / ")}。下面任取摘要是盘面原文,未作推演。`,evidence:(r.length?r:t).slice(0,4),confidence:"弱"}}return{ok:!1,year:null,topic:g,answer:"这一盘暂时没有可追问的分节,也没有摘要字段;先重新排一次盘,再问具体方面。",evidence:[],confidence:"弱"}}function A(p,w){const g=String(w||"").trim(),m=p&&p.system==="bazi"?T(p,g):p&&p.system==="ziwei"?_(p,g):o(p,g);return{question:g,...m}}const E={bazi:"八字(四柱)",ziwei:"紫微斗数",liuyao:"六爻",meihua:"梅花易数",daliuren:"大六壬",qimen:"奇门遁甲",tarot:"塔罗",hepan:"合盘",chenggu:"称骨",almanac:"黄历",zeri:"择日",star:"星座",numerology:"生命数字",mbti:"十六型人格",trend:"人生 K 线",fengshui:"风水",name:"起名",convert:"公农历互转"},Z=Object.freeze({bazi:["基本信息","四柱(日主/十神/藏干)","旺衰·格局·用神","合冲·神煞","起运·大运·流年","古籍依据"],ziwei:["基本信息","命宫/身宫与五行局","十二宫(主星/辅煞/四化)","格局与三方四正","大限/流年","古籍依据"],liuyao:["所问与用神","本卦/变卦(世应/动爻/六亲)","月建日辰(旺衰/空破)","应期线索","卦辞与依据"],meihua:["所问与体用","本卦/互卦/变卦","五行生克","应期与依据"],daliuren:["天地盘(月将/贵人)","四课","三传","课体与神将","依据"],qimen:["四柱与局数","九宫(星门神/天盘干)","用神落宫","门宫·干宫·十干克应","旺衰·击刑入墓","依据"],tarot:["问题与牌阵","逐牌(正逆/牌面/元素对应)","牌间关系","综合倾向","边界"],fengshui:["坐向与元运","运盘/山盘/向盘","旺山旺向","取象与边界"]}),j=Object.freeze(["基本信息","盘面事实","结构与关系","倾向","边界"]);function $(p){return Z[p]||j}function b(p,w={}){const g=E[p&&p.system]||p&&p.system||"未知体系",f=String(w&&w.question||"").trim()||"请先用一句白话讲清这张盘的主线,再指出最值得注意的一两处,并说明每处的具体依据。",s=Number.isFinite(w&&w.maxChars)&&w.maxChars>=400?w.maxChars:3e3,i=String(p&&p.summary||"").trim(),t=i.length>s,r=t?`${i.slice(0,s)}…(摘要已截断)`:i,y=w&&typeof w.interpret=="object"&&w.interpret||p&&typeof p.interpret=="object"&&p.interpret||null,h=String(y&&y.answer||"").trim(),c=String(y&&y.plain||"").trim(),q=[];h&&q.push(`直答:${h}`),c&&q.push(`说人话:${c}`);const we=["【命理追问】下面这张盘是命理插件刚排好的,请就着它回答我的问题;不用重新排盘,盘面字段已经够用。",`体系:${g}`,`所问:${f}`,"",...q.length?["——开场结论(插件已按同一套规则算好,开场先沿用这句;措辞可改,口径别换)——",...q,""]:[],"——盘面层次(从上到下读,别跳层)——",`${g}:${$(p&&p.system).join(" → ")}`,"先复述事实,再讲结构与时间;上一层没交代清楚,不要跳到下一层。","","——盘面摘要——",r||"(这张盘没有摘要字段,请先让我重新排一次。)",...String(p&&p.jing||"").trim()?["","——《周易》经文原文(本插件按三份底本互校照录,〔一作…〕是异文,不是改写)——",String(p.jing).trim()]:[],...p&&p.zuoyao&&p.zuoyao.verses?["",`——紫微杂曜安星诀(本盘开了全表,${p.zuoyao.placed.length} 颗已按下列诀安入;诀文出多处近代通行辑本并核,属通行说,不是《紫微斗数全书》原文)——`,String(p.zuoyao.verses).trim(),`未另立:${(p.zuoyao.skipped||[]).join(";")}`]:[],"","——回答要求——","读者不懂命理。按下面的骨架答;任何一句他看不懂,就算没写完:",q.length?"1) 开头一句结论:先沿用上面的「开场结论」,再用一句不用术语的话说清这张盘的主线——只读这一句也该有收获;":"1) 开头一句结论:不用术语,一句话说清这张盘的主线,只读这一句也该有收获;","2) 第二段只复述盘面骨架:按上面的层次用 2–4 行写事实(如四柱、格局、用神、大运),不掺倾向,让读者知道后面的判断从哪来;","3) 判断最多两条,按重要性排序,每条分四行写:"," 盘面|只引盘面已有的字(具体的柱、宫或爻、字段名),不掺解释;"," 白话|把上一行的术语当场翻成日常话——调候 / 化气 / 通关 / 空亡 / 争合 这类词必须落地,一个词只翻一次,不连续堆三个以上;"," 倾向|说「更可能……」,讲清它在现实里大概意味着什么,用概率语气;"," 边界|这条在什么情况下不成立;盘面没给的,直接写「这盘里看不出来」;","4) 收尾一句「如果只记一件事」:给一条能核对、能动手的观察点,并说明它出自上面哪条盘面依据;","5) 别把传统说法当成已证实的事实:不下绝对断言,也不用「肯定」「绝对」这类词,更不写「格局很好」「运程不顺」这种没有信息的空话。"].join(`
|
|
126
|
+
`);return{text:we,question:f,system:p&&p.system||"",label:g,chars:we.length,truncated:t}}return{followup:A,READING_ORDERS:Z,READING_ORDER_FALLBACK:j,readingOrderOf:$,askPrompt:b}})(),J.trace=(function(){const{PATTERN_TONE:U}=J.ziwei||{},{yongshenOf:V,yongshenStrength:ae,fushenAccess:re}=J.liuyao||{},{qimenYongshen:te}=J["qimen-interpret"]||{},{GAN_JI_GONG:T}=J.daliuren||{},{bool:_}=J.bool||{},H={liuyao:"六爻",bazi:"八字",ziwei:"紫微",qimen:"奇门",daliuren:"大六壬"},o=(i,t="—")=>i==null||i===""?t:String(i),A=(i,t="—")=>(Array.isArray(i)?i.filter(r=>r!=null&&r!=="").join("、"):"")||t,E=i=>i.map(([t,r])=>({label:String(t),value:o(r)})),Z=(i,t,r,y,h,c)=>({key:i,field:t,rule:o(r,""),inputs:E(y),result:o(h,""),source:o(c,"")});function j(i,t){return(Array.isArray(i)?i:[]).find(r=>r.position===t)||null}function $(i,t={}){const r=i.ben&&typeof i.ben=="object"?i.ben:{},y=Array.isArray(r.lines)?r.lines:[],h=i.bian&&typeof i.bian=="object"?i.bian:null,c=Array.isArray(i.cast&&i.cast.movingPositions)?i.cast.movingPositions:[],q=i.useGod&&typeof i.useGod=="object"?i.useGod:null,O=q&&q.direction||t.direction||"general",we=i.useGodStrength&&typeof i.useGodStrength=="object"?i.useGodStrength:null,Ye=i.hexStrength&&typeof i.hexStrength=="object"?i.hexStrength:null,d=i.fushenAccess&&typeof i.fushenAccess=="object"?i.fushenAccess:null,I=j(y,r.shi),F=j(y,r.ying),oe=we&&we.month||Ye&&Ye.month||null,ie=we&&we.day||Ye&&Ye.day||null,fe=Z("najia","纳甲","京房纳甲:八经卦各配天干与三爻地支,内卦取前三爻、外卦取后三爻;动爻再成变卦。",[["本卦",`${o(r.name)}(上${o(r.upper)}·下${o(r.lower)})`],["动爻",c.length?`${c.join("、")}爻`:"无(静卦)"],["变卦",h?`${o(h.name)}(上${o(h.upper)}·下${o(h.lower)})`:"无"]],y.map(ee=>`${ee.position}爻 ${o(ee.ganzhi)}${o(ee.element)}`).join("|"),"京房纳甲逐爻配干支五行;爻辰可对读《京氏易传》卷上各宫首卦注文;实现:engine/liuyao.js · NAJIA(八宫纳甲表)"),ke=Z("liuqin","六亲","以卦宫五行为「我」:同我为兄弟、生我为父母、我生为子孙、克我为官鬼、我克为妻财。",[["卦宫",`${o(r.palace)}(${o(r.palaceElement)})`],["爻五行",A([...new Set(y.map(ee=>ee.element))])],["日干起六神",`${o(i.dayGanZhi&&i.dayGanZhi.stem)}日`]],y.map(ee=>`${ee.position}爻 ${o(ee.liuqin)}(${o(ee.element)})`).join("|"),"以卦宫为「我」定六亲,六亲从宫主出(《火珠林》六亲根源);取用可对读《增删卜易》卷一·用神章第八;实现:engine/liuyao.js · liuqin()"),W=Z("shiying","世应","八宫首卦世在上爻,一世至五世依次初至五爻,游魂四爻、归魂三爻;应爻与世相隔三位。",[["卦名",`${o(r.name)}(${o(r.palace)})`],["世位",`${o(r.shi)}爻`],["应位",`${o(r.ying)}爻`]],`${o(r.shi)}爻${I?` ${o(I.liuqin)}·${o(I.ganzhi)}${o(I.element)}`:""}为世,${o(r.ying)}爻${F?` ${o(F.liuqin)}·${o(F.ganzhi)}${o(F.element)}`:""}为应`,"世位依八宫(首卦上爻、一至五世、游魂四、归魂三),逐卦标世应见《京氏易传》卷上;应爻隔三位属通行推步;实现:engine/liuyao.js · SHI_POSITION");let D;if(!q||!q.liuqin){const ee=O==="general"?"未选询问方向(当前为综合),未取用神":"未取到用神";D=Z("fushen","伏神","用神不上卦时,回本宫首卦的同位取伏神;飞伏之间只判生克与助压。",[["用神",q&&q.ask?q.ask:"未取"]],`${ee};本层不适用。`,"取伏之法参《增删卜易》卷二·飛伏神章第二十八;实现:engine/liuyao.js · yongshenOf()")}else if(q.missing){const ee=(q.fushen||[]).map(le=>{const ve=le.fei?`${o(le.fei.ganzhi)}${o(le.fei.element)}(${o(le.fei.liuqin)})`:"—";return`${le.position}爻 ${o(le.ganzhi)}${o(le.element)}(${o(le.liuqin)}),飞神 ${ve},${o(le.relation)}`}).join(";"),ue=d&&Array.isArray(d.items)?d.items.map(le=>`${le.position}爻${o(le.verdict)}`).join("、"):"";D=Z("fushen","伏神","用神不上卦时,回本宫首卦的同位取伏神;飞伏之间只判生克,再叠月建日辰给出伏条件,不换算应期。",[["用神",`${q.liuqin}(不上卦)`],["伏位",A((q.fushen||[]).map(le=>`${le.position}爻`))],["月建 / 日辰",`${o(oe&&oe.branch)} / ${o(ie&&ie.branch)}`]],`${ee||"本卦无此六亲,首卦同位也未取到伏神"}${ue?`;出伏:${ue}`:""}`,"《增删卜易》卷二·飛伏神章第二十八(用神不現,尋得伏神而遇生扶有用);实现:engine/liuyao.js · fushenAccess()")}else D=Z("fushen","伏神","用神已在卦上时不取伏神;伏神层只在本卦找不到用神时启用。",[["用神",q.liuqin],["在位",A((q.found||[]).map(ee=>`${ee.position}爻`))]],`用神 ${q.liuqin} 已在 ${A((q.found||[]).map(ee=>`${ee.position}爻`))},无需伏神。`,"取伏之法参《增删卜易》卷二·飛伏神章第二十八;实现:engine/liuyao.js · yongshenOf()");const k=we&&Array.isArray(we.lines)?we.lines.map(ee=>`${ee.position}爻${o(ee.branch)}${o(ee.element)}:月${o(ee.monthState)}·${o(ee.dayRelation)}`).join(";"):"",P=Z("wangsheng","旺衰","月建主这一段的旺衰(旺相休囚死),日辰看当天的生克扶压;只给状态标签,不折分数、不单独断吉凶。",[["月建",oe?`${o(oe.branch)}(${o(oe.element)})`:"缺"],["日辰",ie?`${o(ie.branch)}(${o(ie.element)})`:"缺"],["用神",q&&q.liuqin?q.liuqin:"未取"],["旬空",A(i.xunKong)]],[k?`用神:${k}${we.labels&&we.labels.length?`(${we.labels.join("、")})`:""}`:"用神:未取,只看全卦",Ye&&Ye.labels&&Ye.labels.length?`全卦:${Ye.labels.join("、")}`:""].filter(Boolean).join(";"),"《增删卜易》卷一·月將章第十六、日辰章第十七;实现:engine/liuyao.js · yongshenStrength / hexagramStrength");return[fe,ke,W,D,P]}function b(i){const t=i.strength&&typeof i.strength=="object"?i.strength:{},r=t.parts&&typeof t.parts=="object"?t.parts:{},y=r.season&&typeof r.season=="object"?r.season:{},h=i.frame&&typeof i.frame=="object"?i.frame:{},c=h.yongshen&&typeof h.yongshen=="object"?h.yongshen:{},q=h.primary&&typeof h.primary=="object"?h.primary:null,O=i.climate&&typeof i.climate=="object"?i.climate:{},we=h.godStats&&h.godStats.groups?h.godStats.groups:{},Ye=Z("strength","旺衰分值",o(t.method,"月令权重 + 地支藏干通根 + 天干帮扶,量化后分档。"),[["日主",i.dayMaster?`${o(i.dayMaster.stem)}(${o(i.dayMaster.element)})`:"—"],["月令",`${o(y.branch)}(${o(y.element)}·${o(y.word)},权重 ${o(y.weight)})`],["通根",`${A(r.roots)}(${o(r.rootScore)})`],["合会折根",A(r.structure,"无")],["天干帮扶 / 耗泄",`帮 ${A(r.helpers)};泄 ${A(r.drainers)}(${o(r.helpScore)})`],["虚透",A(r.virtualHelpers,"无")]],`${o(t.level)}(${o(t.score)} 分):${o(t.detail)}`,"本仓量化规则(月令权重 3/2/1/0.5/0、藏干通根、三会/三合/六合折根、虚透减半;非古籍定数);实现:engine/bazi.js · 旺衰量化"),d=o(h.primaryName||q&&q.name,"未取格局"),I=A((h.geju||[]).map(ve=>ve&&ve.name).filter(ve=>ve&&ve!==d),""),F=A(c.favor),oe=A(c.avoid),ie=A((c.disputed||[]).map(ve=>ve&&ve.element),""),fe=A((c.neutral||[]).map(ve=>ve?`${ve.element}(${ve.weight} 分)`:""),""),ke=c.tiaohou&&typeof c.tiaohou=="object"?c.tiaohou:O,W=ke&&ke.need?ke.need:null,D=[d==="未取格局"?d:`主格 ${d}${I?`;兼格 ${I}`:""}`,`喜 ${F},忌 ${oe}`,fe?`中性偏忌 ${fe}(近零,仍按忌参与行运评分)`:"",ie?`有争议 ${ie}`:"",ke&&ke.kind?`调候 ${o(ke.kind)}${W&&W.element?`,取 ${o(W.element)}`:""}${ke.avoidElement&&ke.avoidElement!=="—"?`,忌 ${o(ke.avoidElement)}`:""}`:""].filter(Boolean).join(";"),k=Z("geju","格局取用",o(c.method,"先按月令与透干取格,再以扶抑为主、调候校验取用。"),[["月令格",q?`${o(q.name)}(${o(q.kind)})`:"—"],["取格依据",q?o(q.evidence):"—"],["十神分量",Object.entries(we).map(([ve,Ae])=>`${ve}${Ae}`).join(" / ")||"—"],["调候",ke&&ke.kind?`${o(ke.kind)}${W&&W.element?` → ${o(W.element)}`:""}`:"—"]],`${D}`,"《子平真诠》八、论用神(专求月令);调候参《穷通宝鉴》五行总论;实现:engine/geju.js · yongshenOf()"),P=i.palaces&&typeof i.palaces=="object"?i.palaces:{},ee=i.pillars&&i.pillars.month?o(i.pillars.month.branch):"—",ue=i.pillars&&i.pillars.hour?o(i.pillars.hour.branch):"—",le=P.taiyuan?Z("palaces","胎元与命身宫","胎元=月干进一、月支进三;胎息=日干五合、日支六合;命宫=27 减生月与生时支、取模后加二;身宫=11 加两支、取模后加二;干支并入六十甲子。",[["生月 / 生时",`${ee} / ${ue}`],["胎元",`${o(P.taiyuan.ganzhi)}(月干进一、月支进三)`],["胎息",P.taixi?`${o(P.taixi.ganzhi)}(日干五合、日支六合)`:"—"],["命宫 / 身宫",`${o(P.minggong&&P.minggong.ganzhi)} / ${o(P.shengong&&P.shengong.ganzhi)}`]],`胎元 ${o(P.taiyuan.ganzhi)};${P.taixi?`胎息 ${o(P.taixi.ganzhi)};`:""}命宫 ${o(P.minggong&&P.minggong.ganzhi)};身宫 ${o(P.shengong&&P.shengong.ganzhi)}。四宫是辅助坐标,不单独折吉凶。`,"Tyme 1.5.4 四宫口径(与 ziwei.pub 704 组日期对拍);本仓未直接照录古籍章页;实现:engine/bazi.js · palaces"):null;return[Ye,k,...le?[le]:[]]}function p(i){const t=Array.isArray(i.patterns)?i.patterns:[],r=Object.keys(U).length,y=i.soul&&typeof i.soul=="object"?i.soul:{},h=i.bureau&&typeof i.bureau=="object"?i.bureau:{},c=t.map(q=>`${o(q.name)}:${o(q.evidence)}`).join(";");return[Z("patterns","格局命中条件",`已收录 ${r} 条格局,逐条校验命宫三方四正的星曜组合;只判结构成立与否,不折吉凶。`,[["命宫",o(y.ganzhi)],["五行局",o(h.name)],["命主 / 身主",`${o(i.lifeMaster)} / ${o(i.bodyMaster)}`],["命中数",`${t.length} / ${r}`]],t.length?`命中 ${t.length} 条:${c}`:"未命中已收录的格局条件(不表示命盘无结构,只是不在已收录清单内)。","《紫微斗数全书》卷三·论人命入格、谈星要论;实现:engine/ziwei.js · detectPatterns()")]}function w(i,t={}){const r=Array.isArray(i.palaces)?i.palaces:[],y=i.month&&typeof i.month=="object"?i.month:{},h=i.states&&typeof i.states=="object"?i.states:{},c=i.conditions&&typeof i.conditions=="object"?i.conditions:{},q=i.zhiFu&&typeof i.zhiFu=="object"?i.zhiFu:{},O=i.zhiShi&&typeof i.zhiShi=="object"?i.zhiShi:{},we=i.ma&&typeof i.ma=="object"?i.ma:{},Ye=i.siZhu&&typeof i.siZhu=="object"?i.siZhu:{},d=Z("facts","盘面事实","时家转盘奇门:节气与三元定阴阳遁与局数,旬首定值符星与值使门;值符随时干落宫,八神按阴阳遁顺布或逆布。",[["四柱",`${o(Ye.year)} ${o(Ye.month)} ${o(Ye.day)} ${o(Ye.time)}`],["节气 / 局",`${o(i.jieqi)} · ${o(i.dun)}${o(i.juNumber)}局(${o(i.juMethod)})`],["旬首",o(i.xunshou)],["值符 / 值使",`${o(q.star)}落${o(q.gong)}宫 / ${o(O.gate)}落${o(O.gong)}宫`],["空亡 / 驿马",`${A(i.kongWang)} / ${o(we.zhi)}${we.gong?`(${we.gong}宫)`:""}`]],r.map(ze=>`${ze.palace}宫 天${o(ze.tianPan)}·${o(ze.star)}·${o(ze.gate)}·${o(ze.god)}`).join("|")||"无九宫数据","《奇门遁甲统宗》卷一·奇门秘诀总赋(阴阳二遁、五日换元、超神接气);实现:engine/qimen.js · buildQimen()"),I=te(i,t.direction),F=I.rows.filter(ze=>ze.palace),oe=I.rows.filter(ze=>!ze.palace).map(ze=>ze.key),ie=F[0]||null,fe=Z("yongshen","用神落宫","按所问之事取用神:先取主用神、再取辅用神;以所落之宫的干、门、星、神整体取象,不单凭门名断事。",[["询问方向",I.label],["主用神",ie?`${ie.key} → ${ie.palace.palace}宫`:"未上盘"],["辅用神",F.slice(1).map(ze=>`${ze.key} → ${ze.palace.palace}宫`).join(";")||"无"],["主用神落宫",ie?`${o(ie.palace.star)}·${o(ie.palace.gate)}·${o(ie.palace.god)}·天盘${o(ie.palace.tianPan)}`:"—"]],F.length?`${I.note};${F.map(ze=>`${ze.key} 落 ${ze.palace.palace}宫(${o(ze.palace.star)}·${o(ze.palace.gate)}·${o(ze.palace.god)})`).join(",")}`+(oe.length?`;${oe.join("、")} 未上盘`:""):`${I.label}的用神均未上盘,属未决项;先按值符落宫参照。`,"本仓用神表(按所问之事取用,非古籍原文);实现:engine/qimen-interpret.js · qimenYongshen()"),ke=["旺","相","休","囚","死"],W=ze=>ke.filter(Nn=>ze&&Array.isArray(ze[Nn])&&ze[Nn].length).map(Nn=>`${Nn} ${ze[Nn].join("、")}`).join(";")||"—",D=Z("states","门/星/干旺衰","月令定五态:同月令之气为旺,月令所生为相,生月令为休,克月令为囚,月令所克为死;只判力量强弱,不合吉凶。",[["月令",`${o(y.branch)}(${o(y.element)})`],["门",W(h.gate)],["星",W(h.star)],["天盘干",W(h.stem)]],`门:${W(h.gate)};星:${W(h.star)};天盘干:${W(h.stem)}`,"《奇门遁甲统宗》卷三(旺相休囚);实现:engine/qimen.js · groupByState()"),k=[],P=[],ee=new Map;for(const ze of r){const Nn=ze.gateRelation||{};Nn.type==="门迫"?k.push(`${ze.palace}宫${o(ze.gate)}`):Nn.type==="宫制门"&&P.push(`${ze.palace}宫${o(ze.gate)}`);const be=ze.stemRelation||{};ze.tianPan&&be.type&&be.type!=="unknown"&&(ee.has(be.type)||ee.set(be.type,[]),ee.get(be.type).push(`${ze.palace}宫${ze.tianPan}`))}const le=["干克宫","宫克干","干生宫","宫生干","比和"].filter(ze=>ee.has(ze)).map(ze=>`${ze} ${ee.get(ze).join("、")}`).join(";")||"—",ve=(c.jiXing||[]).map(ze=>`${ze.palace}宫${o(ze.stem)}`),Ae=(c.ruMu||[]).map(ze=>`${ze.palace}宫${o(ze.stem)}`),mn=(c.liuYiRuMu||[]).map(ze=>`${ze.palace}宫${o(ze.stem)}`),ye=r.filter(ze=>ze.ganYing).map(ze=>`${ze.palace}宫 ${o(ze.ganYing.tian)}加${o(ze.ganYing.di)} ${o(ze.ganYing.name)}`).join(";"),nn=r.filter(ze=>ze.kong).map(ze=>`${ze.palace}宫`),Gn=Z("relations","宫位生克","门与宫同宫论生克:门克宫为门迫,宫克门为宫制门;天盘干对宫另论生克;击刑、入墓、空亡只作宫位条件,不单独断吉凶。",[["门迫",k.join("、")||"无"],["宫制门",P.join("、")||"无"],["天盘干 × 宫",le],["击刑 / 三奇入墓 / 六仪入墓",`${ve.join("、")||"无"} / ${Ae.join("、")||"无"} / ${mn.join("、")||"无"}`],["十干克应",ye||"—"],["空亡",nn.join("、")||"无"]],`门迫 ${k.length} 处、宫制门 ${P.length} 处;天盘干与宫:${le};击刑 ${ve.length} 处、三奇入墓 ${Ae.length} 处、六仪入墓 ${mn.length} 处、落空 ${nn.length} 宫。十干克应:${ye||"—"}。`,"《奇门遁甲统宗》卷二(八门迫制)、卷十一·玄机赋(中)(六仪击刑、三奇入墓);十干克应为本仓表;实现:engine/qimen.js · gatePalaceRelation() / stemPalaceRelation()、engine/qimen-ganying.js");return[d,fe,D,Gn]}function g(i){const t=Array.isArray(i.pan)?i.pan:[],r=Array.isArray(i.siKe)?i.siKe:[],y=i.sanChuan&&typeof i.sanChuan=="object"?i.sanChuan:{},h=i.yueJiang&&typeof i.yueJiang=="object"?i.yueJiang:{},c=i.guiren&&typeof i.guiren=="object"?i.guiren:{},q=i.geJu&&typeof i.geJu=="object"?i.geJu:{},O=o(i.dayGanZhi,""),we=Z("tiandipan","天地盘","月将加时:中气换将,月将加于占时之上,顺布十二支成天盘;十二天将以日干昼夜贵人为起点,阳顺阴逆布于天盘。",[["日干支",O],["时支",`${o(i.hourZhi)}时`],["月将",`${o(h.zhi)}(${o(h.name)})`],["昼夜 / 贵人",`${o(i.dayNight)} / ${o(c.zhi)}(${c.reverse?"逆布":"顺布"})`]],t.map(F=>`${F.di}→${F.tian}${F.jiang?`(${o(F.jiang)})`:""}`).join("|")||"无天地盘数据","《大六壬大全》卷二·神将释(月将为十二支神,登明为首逆布);加时布盘属通行口诀,未标卷次;实现:engine/daliuren.js · tianDiPan()"),Ye=Z("sike","四课","四课:日干寄宫取第一课,日干上神再取第二课;日支取第三课,日支上神再取第四课;每课以上下五行论生克。",[["日干 / 日支",`${o(O[0])} / ${o(O[1])}`],["日干寄宫",o(T[O[0]])],["四课",r.map(F=>`${F.position}课 ${o(F.shang)}上${o(F.xia)}下`).join(";")||"—"]],r.map(F=>`${F.position}课 ${o(F.shang)}上${o(F.xia)}下${F.jiang?`·${o(F.jiang)}`:""}:${o(F.relation)}`).join(";")||"无四课数据","《大六壬大全》卷一·起例(十干寄宫);四课余下三课按通行口诀;实现:engine/daliuren.js · siKe()"),d=F=>F?`${o(F.position)}${o(F.zhi)}(${o(F.liuQin)}${F.xunKong?"·旬空":""},${o(F.jiang)}${F.jiangFull?`·${o(F.jiangFull)}`:""})`:"—",I=Z("sanchuan","三传","三传:先取贼克(下贼上优先),无则比用、涉害、遥克、昴星,再八专、伏吟、返吟;初传既定,中末以天盘依次递取。",[["课体",`${o(q.name)}(${o(q.detail)})`],["初传",d(y.chu)],["中传",d(y.zhong)],["末传",d(y.mo)]],`${d(y.chu)} → ${d(y.zhong)} → ${d(y.mo)}`,"《大六壬大全》卷一·起例(贼克法为首法,比用、涉害、遥克、昴星、八专、伏吟、返吟依次列后);实现:engine/daliuren.js · chuan()");return[we,Ye,I]}function m(i,t={}){if(!i||typeof i!="object")return null;let r=null;if(i.system==="liuyao"){let y=i;if(_(t.refresh))try{const h=V(i,{direction:t.direction,gender:t.gender}),c=i.hexStrength&&i.hexStrength.month&&i.hexStrength.month.branch||i.useGodStrength&&i.useGodStrength.month&&i.useGodStrength.month.branch||null,q=i.dayGanZhi?i.dayGanZhi.branch:null;if(h.liuqin){const O=ae(i,h,{monthBranch:c,dayBranch:q}),we=re(i,h,{monthBranch:c,dayBranch:q});y={...i,useGod:h,useGodStrength:O||void 0,fushenAccess:we||void 0}}else y={...i,useGod:void 0,useGodStrength:void 0,fushenAccess:void 0}}catch{y=i}r=$(y,t)}else i.system==="bazi"?r=b(i):i.system==="ziwei"?r=p(i):i.system==="qimen"?r=w(i,t):i.system==="daliuren"&&(r=g(i));return r&&r.length?r:null}const f=i=>String(i??"").replace(/\\/g,"\\\\").replace(/\|/g,"\\|").replace(/\r?\n/g,"<br>");function s(i,t={}){if(!Array.isArray(i)||!i.length)return"";const r=t.system||"",h=[`# 推导链 · ${H[r]||"命盘"}`,"",`> ${i.length} 层;每层给出规则、输入、结果与出处。只读推导,不重算、不改盘面。`];return i.forEach((c,q)=>{if(!c)return;h.push("",`## ${q+1}. ${c.field||"(未命名字段)"}`,""),c.result&&h.push(`**结果**:${c.result}`,""),c.rule&&h.push(`**规则**:${c.rule}`,"");const O=Array.isArray(c.inputs)?c.inputs:[];if(O.length){h.push("| 项 | 值 |","| --- | --- |");for(const we of O)h.push(`| ${f(we&&we.label)} | ${f(we&&we.value)} |`);h.push("")}c.source&&h.push(`**出处**:${c.source}`,"")}),`${h.join(`
|
|
121
127
|
`).trimEnd()}
|
|
122
|
-
`}return{SYSTEM_LABEL:H,buildTrace:m,traceMarkdown:s}})(),J.revise=(function(){const U=[{key:"ziwei",label:"紫微",re:/紫微|斗数/},{key:"bazi",label:"八字",re:/八字|四柱/},{key:"liuyao",label:"六爻",re:/六爻|摇卦/},{key:"qimen",label:"奇门",re:/奇门/},{key:"daliuren",label:"大六壬",re:/大六壬|六壬/},{key:"tarot",label:"塔罗",re:/塔罗|抽牌/},{key:"meihua",label:"梅花",re:/梅花/},{key:"hepan",label:"合盘",re:/合盘|合婚/},{key:"almanac",label:"黄历",re:/黄历|老黄历/},{key:"zeri",label:"择日",re:/择日|挑日子/},{key:"fengshui",label:"风水",re:/风水/},{key:"name",label:"起名",re:/起名|取名/},{key:"chenggu",label:"称骨",re:/称骨/},{key:"xiaoliuren",label:"小六壬",re:/小六壬/},{key:"star",label:"星座",re:/星座/},{key:"numerology",label:"生命数字",re:/生命数字|生命灵数/},{key:"mbti",label:"MBTI",re:/mbti|人格测试|十六型/i},{key:"trend",label:"人生 K 线",re:/k\s*线|人生曲线/i},{key:"convert",label:"公农历互转",re:/农历转公历|公历转农历|公农历/}],Q=[{key:"love",label:"感情",re:/感情|婚姻|恋爱|对象|夫妻/},{key:"wealth",label:"财运",re:/财运|财富|赚钱|收入|破财/},{key:"career",label:"事业",re:/事业|工作|升职|跳槽/},{key:"health",label:"健康",re:/健康|身体|疾病|病/},{key:"study",label:"学业",re:/学业|考试|考研|升学|读书/},{key:"travel",label:"出行",re:/出行|搬家|迁移|旅行|外地/}],ae=/换成|改成|改为|换到|改看|再看|再看一下|换一套|排一?张|用|按|看/,re=o=>String(o||"").replace(/(出生|出生地|所在地|人)$/,"").replace(/[的了].*$/,"").trim();function ne(o){const A=String(o??"").trim(),q={},Z=[],j=[];if(!A)return{text:"",patch:q,labels:Z,ignored:j};if(ae.test(A)){for(const p of U)if(p.re.test(A)){q.system=p.key,Z.push({key:"system",label:"体系",value:p.key,display:p.label});break}}/女命|女性|换成女|改成女|女盘/.test(A)?(q.gender="female",Z.push({key:"gender",label:"性别",value:"female",display:"女"})):/男命|男性|换成男|改成男|男盘/.test(A)&&(q.gender="male",Z.push({key:"gender",label:"性别",value:"male",display:"男"})),/晚子时/.test(A)&&(/不换日|不换天|算当日|归当日|按当日|当天/.test(A)?(q.lateZi=!1,Z.push({key:"lateZi",label:"晚子时",value:!1,display:"23:00 后仍算当日"})):/换日|算次日|归次日|按次日|第二天|次日/.test(A)&&(q.lateZi=!0,Z.push({key:"lateZi",label:"晚子时",value:!0,display:"23:00 后算次日"}))),/真太阳时/.test(A)&&(/不用|不要|关闭|关掉|取消|不算/.test(A)?(q.trueSolar=!1,Z.push({key:"trueSolar",label:"真太阳时",value:!1,display:"用东八区平太阳时"})):(q.trueSolar=!0,Z.push({key:"trueSolar",label:"真太阳时",value:!0,display:"按出生地经度校正"}))),/夏令时/.test(A)&&(/不用|不要|关闭|关掉|取消|不校正/.test(A)?(q.dst=!1,Z.push({key:"dst",label:"夏令时",value:!1,display:"不自动校正 1986–1991 夏令时"})):(q.dst=!0,Z.push({key:"dst",label:"夏令时",value:!0,display:"自动校正 1986–1991 夏令时"})));const $=A.match(/出生在\s*([\u4e00-\u9fa5]{2,12})/)||A.match(/出生地(?:改成|改为|换成|换到|是|为)?\s*([\u4e00-\u9fa5]{2,12})/)||A.match(/改到\s*([\u4e00-\u9fa5]{2,12})\s*出生/);if($){const p=re($[1]);p.length>=2&&(q.address=p,Z.push({key:"address",label:"出生地",value:p,display:p}))}const b=A.match(/(?:看|查|问|到|到了|临近)\s*((?:19|20)\d{2})\s*年/)||A.match(/((?:19|20)\d{2})\s*年(?:的)?(?:运势|怎么样|如何|会怎样|流年)/);if(b){const p=Number(b[1]);q.asOf=`${p}-01-01T00:00`,Z.push({key:"asOf",label:"流年基准",value:q.asOf,display:`${p} 年`})}else/(出生|生年)/.test(A)&&/(19|20)\d{2}\s*年/.test(A)&&j.push("出生年份没改:一句话改不出日与时辰,请直接传 datetime(如 1993-04-08T06:20)");for(const p of Q)if(p.re.test(A)){q.direction=p.key,Z.push({key:"direction",label:"询问方向",value:p.key,display:p.label});break}return/解读|详解|详细说|说人话/.test(A)&&!/不要解读|不用解读|别解读/.test(A)&&(q.withInterpret=!0,Z.push({key:"withInterpret",label:"解读",value:!0,display:"附解析与详解"})),{text:A,patch:q,labels:Z,ignored:j}}const T=U,_=Q;function H(o,A){if(A==null)return null;if(o==="system"){const q=U.find(Z=>Z.key===A);return q?q.label:String(A)}if(o==="gender")return A==="female"?"女":A==="male"?"男":String(A);if(o==="direction"){const q=Q.find(Z=>Z.key===A);return q?q.label:String(A)}if(typeof A=="boolean")return A?"开":"关";if(o==="asOf"){const q=String(A).match(/^(\d{4})/);return q?`${q[1]} 年`:String(A)}return String(A)}return{parseRevision:ne,REVISE_SYSTEMS:T,REVISE_DIRECTIONS:_,displayValue:H}})(),J.handle=(function(){const{fail:U}=J.fail||{},Q="mc1.",ae=new Set(["handle","trace","shadow","shadowVersion","diff","withInterpret","detail","cross","verifyPast","rectify","events","ask","followup","question","geocode","caliber","geo","longitudeFromGeo","revise"]),re=i=>i!==null&&typeof i=="object"&&!Array.isArray(i);function ne(i){if(Array.isArray(i))return`[${i.map(r=>ne(r===void 0?null:r)).join(",")}]`;if(re(i))return`{${Object.keys(i).filter(y=>i[y]!==void 0).sort().map(y=>`${JSON.stringify(y)}:${ne(i[y])}`).join(",")}}`;const t=JSON.stringify(i===void 0?null:i);return t===void 0?"null":t}function T(i){let t=2166136261;for(let r=0;r<i.length;r++)t^=i.charCodeAt(r),t=Math.imul(t,16777619)>>>0;return t.toString(16).padStart(8,"0")}const _="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";function H(i){const t=[];for(const r of String(i)){let y=r.codePointAt(0);y<128?t.push(y):y<2048?t.push(192|y>>6,128|y&63):y<65536?t.push(224|y>>12,128|y>>6&63,128|y&63):t.push(240|y>>18,128|y>>12&63,128|y>>6&63,128|y&63)}return t}function o(i){let t="";for(let r=0;r<i.length;){const y=i[r];let h,c;y<128?(h=y,c=1):y<224?(h=y&31,c=2):y<240?(h=y&15,c=3):(h=y&7,c=4);for(let N=1;N<c;N++)h=h<<6|i[r+N]&63;r+=c,t+=String.fromCodePoint(h)}return t}function A(i){const t=H(i);let r="";for(let y=0;y<t.length;y+=3){const h=t[y],c=t[y+1],N=t[y+2];if(r+=_[h>>2],r+=_[(h&3)<<4|(c===void 0?0:c)>>4],c===void 0||(r+=_[(c&15)<<2|(N===void 0?0:N)>>6],N===void 0))break;r+=_[N&63]}return r}function q(i){const t=[];let r=0,y=0;for(const h of i){const c=_.indexOf(h);if(c<0)throw new Error(`不是 base64url 字符:${h}`);r=r<<6|c,y+=6,y>=8&&(y-=8,t.push(r>>y&255))}return o(t)}function Z(i={}){const t={};for(const[r,y]of Object.entries(i||{}))ae.has(r)||y===void 0||(t[r]=y);return t}function j(i={}){const t=Z(i);if(!Object.keys(t).length)return"";const r=A(ne(t));return`${Q}${r}.${T(r)}`}function $(i){if(typeof i!="string"||!i.trim())throw U("E_HANDLE","handle 必须是非空字符串;没拿到句柄时照常传 system + datetime 等原始参数即可");const t=i.trim();if(!t.startsWith(Q))throw U("E_HANDLE",`handle 前缀不对(应以 ${Q} 开头):句柄来自旧版本或复制不全,重新排一次盘取新的 handle`);const r=t.slice(Q.length),y=r.lastIndexOf(".");if(y<=0)throw U("E_HANDLE","handle 缺少校验位:复制时可能被截断,重新取一次");const h=r.slice(0,y),c=r.slice(y+1);if(T(h)!==c)throw U("E_HANDLE","handle 校验不通过:内容被改动或截断,重新排一次盘取新的 handle");let N;try{N=JSON.parse(q(h))}catch{throw U("E_HANDLE","handle 内容无法解析(不是本插件生成的句柄),重新排一次盘取新的 handle")}if(!re(N))throw U("E_HANDLE","handle 内容不是参数对象,重新排一次盘取新的 handle");return N}const b=new Set(["__proto__","constructor","prototype"]),p={hour:["chenggu","xiaoliuren","name"],minute:["name"],date:["xiaoliuren"],mode:["convert","meihua","xiaoliuren"],action:["fengshui","name"]};function w(i,t){if(!re(i))return i;const r=i.system;if(typeof r!="string"||!r)return i;for(const[y,h]of Object.entries(p))t.has(y)||i[y]===void 0||h.includes(r)||delete i[y];return i}function g(...i){const t=new Set;for(const r of i)if(re(r))for(const[y,h]of Object.entries(r))h!==void 0&&y!=="handle"&&t.add(y);return t}function m(i={}){if(!re(i))return i;const{handle:t,...r}=i;if(t==null||t==="")return{...r};const h={...$(t)};for(const[c,N]of Object.entries(r))N===void 0||b.has(c)||(h[c]=N);return w(h,g(r)),h}return{handlePayload:Z,encodeHandle:j,decodeHandle:$,pruneForeignKeys:w,ownedKeys:g,resolveHandle:m,HANDLE_PREFIX:Q,handleChecksum:T}})(),J.bridge=(function(){const{encodeHandle:U,decodeHandle:Q,HANDLE_PREFIX:ae}=J.handle||{},{askPrompt:re}=J.followup||{},ne=200,T=60,_={bazi:"八字",ziwei:"紫微",liuyao:"六爻",meihua:"梅花",daliuren:"大六壬",qimen:"奇门",hepan:"合盘",tarot:"塔罗",almanac:"黄历",zeri:"择日",chenggu:"称骨",xiaoliuren:"小六壬",star:"星座",numerology:"生命数字",mbti:"人格",trend:"人生K线",fengshui:"风水",name:"起名",convert:"农历"},H=m=>_[m]||m||"未知体系";function o(m){const f=String(m||""),s=f.indexOf("#");return s<0?f:f.slice(0,s)}function A(m){try{return encodeURIComponent(m)}catch{return""}}function q(m){try{return decodeURIComponent(m)}catch{return String(m||"")}}function Z(m={},f={}){const s=f||{},t=String(s.handle||m&&m.handle||"").trim()||U(m||{});if(!t||!t.startsWith(ae))return"";const r=String(s.question||"").trim().slice(0,ne),y=[`mp=${t}`];return r&&y.push(`q=${A(r)}`),`${o(s.base)}#${y.join("&")}`}function j(m){const f=String(m||"").trim();if(!f)return{ok:!1,code:"E_LINK",message:"没有链接内容:请粘贴带 #mp= 的完整链接"};let s="";const i=f.indexOf("#");if(i>=0&&f.slice(i+1).trim())s=f.slice(i+1).trim();else{const h=f.indexOf("?");h>=0&&f.slice(h+1).trim()?s=f.slice(h+1).trim():/^mp=/.test(f)&&(s=f)}if(!s)return{ok:!1,code:"E_LINK",message:"链接里没有 #mp= 片段:这不是本插件生成的深链"};const t={};for(const h of s.split("&")){if(!h)continue;const c=h.indexOf("=");if(c<=0)continue;const N=h.slice(0,c),O=h.slice(c+1);N==="mp"?t.mp=O:N==="q"&&(t.q=O)}if(!t.mp)return{ok:!1,code:"E_LINK",message:"链接里没有 mp 参数(只有问题没有盘):无法还原盘面"};let r;try{r=Q(t.mp)}catch(h){return{ok:!1,code:h&&h.code||"E_HANDLE",message:h&&h.message||"句柄无法解析"}}const y=t.q?q(t.q).slice(0,ne):"";return{ok:!0,handle:t.mp,args:r,question:y,system:r.system||"",label:H(r.system)}}const $=m=>{const f=/^(\d{4}-\d{1,2}-\d{1,2})[T ](\d{1,2}:\d{2})/.exec(String(m||"").trim());if(!f)return{date:"",time:""};const[s,i,t]=f[1].split("-");return{date:`${s}-${String(i).padStart(2,"0")}-${String(t).padStart(2,"0")}`,time:f[2].padStart(5,"0")}},b=["gender","address","trueSolar","lateZi","lines"];function p(m){const f=m&&m.ok?m:null,s=f&&f.args||{},i=$(s.datetime),t={tab:s.system||"",date:i.date,time:i.time,question:f&&f.question||"",restored:[],rest:{}};t.tab&&t.restored.push("system"),i.date&&t.restored.push("datetime");for(const r of b)s[r]===void 0||s[r]===null||(t[r]=s[r],t.restored.push(r));t.question&&t.restored.push("question");for(const[r,y]of Object.entries(s))r==="system"||r==="datetime"||b.includes(r)||(t.rest[r]=y);return t}function w(m){const f=Object.keys(m&&m.rest||{});return f.length?`链接里还有 ${f.length} 项没填回表单(${f.join("、")}):这些只在引擎调用里生效,页面上按默认值显示。`:""}function g(m,f={}){const s=f||{},i=m||{},t=i.system||"",r=H(t),y=String(s.question||"").trim(),h=String(i.handle||"").trim();let c="";try{const I=re(i,{question:y,interpret:s.interpret});c=I&&I.text||String(i.summary||"")}catch{c=String(i.summary||"")}const N=y?y.length>T?`${y.slice(0,T)}…`:y:"(未填问题:按摘要讲主线)",O=h?`【命理追问】${r}|${h}|问:${N}`:`【命理追问】${r}|问:${N}`,we={};h&&(we.handle=h),t&&(we.system=t),y&&(we.question=y);const Ye=JSON.stringify({tool:"metaphysics",v:1,args:we},null,2),d=h?Z({handle:h},{question:y,base:s.base}):"";return{system:t,label:r,handle:h,question:y,full:c,brief:O,structured:Ye,link:d}}return{LINK_MAX_QUESTION:ne,askLink:Z,parseAskLink:j,formOf:p,restNote:w,askPackages:g}})(),J["qimen-prompt"]=(function(){const{xunShouLiuYi:U}=J.qimen||{},Q="qimen-1",ae={1:{dir:"正北",field:"坎宫:向内、暗中、流动、基础"},2:{dir:"西南",field:"坤宫:承载、家庭、土地、执行方"},3:{dir:"正东",field:"震宫:启动、动作、速度、竞争"},4:{dir:"东南",field:"巽宫:沟通、文书、渐进、反复"},5:{dir:"正中",field:"中宫:枢纽;无门无神,按寄宫(多寄坤二)取用,读时要说清是寄宫"},6:{dir:"西北",field:"乾宫:上级、规则、外部权威、主导方"},7:{dir:"正西",field:"兑宫:口舌、谈判、交易、愉悦"},8:{dir:"东北",field:"艮宫:停滞、门槛、转向、积累"},9:{dir:"正南",field:"离宫:显露、名声、扩散、明亮"}},re={开门:"启动、公开、对外推进、正式场合",休门:"休息、等待、缓和、暂缓",生门:"生长、收益、资源、可持续",伤门:"损耗、冲突、风险、代价",杜门:"阻碍、隐藏、不宜张扬、需要绕过",景门:"信息、名声、曝光、文书往来",死门:"停止、收尾、不可再推、需要换路",惊门:"变动、惊吓、口舌、突发"},ne={career:{label:"工作 / 事业",gate:"开门",subjects:[{key:"self",name:"我",how:"dayStem",why:"日干代表提问者本人;先定位「我现在在哪一宫」,才谈得上后面谁克谁。"},{key:"job",name:"这份工作本身",how:"gate:开门",why:"开门的本义是「开启、公开、正式」,对应岗位与正式机会,所以用它代表工作这个对象,而不是代表结果好坏。"},{key:"boss",name:"上司 / 决策人",how:"zhiFu",why:"值符是全局主导之神,代表有拍板权的一方;谈成不成,最终看这一宫的状态与它和日干宫的关系。"},{key:"peer",name:"同事 / 竞争者",how:"monthStem",why:"月干为同辈;同岗竞争、内部评价这类事落在这里。"}]},love:{label:"感情 / 关系",gate:"休门",subjects:[{key:"self",name:"我",how:"dayStem",why:"日干为我。"},{key:"other",name:"对方",how:"hourStem",why:"时干代表所问之事与对方;感情里问「他怎么样」,时干就是那个人此刻的状态。"},{key:"bond",name:"你俩的连接",how:"god:六合",why:"六合主结合、撮合、连结;看连接本身有没有被冲开或合住,比看单方态度更接近真相。"}]},business:{label:"生意 / 合作",gate:"生门",subjects:[{key:"self",name:"我方",how:"dayStem",why:"日干为我方。"},{key:"partner",name:"对方 / 合作方",how:"hourStem",why:"时干代表对方与所谈之事。"},{key:"chance",name:"项目机会",how:"gate:生门",why:"生门主生长与收益,用它代表「这个机会能不能长出东西」。"},{key:"resource",name:"资源与条件",how:"gate:开门",why:"开门代表公开的资源、渠道、正式手续;有没有真资源,看这一宫有没有被制。"},{key:"deal",name:"契约 / 撮合",how:"god:六合",why:"六合主合约与中间人;合作最怕的是「六合落空或受冲」,即说了不算。"}]},action:{label:"某件事能不能推进",gate:"开门",subjects:[{key:"self",name:"我",how:"dayStem",why:"日干为我。"},{key:"act",name:"这件事本身",how:"hourStem",why:"时干为事体:你要问的那件事,当下的状态在时干这一宫。"},{key:"env",name:"外部条件",how:"zhiShi",why:"值使门是「当下正在值班的门」,代表这件事所处的执行环境与节奏。"}]},day:{label:"挑日子 / 看时机",gate:"值使",subjects:[{key:"act",name:"要办的事",how:"hourStem",why:"时干为事体,先看它落在哪一宫、受不受制。"},{key:"env",name:"当天的执行环境",how:"zhiShi",why:"值使门代表当值之门,是这一天的主导形态,不把它当吉凶。"},{key:"self",name:"办事的人",how:"dayStem",why:"日干为办事人;人有空亡、受制,日子再好也执行不了。"}]},other:{label:"其他具体事",gate:"开门",subjects:[{key:"self",name:"我",how:"dayStem",why:"日干为我。"},{key:"act",name:"所问之事",how:"hourStem",why:"时干为事体。"},{key:"env",name:"当下环境",how:"zhiShi",why:"值使门代表当下的执行节奏。"}]}},T={career:["有没有书面邀约或正式通知?(口头承诺不算)","岗位职责、汇报对象、试用期写清楚了吗?","薪酬范围、发放方式、社保口径有没有落到纸面?","最坏情况是什么:试用不过、岗位撤销,你损失多少?"],love:["对方有没有具体行动:约见、介绍给朋友、共同计划?","这种投入持续了多久,还是一阵热?","有没有第三方牵涉(前任、家人、异地)?","你自己愿意为这段关系让渡什么,底线在哪?"],business:["资源清单能落到具体人、具体钱、具体渠道吗?","合同条款:出资、分账、违约、退出,哪条没写?","谁执行?执行人是全职还是顺手帮忙?","如果对方撤了,你一个人能不能收场?"],action:["这件事有没有截止日期?谁定的?","实际成本:钱、时间、人情,各多少?","做错了能不能退回去?可逆性有多高?","成功的样子长什么样,能不能用一句话说清?"],day:["当天必须到场的人确认了吗?","场地、材料、审批这些硬约束排除了吗?","有备选日期吗?排到第几位?","这一天之前的准备来得及吗?"],other:["这件事成功的样子,能用一件可观察的事描述吗?","有没有一个明确的时间点可以验证?","如果没成,你会先怀疑哪一环?","现在最该做的一件小事是什么?"]},_=["开头先用三到五句话回答他问的那件事,全用日常说法:不出现「用神、落宫、值符、生克」这些词。","每个术语第一次出现时,必须紧跟一句人话解释(例:「开门,就是这件事能不能摆到台面上正式推进」)。","不写「吉/凶」二字作结论,改写成人能执行的话:能推进 / 卡在谁那里 / 还缺什么条件 / 大概什么时候会有信号。","盘面给不出的东西(具体金额、对方心里怎么想、某天几点),直接说给不出,不要补。"],H=["只使用下面「盘面事实」里出现的符号。没给的宫、门、星、神,一律不许自己补。","不许说「这是生门所以好」「这是白虎所以凶」。门名与神名只说明形态,吉凶要看它和日干宫、时干宫的关系,以及有没有空亡、受制、入墓。","不给医疗、法律、投资的具体结论;这些只能建议去找对应专业人士。","不给公历日期。奇门这里只谈「什么条件下会有信号」,不谈「几月几号」。","不确定就写不确定,并说明缺哪条信息才能确定。"];function o(w,g){if(!g)return null;const m=(w.palaces||[]).find(s=>s.tianPan===g);if(m)return m;const f=w.centerPalace;return f&&f.tianPan===g?f:null}function A(w,g,m,f){const s=g&&g[m]?String(g[m]):"",i=s.charAt(0);if(!i)return{symbol:`${f}`,palace:null,missing:`四柱里没有${f}`};if(i!=="甲"){const y=o(w,i);return{symbol:`${f} ${i}`,palace:y,missing:y?"":`${f}${i}未现于天盘`}}const t=U(s),r=o(w,t);return{symbol:`${f} 甲(寄${t})`,palace:r,missing:r?"":`${f}甲寄${t},${t}未现于天盘`}}function q(w,g){return g&&(w.palaces||[]).find(m=>m.gate===g)||null}function Z(w,g){return g&&(w.palaces||[]).find(m=>m.god===g)||null}function j(w,g){const m=w.siZhu||{},f=String(g.how||"");if(f==="dayStem")return A(w,m,"day","日干");if(f==="hourStem")return A(w,m,"time","时干");if(f==="monthStem")return A(w,m,"month","月干");if(f==="zhiFu"){const s=w.zhiFu&&w.zhiFu.gong;return{symbol:`值符(${w.zhiFu&&w.zhiFu.star||""})`,palace:(w.palaces||[]).find(i=>i.palace===String(s))||null,missing:s?"":"没有值符落宫"}}if(f==="zhiShi"){const s=w.zhiShi&&w.zhiShi.gong;return{symbol:`值使(${w.zhiShi&&w.zhiShi.gate||""})`,palace:(w.palaces||[]).find(i=>i.palace===String(s))||null,missing:s?"":"没有值使落宫"}}if(f.startsWith("gate:")){const s=f.slice(5),i=q(w,s);return{symbol:`${s}`,palace:i,missing:i?"":`盘上没有${s}`}}if(f.startsWith("god:")){const s=f.slice(4),i=Z(w,s);return{symbol:`${s}`,palace:i,missing:i?"":`盘上没有${s}`}}return{symbol:f,palace:null,missing:`未知取法 ${f}`}}function $(w){if(!w)return"(这一项在盘上定位不到)";const g=ae[w.palace]||{dir:"",field:""},m=[`${w.palace} 宫(${g.dir})`,w.center?"中宫(无门无神,按寄宫取用)":`门:${w.gate||"—"}${w.gateRelation&&w.gateRelation.type?`(${w.gateRelation.type}:${w.gateRelation.note||""})`:""}`,`星:${w.star||"—"}`,w.center?"":`神:${w.god||"—"}`,`天盘 ${w.tianPan||"—"} / 地盘 ${w.diPan||"—"}${w.stemRelation&&w.stemRelation.type?`(${w.stemRelation.type})`:""}`];return w.kong&&m.push("空亡"),w.ma&&m.push("临马星"),w.ganYing&&w.ganYing.name&&m.push(`十干应克:${w.ganYing.name}`),m.join(" ")}const b=["你说「我」是哪个符号?为什么是它,不是别的?","机会在哪一宫、阻碍在哪一宫、对方态度在哪一宫?各自依据哪一条关系(生、克、合、冲、空、墓)?","盘上有没有相反提示?你为什么采信这一边,而不是那一边?"];function p(w,g={}){const m=w&&w.palaces?w:w&&w.qimen,f=ne[g.kind]?g.kind:"other",s=ne[f],i=String(g.question||"").replace(/\s+/g," ").trim().slice(0,200);if(g.timeKnown===!1||!m)return{version:Q,kind:f,blocked:!0,subjects:[],text:["先别起局——时间还不确定。","","奇门是按「起局那一刻」排盘的,时刻差一个时辰,九宫里的门、星、神全换一遍。所以先确认:","1)这盘是按现在这一刻起,还是按你打算行动的那一刻起?","2)你说的日期时间,是钟表时间还是农历?在哪个城市(真太阳时会差几分钟到十几分钟)?","","确认之后,再用同一句话把要问的事说清楚:主语 + 时间 + 可验证的结果,例如「下周三之前,这份工作的书面 offer 能不能拿到」。","在那之前,我不排盘,也不猜。"].join(`
|
|
123
|
-
`)};const t=s.subjects.map(h=>{const c=j(m,h);return{...h,symbol:c.symbol,palace:c.palace,missing:c.missing}}),r=m.siZhu||{},y=[`# 奇门问事解读(提示版本 ${
|
|
128
|
+
`}return{SYSTEM_LABEL:H,buildTrace:m,traceMarkdown:s}})(),J.revise=(function(){const U=[{key:"ziwei",label:"紫微",re:/紫微|斗数/},{key:"bazi",label:"八字",re:/八字|四柱/},{key:"liuyao",label:"六爻",re:/六爻|摇卦/},{key:"qimen",label:"奇门",re:/奇门/},{key:"daliuren",label:"大六壬",re:/大六壬|六壬/},{key:"tarot",label:"塔罗",re:/塔罗|抽牌/},{key:"meihua",label:"梅花",re:/梅花/},{key:"hepan",label:"合盘",re:/合盘|合婚/},{key:"almanac",label:"黄历",re:/黄历|老黄历/},{key:"zeri",label:"择日",re:/择日|挑日子/},{key:"fengshui",label:"风水",re:/风水/},{key:"name",label:"起名",re:/起名|取名/},{key:"chenggu",label:"称骨",re:/称骨/},{key:"xiaoliuren",label:"小六壬",re:/小六壬/},{key:"star",label:"星座",re:/星座/},{key:"numerology",label:"生命数字",re:/生命数字|生命灵数/},{key:"mbti",label:"MBTI",re:/mbti|人格测试|十六型/i},{key:"trend",label:"人生 K 线",re:/k\s*线|人生曲线/i},{key:"convert",label:"公农历互转",re:/农历转公历|公历转农历|公农历/}],V=[{key:"love",label:"感情",re:/感情|婚姻|恋爱|对象|夫妻/},{key:"wealth",label:"财运",re:/财运|财富|赚钱|收入|破财/},{key:"career",label:"事业",re:/事业|工作|升职|跳槽/},{key:"health",label:"健康",re:/健康|身体|疾病|病/},{key:"study",label:"学业",re:/学业|考试|考研|升学|读书/},{key:"travel",label:"出行",re:/出行|搬家|迁移|旅行|外地/}],ae=/换成|改成|改为|换到|改看|再看|再看一下|换一套|排一?张|用|按|看/,re=o=>String(o||"").replace(/(出生|出生地|所在地|人)$/,"").replace(/[的了].*$/,"").trim();function te(o){const A=String(o??"").trim(),E={},Z=[],j=[];if(!A)return{text:"",patch:E,labels:Z,ignored:j};if(ae.test(A)){for(const p of U)if(p.re.test(A)){E.system=p.key,Z.push({key:"system",label:"体系",value:p.key,display:p.label});break}}/女命|女性|换成女|改成女|女盘/.test(A)?(E.gender="female",Z.push({key:"gender",label:"性别",value:"female",display:"女"})):/男命|男性|换成男|改成男|男盘/.test(A)&&(E.gender="male",Z.push({key:"gender",label:"性别",value:"male",display:"男"})),/晚子时/.test(A)&&(/不换日|不换天|算当日|归当日|按当日|当天/.test(A)?(E.lateZi=!1,Z.push({key:"lateZi",label:"晚子时",value:!1,display:"23:00 后仍算当日"})):/换日|算次日|归次日|按次日|第二天|次日/.test(A)&&(E.lateZi=!0,Z.push({key:"lateZi",label:"晚子时",value:!0,display:"23:00 后算次日"}))),/真太阳时/.test(A)&&(/不用|不要|关闭|关掉|取消|不算/.test(A)?(E.trueSolar=!1,Z.push({key:"trueSolar",label:"真太阳时",value:!1,display:"用东八区平太阳时"})):(E.trueSolar=!0,Z.push({key:"trueSolar",label:"真太阳时",value:!0,display:"按出生地经度校正"}))),/夏令时/.test(A)&&(/不用|不要|关闭|关掉|取消|不校正/.test(A)?(E.dst=!1,Z.push({key:"dst",label:"夏令时",value:!1,display:"不自动校正 1986–1991 夏令时"})):(E.dst=!0,Z.push({key:"dst",label:"夏令时",value:!0,display:"自动校正 1986–1991 夏令时"})));const $=A.match(/出生在\s*([\u4e00-\u9fa5]{2,12})/)||A.match(/出生地(?:改成|改为|换成|换到|是|为)?\s*([\u4e00-\u9fa5]{2,12})/)||A.match(/改到\s*([\u4e00-\u9fa5]{2,12})\s*出生/);if($){const p=re($[1]);p.length>=2&&(E.address=p,Z.push({key:"address",label:"出生地",value:p,display:p}))}const b=A.match(/(?:看|查|问|到|到了|临近)\s*((?:19|20)\d{2})\s*年/)||A.match(/((?:19|20)\d{2})\s*年(?:的)?(?:运势|怎么样|如何|会怎样|流年)/);if(b){const p=Number(b[1]);E.asOf=`${p}-01-01T00:00`,Z.push({key:"asOf",label:"流年基准",value:E.asOf,display:`${p} 年`})}else/(出生|生年)/.test(A)&&/(19|20)\d{2}\s*年/.test(A)&&j.push("出生年份没改:一句话改不出日与时辰,请直接传 datetime(如 1993-04-08T06:20)");for(const p of V)if(p.re.test(A)){E.direction=p.key,Z.push({key:"direction",label:"询问方向",value:p.key,display:p.label});break}return/解读|详解|详细说|说人话/.test(A)&&!/不要解读|不用解读|别解读/.test(A)&&(E.withInterpret=!0,Z.push({key:"withInterpret",label:"解读",value:!0,display:"附解析与详解"})),{text:A,patch:E,labels:Z,ignored:j}}const T=U,_=V;function H(o,A){if(A==null)return null;if(o==="system"){const E=U.find(Z=>Z.key===A);return E?E.label:String(A)}if(o==="gender")return A==="female"?"女":A==="male"?"男":String(A);if(o==="direction"){const E=V.find(Z=>Z.key===A);return E?E.label:String(A)}if(typeof A=="boolean")return A?"开":"关";if(o==="asOf"){const E=String(A).match(/^(\d{4})/);return E?`${E[1]} 年`:String(A)}return String(A)}return{parseRevision:te,REVISE_SYSTEMS:T,REVISE_DIRECTIONS:_,displayValue:H}})(),J.handle=(function(){const{fail:U}=J.fail||{},V="mc1.",ae=new Set(["handle","trace","shadow","shadowVersion","diff","withInterpret","detail","cross","verifyPast","rectify","events","ask","followup","question","geocode","caliber","geo","longitudeFromGeo","revise"]),re=i=>i!==null&&typeof i=="object"&&!Array.isArray(i);function te(i){if(Array.isArray(i))return`[${i.map(r=>te(r===void 0?null:r)).join(",")}]`;if(re(i))return`{${Object.keys(i).filter(y=>i[y]!==void 0).sort().map(y=>`${JSON.stringify(y)}:${te(i[y])}`).join(",")}}`;const t=JSON.stringify(i===void 0?null:i);return t===void 0?"null":t}function T(i){let t=2166136261;for(let r=0;r<i.length;r++)t^=i.charCodeAt(r),t=Math.imul(t,16777619)>>>0;return t.toString(16).padStart(8,"0")}const _="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";function H(i){const t=[];for(const r of String(i)){let y=r.codePointAt(0);y<128?t.push(y):y<2048?t.push(192|y>>6,128|y&63):y<65536?t.push(224|y>>12,128|y>>6&63,128|y&63):t.push(240|y>>18,128|y>>12&63,128|y>>6&63,128|y&63)}return t}function o(i){let t="";for(let r=0;r<i.length;){const y=i[r];let h,c;y<128?(h=y,c=1):y<224?(h=y&31,c=2):y<240?(h=y&15,c=3):(h=y&7,c=4);for(let q=1;q<c;q++)h=h<<6|i[r+q]&63;r+=c,t+=String.fromCodePoint(h)}return t}function A(i){const t=H(i);let r="";for(let y=0;y<t.length;y+=3){const h=t[y],c=t[y+1],q=t[y+2];if(r+=_[h>>2],r+=_[(h&3)<<4|(c===void 0?0:c)>>4],c===void 0||(r+=_[(c&15)<<2|(q===void 0?0:q)>>6],q===void 0))break;r+=_[q&63]}return r}function E(i){const t=[];let r=0,y=0;for(const h of i){const c=_.indexOf(h);if(c<0)throw new Error(`不是 base64url 字符:${h}`);r=r<<6|c,y+=6,y>=8&&(y-=8,t.push(r>>y&255))}return o(t)}function Z(i={}){const t={};for(const[r,y]of Object.entries(i||{}))ae.has(r)||y===void 0||(t[r]=y);return t}function j(i={}){const t=Z(i);if(!Object.keys(t).length)return"";const r=A(te(t));return`${V}${r}.${T(r)}`}function $(i){if(typeof i!="string"||!i.trim())throw U("E_HANDLE","handle 必须是非空字符串;没拿到句柄时照常传 system + datetime 等原始参数即可");const t=i.trim();if(!t.startsWith(V))throw U("E_HANDLE",`handle 前缀不对(应以 ${V} 开头):句柄来自旧版本或复制不全,重新排一次盘取新的 handle`);const r=t.slice(V.length),y=r.lastIndexOf(".");if(y<=0)throw U("E_HANDLE","handle 缺少校验位:复制时可能被截断,重新取一次");const h=r.slice(0,y),c=r.slice(y+1);if(T(h)!==c)throw U("E_HANDLE","handle 校验不通过:内容被改动或截断,重新排一次盘取新的 handle");let q;try{q=JSON.parse(E(h))}catch{throw U("E_HANDLE","handle 内容无法解析(不是本插件生成的句柄),重新排一次盘取新的 handle")}if(!re(q))throw U("E_HANDLE","handle 内容不是参数对象,重新排一次盘取新的 handle");return q}const b=new Set(["__proto__","constructor","prototype"]),p={hour:["chenggu","xiaoliuren","name"],minute:["name"],date:["xiaoliuren"],mode:["convert","meihua","xiaoliuren"],action:["fengshui","name"]};function w(i,t){if(!re(i))return i;const r=i.system;if(typeof r!="string"||!r)return i;for(const[y,h]of Object.entries(p))t.has(y)||i[y]===void 0||h.includes(r)||delete i[y];return i}function g(...i){const t=new Set;for(const r of i)if(re(r))for(const[y,h]of Object.entries(r))h!==void 0&&y!=="handle"&&t.add(y);return t}function m(i={}){if(!re(i))return i;const{handle:t,...r}=i;if(t==null||t==="")return{...r};const h={...$(t)};for(const[c,q]of Object.entries(r))q===void 0||b.has(c)||(h[c]=q);return w(h,g(r)),h}return{handlePayload:Z,encodeHandle:j,decodeHandle:$,pruneForeignKeys:w,ownedKeys:g,resolveHandle:m,HANDLE_PREFIX:V,handleChecksum:T}})(),J.bridge=(function(){const{encodeHandle:U,decodeHandle:V,HANDLE_PREFIX:ae}=J.handle||{},{askPrompt:re}=J.followup||{},te=200,T=60,_={bazi:"八字",ziwei:"紫微",liuyao:"六爻",meihua:"梅花",daliuren:"大六壬",qimen:"奇门",hepan:"合盘",tarot:"塔罗",almanac:"黄历",zeri:"择日",chenggu:"称骨",xiaoliuren:"小六壬",star:"星座",numerology:"生命数字",mbti:"人格",trend:"人生K线",fengshui:"风水",name:"起名",convert:"农历"},H=m=>_[m]||m||"未知体系";function o(m){const f=String(m||""),s=f.indexOf("#");return s<0?f:f.slice(0,s)}function A(m){try{return encodeURIComponent(m)}catch{return""}}function E(m){try{return decodeURIComponent(m)}catch{return String(m||"")}}function Z(m={},f={}){const s=f||{},t=String(s.handle||m&&m.handle||"").trim()||U(m||{});if(!t||!t.startsWith(ae))return"";const r=String(s.question||"").trim().slice(0,te),y=[`mp=${t}`];return r&&y.push(`q=${A(r)}`),`${o(s.base)}#${y.join("&")}`}function j(m){const f=String(m||"").trim();if(!f)return{ok:!1,code:"E_LINK",message:"没有链接内容:请粘贴带 #mp= 的完整链接"};let s="";const i=f.indexOf("#");if(i>=0&&f.slice(i+1).trim())s=f.slice(i+1).trim();else{const h=f.indexOf("?");h>=0&&f.slice(h+1).trim()?s=f.slice(h+1).trim():/^mp=/.test(f)&&(s=f)}if(!s)return{ok:!1,code:"E_LINK",message:"链接里没有 #mp= 片段:这不是本插件生成的深链"};const t={};for(const h of s.split("&")){if(!h)continue;const c=h.indexOf("=");if(c<=0)continue;const q=h.slice(0,c),O=h.slice(c+1);q==="mp"?t.mp=O:q==="q"&&(t.q=O)}if(!t.mp)return{ok:!1,code:"E_LINK",message:"链接里没有 mp 参数(只有问题没有盘):无法还原盘面"};let r;try{r=V(t.mp)}catch(h){return{ok:!1,code:h&&h.code||"E_HANDLE",message:h&&h.message||"句柄无法解析"}}const y=t.q?E(t.q).slice(0,te):"";return{ok:!0,handle:t.mp,args:r,question:y,system:r.system||"",label:H(r.system)}}const $=m=>{const f=/^(\d{4}-\d{1,2}-\d{1,2})[T ](\d{1,2}:\d{2})/.exec(String(m||"").trim());if(!f)return{date:"",time:""};const[s,i,t]=f[1].split("-");return{date:`${s}-${String(i).padStart(2,"0")}-${String(t).padStart(2,"0")}`,time:f[2].padStart(5,"0")}},b=["gender","address","trueSolar","lateZi","lines"];function p(m){const f=m&&m.ok?m:null,s=f&&f.args||{},i=$(s.datetime),t={tab:s.system||"",date:i.date,time:i.time,question:f&&f.question||"",restored:[],rest:{}};t.tab&&t.restored.push("system"),i.date&&t.restored.push("datetime");for(const r of b)s[r]===void 0||s[r]===null||(t[r]=s[r],t.restored.push(r));t.question&&t.restored.push("question");for(const[r,y]of Object.entries(s))r==="system"||r==="datetime"||b.includes(r)||(t.rest[r]=y);return t}function w(m){const f=Object.keys(m&&m.rest||{});return f.length?`链接里还有 ${f.length} 项没填回表单(${f.join("、")}):这些只在引擎调用里生效,页面上按默认值显示。`:""}function g(m,f={}){const s=f||{},i=m||{},t=i.system||"",r=H(t),y=String(s.question||"").trim(),h=String(i.handle||"").trim();let c="";try{const I=re(i,{question:y,interpret:s.interpret});c=I&&I.text||String(i.summary||"")}catch{c=String(i.summary||"")}const q=y?y.length>T?`${y.slice(0,T)}…`:y:"(未填问题:按摘要讲主线)",O=h?`【命理追问】${r}|${h}|问:${q}`:`【命理追问】${r}|问:${q}`,we={};h&&(we.handle=h),t&&(we.system=t),y&&(we.question=y);const Ye=JSON.stringify({tool:"metaphysics",v:1,args:we},null,2),d=h?Z({handle:h},{question:y,base:s.base}):"";return{system:t,label:r,handle:h,question:y,full:c,brief:O,structured:Ye,link:d}}return{LINK_MAX_QUESTION:te,askLink:Z,parseAskLink:j,formOf:p,restNote:w,askPackages:g}})(),J["qimen-prompt"]=(function(){const{xunShouLiuYi:U}=J.qimen||{},V="qimen-1",ae={1:{dir:"正北",field:"坎宫:向内、暗中、流动、基础"},2:{dir:"西南",field:"坤宫:承载、家庭、土地、执行方"},3:{dir:"正东",field:"震宫:启动、动作、速度、竞争"},4:{dir:"东南",field:"巽宫:沟通、文书、渐进、反复"},5:{dir:"正中",field:"中宫:枢纽;无门无神,按寄宫(多寄坤二)取用,读时要说清是寄宫"},6:{dir:"西北",field:"乾宫:上级、规则、外部权威、主导方"},7:{dir:"正西",field:"兑宫:口舌、谈判、交易、愉悦"},8:{dir:"东北",field:"艮宫:停滞、门槛、转向、积累"},9:{dir:"正南",field:"离宫:显露、名声、扩散、明亮"}},re={开门:"启动、公开、对外推进、正式场合",休门:"休息、等待、缓和、暂缓",生门:"生长、收益、资源、可持续",伤门:"损耗、冲突、风险、代价",杜门:"阻碍、隐藏、不宜张扬、需要绕过",景门:"信息、名声、曝光、文书往来",死门:"停止、收尾、不可再推、需要换路",惊门:"变动、惊吓、口舌、突发"},te={career:{label:"工作 / 事业",gate:"开门",subjects:[{key:"self",name:"我",how:"dayStem",why:"日干代表提问者本人;先定位「我现在在哪一宫」,才谈得上后面谁克谁。"},{key:"job",name:"这份工作本身",how:"gate:开门",why:"开门的本义是「开启、公开、正式」,对应岗位与正式机会,所以用它代表工作这个对象,而不是代表结果好坏。"},{key:"boss",name:"上司 / 决策人",how:"zhiFu",why:"值符是全局主导之神,代表有拍板权的一方;谈成不成,最终看这一宫的状态与它和日干宫的关系。"},{key:"peer",name:"同事 / 竞争者",how:"monthStem",why:"月干为同辈;同岗竞争、内部评价这类事落在这里。"}]},love:{label:"感情 / 关系",gate:"休门",subjects:[{key:"self",name:"我",how:"dayStem",why:"日干为我。"},{key:"other",name:"对方",how:"hourStem",why:"时干代表所问之事与对方;感情里问「他怎么样」,时干就是那个人此刻的状态。"},{key:"bond",name:"你俩的连接",how:"god:六合",why:"六合主结合、撮合、连结;看连接本身有没有被冲开或合住,比看单方态度更接近真相。"}]},business:{label:"生意 / 合作",gate:"生门",subjects:[{key:"self",name:"我方",how:"dayStem",why:"日干为我方。"},{key:"partner",name:"对方 / 合作方",how:"hourStem",why:"时干代表对方与所谈之事。"},{key:"chance",name:"项目机会",how:"gate:生门",why:"生门主生长与收益,用它代表「这个机会能不能长出东西」。"},{key:"resource",name:"资源与条件",how:"gate:开门",why:"开门代表公开的资源、渠道、正式手续;有没有真资源,看这一宫有没有被制。"},{key:"deal",name:"契约 / 撮合",how:"god:六合",why:"六合主合约与中间人;合作最怕的是「六合落空或受冲」,即说了不算。"}]},action:{label:"某件事能不能推进",gate:"开门",subjects:[{key:"self",name:"我",how:"dayStem",why:"日干为我。"},{key:"act",name:"这件事本身",how:"hourStem",why:"时干为事体:你要问的那件事,当下的状态在时干这一宫。"},{key:"env",name:"外部条件",how:"zhiShi",why:"值使门是「当下正在值班的门」,代表这件事所处的执行环境与节奏。"}]},day:{label:"挑日子 / 看时机",gate:"值使",subjects:[{key:"act",name:"要办的事",how:"hourStem",why:"时干为事体,先看它落在哪一宫、受不受制。"},{key:"env",name:"当天的执行环境",how:"zhiShi",why:"值使门代表当值之门,是这一天的主导形态,不把它当吉凶。"},{key:"self",name:"办事的人",how:"dayStem",why:"日干为办事人;人有空亡、受制,日子再好也执行不了。"}]},other:{label:"其他具体事",gate:"开门",subjects:[{key:"self",name:"我",how:"dayStem",why:"日干为我。"},{key:"act",name:"所问之事",how:"hourStem",why:"时干为事体。"},{key:"env",name:"当下环境",how:"zhiShi",why:"值使门代表当下的执行节奏。"}]}},T={career:["有没有书面邀约或正式通知?(口头承诺不算)","岗位职责、汇报对象、试用期写清楚了吗?","薪酬范围、发放方式、社保口径有没有落到纸面?","最坏情况是什么:试用不过、岗位撤销,你损失多少?"],love:["对方有没有具体行动:约见、介绍给朋友、共同计划?","这种投入持续了多久,还是一阵热?","有没有第三方牵涉(前任、家人、异地)?","你自己愿意为这段关系让渡什么,底线在哪?"],business:["资源清单能落到具体人、具体钱、具体渠道吗?","合同条款:出资、分账、违约、退出,哪条没写?","谁执行?执行人是全职还是顺手帮忙?","如果对方撤了,你一个人能不能收场?"],action:["这件事有没有截止日期?谁定的?","实际成本:钱、时间、人情,各多少?","做错了能不能退回去?可逆性有多高?","成功的样子长什么样,能不能用一句话说清?"],day:["当天必须到场的人确认了吗?","场地、材料、审批这些硬约束排除了吗?","有备选日期吗?排到第几位?","这一天之前的准备来得及吗?"],other:["这件事成功的样子,能用一件可观察的事描述吗?","有没有一个明确的时间点可以验证?","如果没成,你会先怀疑哪一环?","现在最该做的一件小事是什么?"]},_=["开头先用三到五句话回答他问的那件事,全用日常说法:不出现「用神、落宫、值符、生克」这些词。","每个术语第一次出现时,必须紧跟一句人话解释(例:「开门,就是这件事能不能摆到台面上正式推进」)。","不写「吉/凶」二字作结论,改写成人能执行的话:能推进 / 卡在谁那里 / 还缺什么条件 / 大概什么时候会有信号。","盘面给不出的东西(具体金额、对方心里怎么想、某天几点),直接说给不出,不要补。"],H=["只使用下面「盘面事实」里出现的符号。没给的宫、门、星、神,一律不许自己补。","不许说「这是生门所以好」「这是白虎所以凶」。门名与神名只说明形态,吉凶要看它和日干宫、时干宫的关系,以及有没有空亡、受制、入墓。","不给医疗、法律、投资的具体结论;这些只能建议去找对应专业人士。","不给公历日期。奇门这里只谈「什么条件下会有信号」,不谈「几月几号」。","不确定就写不确定,并说明缺哪条信息才能确定。"];function o(w,g){if(!g)return null;const m=(w.palaces||[]).find(s=>s.tianPan===g);if(m)return m;const f=w.centerPalace;return f&&f.tianPan===g?f:null}function A(w,g,m,f){const s=g&&g[m]?String(g[m]):"",i=s.charAt(0);if(!i)return{symbol:`${f}`,palace:null,missing:`四柱里没有${f}`};if(i!=="甲"){const y=o(w,i);return{symbol:`${f} ${i}`,palace:y,missing:y?"":`${f}${i}未现于天盘`}}const t=U(s),r=o(w,t);return{symbol:`${f} 甲(寄${t})`,palace:r,missing:r?"":`${f}甲寄${t},${t}未现于天盘`}}function E(w,g){return g&&(w.palaces||[]).find(m=>m.gate===g)||null}function Z(w,g){return g&&(w.palaces||[]).find(m=>m.god===g)||null}function j(w,g){const m=w.siZhu||{},f=String(g.how||"");if(f==="dayStem")return A(w,m,"day","日干");if(f==="hourStem")return A(w,m,"time","时干");if(f==="monthStem")return A(w,m,"month","月干");if(f==="zhiFu"){const s=w.zhiFu&&w.zhiFu.gong;return{symbol:`值符(${w.zhiFu&&w.zhiFu.star||""})`,palace:(w.palaces||[]).find(i=>i.palace===String(s))||null,missing:s?"":"没有值符落宫"}}if(f==="zhiShi"){const s=w.zhiShi&&w.zhiShi.gong;return{symbol:`值使(${w.zhiShi&&w.zhiShi.gate||""})`,palace:(w.palaces||[]).find(i=>i.palace===String(s))||null,missing:s?"":"没有值使落宫"}}if(f.startsWith("gate:")){const s=f.slice(5),i=E(w,s);return{symbol:`${s}`,palace:i,missing:i?"":`盘上没有${s}`}}if(f.startsWith("god:")){const s=f.slice(4),i=Z(w,s);return{symbol:`${s}`,palace:i,missing:i?"":`盘上没有${s}`}}return{symbol:f,palace:null,missing:`未知取法 ${f}`}}function $(w){if(!w)return"(这一项在盘上定位不到)";const g=ae[w.palace]||{dir:"",field:""},m=[`${w.palace} 宫(${g.dir})`,w.center?"中宫(无门无神,按寄宫取用)":`门:${w.gate||"—"}${w.gateRelation&&w.gateRelation.type?`(${w.gateRelation.type}:${w.gateRelation.note||""})`:""}`,`星:${w.star||"—"}`,w.center?"":`神:${w.god||"—"}`,`天盘 ${w.tianPan||"—"} / 地盘 ${w.diPan||"—"}${w.stemRelation&&w.stemRelation.type?`(${w.stemRelation.type})`:""}`];return w.kong&&m.push("空亡"),w.ma&&m.push("临马星"),w.ganYing&&w.ganYing.name&&m.push(`十干应克:${w.ganYing.name}`),m.join(" ")}const b=["你说「我」是哪个符号?为什么是它,不是别的?","机会在哪一宫、阻碍在哪一宫、对方态度在哪一宫?各自依据哪一条关系(生、克、合、冲、空、墓)?","盘上有没有相反提示?你为什么采信这一边,而不是那一边?"];function p(w,g={}){const m=w&&w.palaces?w:w&&w.qimen,f=te[g.kind]?g.kind:"other",s=te[f],i=String(g.question||"").replace(/\s+/g," ").trim().slice(0,200);if(g.timeKnown===!1||!m)return{version:V,kind:f,blocked:!0,subjects:[],text:["先别起局——时间还不确定。","","奇门是按「起局那一刻」排盘的,时刻差一个时辰,九宫里的门、星、神全换一遍。所以先确认:","1)这盘是按现在这一刻起,还是按你打算行动的那一刻起?","2)你说的日期时间,是钟表时间还是农历?在哪个城市(真太阳时会差几分钟到十几分钟)?","","确认之后,再用同一句话把要问的事说清楚:主语 + 时间 + 可验证的结果,例如「下周三之前,这份工作的书面 offer 能不能拿到」。","在那之前,我不排盘,也不猜。"].join(`
|
|
129
|
+
`)};const t=s.subjects.map(h=>{const c=j(m,h);return{...h,symbol:c.symbol,palace:c.palace,missing:c.missing}}),r=m.siZhu||{},y=[`# 奇门问事解读(提示版本 ${V})`,"","## 你要做的","先把这张盘翻译成「他能拿去用的话」,再给依据。顺序不能反:先结论(人话)→ 再盘面依据 → 再现实核对 → 最后说哪里不确定。","","## 一、先确认问的是哪一件事",i?`他的问题是:「${i}」`:"他还没说清要问什么。第一句先问清:要问的是哪一件具体的事(哪份工作、哪次沟通、哪笔合作),以及他希望看到什么结果。不要笼统答「运势如何」。",`已按「${s.label}」取用神。若他实际问的是别的事,先纠正类型再解读,不要硬套。`,"","## 二、盘面事实(只能用这些,不许自行补算)",`四柱:${r.year||"—"}年 ${r.month||"—"}月 ${r.day||"—"}日 ${r.time||"—"}时;局:${m.dun||""}${m.juNumber||""}局(${m.yuan||""});值符 ${m.zhiFu&&m.zhiFu.star||"—"} 落 ${m.zhiFu&&m.zhiFu.gong||"—"} 宫;值使 ${m.zhiShi&&m.zhiShi.gate||"—"} 落 ${m.zhiShi&&m.zhiShi.gong||"—"} 宫。`,m.kongWang&&m.kongWang.length?`空亡:${m.kongWang.join("、")}。`:"","","## 三、取哪个符号代表什么(每一项都要能说出「为什么是它」)",...t.map((h,c)=>`${c+1}. ${h.name} → ${h.symbol}${h.missing?`(注意:${h.missing})`:""}
|
|
124
130
|
- 取法理由:${h.why}
|
|
125
131
|
- 盘面:${$(h.palace)}`),"","## 四、怎么读状态(这是最容易偷懒的地方)","1. 落宫先说「这件事落在哪个领域」:",...t.filter(h=>h.palace).map(h=>` - ${h.name}:${(ae[h.palace.palace]||{}).field||""}`),"2. 所遇之门说明「这件事现在是什么形态」,不是吉凶:",...Object.entries(re).map(([h,c])=>` - ${h}:${c}`),"3. 关系只认四种,且都要指到具体两宫:"," - 生:得助(谁生谁,说清方向)"," - 克:受制(谁克谁,说清方向)"," - 合:连接、聚合(合住也可能意味着被拴住)"," - 冲:变动、对立、打破(冲开也可能意味着解脱)","4. 空亡、入墓、门迫、击刑这些「减分项」,要么明确说它压低了什么,要么别提——不要念一遍名字就过去。","","## 五、开口之前先自检这三问",...b.map((h,c)=>`${c+1}. ${h}`),"三问答不全,就还没到能下结论的程度,先把答不出的那条写出来。","","## 六、最后必须回到现实核对",...T[f].map((h,c)=>`${c+1}. ${h}`),"盘面只能给方向;上面这些是「他明天可以去查、去问、去要」的东西。核对完再回来谈结论。","","## 七、表达要求",..._.map(h=>`- ${h}`),"","## 八、禁止",...H.map(h=>`- ${h}`),"","## 九、输出格式","1. **先给你要的答案**:三到五句人话,直接回答他问的那件事。","2. **盘上依据**:按「我 / 对方或事体 / 环境」三块列,每块一句符号 + 一句人话解释。","3. **现实里该去核对什么**:抄上面第六节里适用的项,不要全抄。","4. **相反提示与不确定处**:盘上哪些地方指向另一个方向,你为什么这样权衡。","5. **一句提醒**:这是参考,不替代你自己去核实和决定。"].filter(h=>h!=="").join(`
|
|
126
|
-
`);return{version:
|
|
127
|
-
`)};const r=j[f];if(!r)return{version:
|
|
132
|
+
`);return{version:V,kind:f,blocked:!1,subjects:t,text:y}}return{QIMEN_PROMPT_VERSION:V,PALACE_FIELD:ae,GATE_MEANING:re,ASK_KINDS:te,REALITY_CHECK:T,STYLE_RULES:_,resolveSubject:j,buildQimenPrompt:p}})(),J["event-prompt"]=(function(){const{buildQimenPrompt:U}=J["qimen-prompt"]||{},V="event-1",ae={career:{label:"工作 / 事业",reality:["有没有书面邀约或正式通知?(口头承诺不算)","岗位职责、汇报对象、试用期写清楚了吗?","薪酬范围、发放方式有没有落到纸面?","最坏情况:试用不过或岗位撤销,你损失多少?"]},love:{label:"感情 / 关系",reality:["对方有没有具体行动:约见、介绍给朋友、共同计划?","这种投入持续了多久,还是一阵热?","有没有第三方牵涉(前任、家人、异地)?","你愿意让渡什么,底线在哪?"]},business:{label:"生意 / 合作",reality:["资源能落到具体人、具体钱、具体渠道吗?","合同条款:出资、分账、违约、退出,哪条没写?","谁执行?执行人是全职还是顺手帮忙?","如果对方撤了,你一个人能不能收场?"]},action:{label:"某件事能不能推进",reality:["这件事有没有截止日期?谁定的?","实际成本:钱、时间、人情,各多少?","做错了能不能退回去?","成功的样子能不能用一句话说清?"]},day:{label:"挑日子 / 看时机",reality:["当天必须到场的人确认了吗?","场地、材料、审批这些硬约束排除了吗?","有备选日期吗?排在第几位?","这一天之前的准备来得及吗?"]},other:{label:"其他具体事",reality:["成功的样子,能用一件可观察的事描述吗?","有没有一个明确的时间点可以验证?","如果没成,你会先怀疑哪一环?","现在最该做的一件小事是什么?"]}},re=g=>ae[g]?g:"other",te={career:{liuqin:"官鬼",why:"六爻问工作职位、上级压力,以官鬼为用神:官鬼既是管你的人,也是名位所在。"},love:{liuqinByGender:{male:"妻财",female:"官鬼"},why:"感情看配偶星:男命以妻财为妻,女命以官鬼为夫;再看世应两家是否相生相合。"},business:{liuqin:"妻财",why:"合作看财:妻财代表可分的钱与利;同时看兄弟爻,兄弟动主分我之财。"},action:{liuqin:"父母",why:"问一件事能不能推进,看父母:父母主文书、消息、答复,事之成否常落在一纸回话上。"},day:{liuqin:"父母",why:"择日问的是「那一天办这件事顺不顺」,仍以所办之事的类象为主,先看日月建与世爻。"},other:{liuqin:"官鬼",why:"事类不明时先以官鬼统摄「所问之事」,但必须请他确认事属哪一类,不要硬断。"}},T=g=>{const m=g.ben&&g.ben.shi,f=g.ben&&g.ben.ying,s=i=>g.ben&&g.ben.lines?g.ben.lines.find(t=>t.position===i):null;return{shi:s(m),ying:s(f)}},_=g=>g?`${g.position}爻 ${g.ganzhi}(${g.liuqin||""}${g.moving?"·动":""}${g.liushen?"·"+g.liushen:""})`:"(本盘定位不到)";function H(g,m,f){const s=te[m]||te.other,i=s.liuqin||s.liuqinByGender&&(s.liuqinByGender[f]||s.liuqinByGender.male)||"官鬼",t=(g.ben&&g.ben.lines?g.ben.lines:[]).filter(c=>c.liuqin===i),{shi:r,ying:y}=T(g);return[{name:"我",symbol:`世爻 ${_(r)}`,why:"世爻代表求测者本人:你的态度、你的处境,都从这一爻看。",fact:_(r)},{name:"对方 / 事体",symbol:`应爻 ${_(y)}`,why:"应爻代表对方或所问之事:世应相生相合是能接上头,相冲相克是对不上。",fact:_(y)},{name:`用神(${i})`,symbol:t.length?t.map(c=>_(c)).join(";"):`本盘无${i}(可能伏藏)`,why:s.why,fact:t.length?t.map(c=>_(c)).join(";"):`没有${i}明现,须看伏神或另取,不要假装有`,warn:t.length>1?`用神两现(${t.length}处):不能随手挑一个。先看持世、临日月、发动者,挑不出来就明说「两现未定」。`:""}]}function o(g){const m=g.bodyUse||{},f=m.body||{},s=m.use||{};return[{name:"我(体卦)",symbol:`${f.trigram||"—"}(${f.element||""})`,why:"梅花以体卦为我:不动的那一卦是求测者自身。",fact:`${f.trigram||"—"} ${f.element||""}`},{name:"事(用卦)",symbol:`${s.trigram||"—"}(${s.element||""})`,why:"动爻所在为用卦,代表所问之事;体用之间的关系就是人与事的处境。",fact:`${s.trigram||"—"} ${s.element||""}`},{name:"体用关系",symbol:m.relation||"—",why:"只看生克方向,不直接把「大吉」当结论——吉是条件好,不是结果已经发生。",fact:m.level?`本盘标为「${m.level}」`:""}]}function A(g){const m=g.sanChuan||{},f=g.dayGanZhi?String(g.dayGanZhi).charAt(0):"",s=g.dayGanZhi?String(g.dayGanZhi).slice(-1):"";return[{name:"我(日干)",symbol:`日干 ${f}`,why:"大六壬以日干为求测者本人,日支为对方或所问之事。",fact:`日干 ${f}`},{name:"对方 / 事(日支)",symbol:`日支 ${s}`,why:"日支是事情的落点,干上神与支上神的关系就是人与事的接口。",fact:`日支 ${s}`},{name:"事之始(初传)",symbol:m.chu?`${m.chu.zhi}(${m.chu.liuQin||""}·${m.chu.jiangFull||""})`:"—",why:"三传看过程:初传是起因,中传是中途,末传是收尾,末传比初传更接近结果。",fact:m.chu?`${m.chu.zhi} ${m.chu.liuQin||""}`:""},{name:"事之终(末传)",symbol:m.mo?`${m.mo.zhi}(${m.mo.liuQin||""}·${m.mo.jiangFull||""})`:"—",why:"末传落处是这件事最后停在哪儿,看它落在哪一类六亲上。",fact:m.mo?`${m.mo.zhi} ${m.mo.liuQin||""}`:""}]}function E(g){const m=(g.cards||[]).map(f=>({name:f.position||"牌位",symbol:`${f.name}(${f.orientation||(f.upright?"正位":"逆位")})`,why:`${f.positionHint||"这一位代表它所标的那个阶段"};牌位决定它代表什么,牌面只说明它是什么样子。`,fact:[f.core||"",f.astro?`占星对应:${f.astro}`:f.role?`牌位角色:${f.role}`:"",f.image?`牌面:${f.image}`:"",f.keywords&&f.keywords.length?`关键词:${f.keywords.join("、")}`:""].filter(Boolean).join(" ")}));return m.length?m:[{name:"牌面",symbol:"—",why:"没有抽到牌",fact:""}]}function Z(g){const m=g.result||{};return[{name:"所问之事",symbol:m.palace||"—",why:"小六壬只有一宫落位,它同时代表事与势:落宫决定这件事处在哪一类状态。",fact:m.text||""},{name:"我",symbol:"(本体系不单列)",why:"小六壬没有「我」的独立符号,所以它只能给势,给不了「我 vs 对方」的对比——这是它的口径,别硬补。",fact:""}]}const j={liuyao:H,meihua:o,daliuren:A,tarot:E,xiaoliuren:Z},$=["开头先用三到五句话回答他问的那件事,全用日常说法:不出现「用神、世应、体用、落宫」这些词。","每个术语第一次出现时,紧跟一句人话解释(例:「用神,就是这件事在盘上对应哪一个符号」)。","不写「吉/凶」二字当结论,改成能执行的话:能推进 / 卡在谁那里 / 还缺什么 / 大概什么条件下会有信号。","盘面给不出的东西(具体金额、对方心里怎么想、某天几点),直接说给不出。"],b=["只使用下面「盘面事实」里出现的符号;没给的,一律不许自己补。","不许「旺相所以好」「死神所以完蛋」这种一句话结论:符号只说明形态,好坏要看它与「我」这一位的关系。","不给医疗、法律、投资的具体结论;这些只能建议去找对应专业人士。","不给公历日期。应期只谈「什么条件下会出现信号」。","不确定就写不确定,并说明缺哪条信息才能确定。"],p=["你说「我」是哪个符号?为什么是它?","机会、阻碍、对方态度各落在盘上哪一处?各自依据哪条关系(生、克、合、冲、空、墓)?","有没有相反提示?你为什么采信这一边?"];function w(g,m={}){const f=g&&g.system||"other";if(f==="qimen")return U(g,m);const s=re(m.kind),i=ae[s],t=String(m.question||g&&g.question||"").replace(/\s+/g," ").trim().slice(0,200);if(m.timeKnown===!1)return{version:V,system:f,kind:s,blocked:!0,subjects:[],text:["先别起课——时间还不确定。","","问事体系全靠「起课那一刻」定盘:差一个时辰,日辰、旬空、月建全换,盘就不是这张盘了。先确认:","1)是按现在这一刻起,还是按你打算行动的那一刻起?","2)你给的是钟表时间还是农历?在哪个城市(真太阳时会差几分钟到十几分钟)?","","确认之后,把要问的事说成「主语 + 时间 + 可验证的结果」,例如「下周三之前这份工作能不能拿到书面 offer」。","在那之前,我不排盘,也不猜。"].join(`
|
|
133
|
+
`)};const r=j[f];if(!r)return{version:V,system:f,kind:s,blocked:!0,subjects:[],text:`「${f}」不是问事体系(或暂未接入取用神规则),用它对具体事下结论就是硬套。请改用六爻、梅花、大六壬、奇门或塔罗。`};const y=r(g,s,m.gender),h=[`# 问事解读(提示版本 ${V}|体系:${f})`,"","## 你要做的","先把这张盘翻译成「他明天能拿去用的话」,再给依据。顺序不能反:人话结论 → 盘面依据 → 现实核对 → 不确定处。","","## 一、先确认问的是哪一件事",t?`他的问题是:「${t}」`:"他还没说清要问什么。第一句先问清:要问的是哪一件具体的事,以及他希望看到什么结果。不要笼统答「运势如何」。",`已按「${i.label}」取用神。若实际问的是别的事,先纠正类型再解读,不要硬套。`,"","## 二、取哪个符号代表什么(每一项都要能说出「为什么是它」)",...y.map((c,q)=>`${q+1}. ${c.name} → ${c.symbol}
|
|
128
134
|
- 取法理由:${c.why}${c.fact?`
|
|
129
135
|
- 盘面:${c.fact}`:""}${c.warn?`
|
|
130
|
-
- 注意:${c.warn}`:""}`),"","## 三、怎么读状态(最容易偷懒的地方)","- 先说明这一位落在什么处境(旺/衰、空/实、动/静、被制/得助),再说这对他意味着什么。","- 关系只认四种,且都要指到具体两位符号:生(谁生谁)、克(谁克谁)、合(连在一起,合住也可能是拴住)、冲(变动、对立、打破)。","- 空亡、入墓、伏藏、用神两现这些「减分项」,要么说清压低了什么,要么别提——不要念一遍名字就过去。","","## 四、开口之前先自检这三问",...p.map((c,
|
|
131
|
-
`)}}return{EVENT_PROMPT_VERSION:Q,ASK_KINDS:ae,buildEventPrompt:w}})(),J["plain-summary"]=(function(){const{ASK_KINDS:U}=J["event-prompt"]||{},{PALACE_FIELD:Q,GATE_MEANING:ae}=J["qimen-prompt"]||{},re=U||{},ne=Q||{},T=ae||{},_={wealth:"business",career:"career",love:"love",health:"other",study:"career",travel:"action",general:"other"},H=d=>_[d]||(re[d]?d:"other"),o={木:{color:"青、绿",where:"东边、有树有水的地方",daily:"早上多出门走走"},火:{color:"红、橙、紫",where:"南边、向阳的房间",daily:"白天多晒太阳,别总待在阴冷的屋里"},土:{color:"黄、棕、米色",where:"中原地带、干爽高燥处",daily:"把作息和吃饭时间固定下来"},金:{color:"白、银、浅灰",where:"西边、通风利落的地方",daily:"把该断的事断干净,别拖"},水:{color:"黑、深蓝",where:"北边、临水处",daily:"留出独处和放空的时间"}},A={正印:"靠吸收和消化来获得安全感,习惯先想明白再动",偏印:"想得比说得多,一件事会在心里推演出很多种可能",正官:"对规矩和责任敏感,别人一句交代会变成自己的压力",七杀:"对压力和竞争敏感,遇强则强,也容易被强势的人吸引",正财:"对现实条件敏感,不太会被空话打动",偏财:"对机会敏感,愿意为看得见的回报承担风险",食神:"表达温和,喜欢把日子过得有滋味",伤官:"有自己的标准,看不上粗糙的东西,容易先挑毛病",比肩:"自我边界清楚,不太愿意被安排",劫财:"同辈之间容易较劲,也容易替朋友出头"},q={长生:"刚起步,有生机",沐浴:"不安定,容易被外界牵动",冠带:"在成形,开始要面子",临官:"正当力,能扛事",帝旺:"很足,但也容易过满",衰:"开始收力,做事偏保守",病:"使不上劲,需要借外力",死:"静态,不爱主动",墓:"收着、藏着,不爱外露",绝:"在这里使不上劲,容易觉得被压着",胎:"还在孕育,慢热",养:"在积攒,等时机"},Z={紫微:"要主导、在意体面",天机:"脑子转得快,爱盘算",太阳:"愿意给出去,也容易被消耗",武曲:"务实,认结果",天同:"图安稳,怕冲突",廉贞:"要强,情绪起伏大",天府:"稳,能存住东西",太阴:"细腻,心思藏在里面",贪狼:"欲望强、多才多艺",巨门:"爱辨析,也容易生口舌",天相:"会配合,擅长讲和",天梁:"老成,愿意护着别人",七杀:"独断,敢冲",破军:"破旧立新,不安于现状"},j={庙:"得力",旺:"得力",得地:"还算得力",平:"一般",陷:"不太稳"},$=d=>[...new Set(d.filter(Boolean))],b={寅:"初春",卯:"仲春",辰:"暮春",巳:"初夏",午:"盛夏",未:"长夏",申:"初秋",酉:"仲秋",戌:"深秋",亥:"初冬",子:"仲冬",丑:"隆冬"};function p(d,I){const F={po:[],chong:[],he:[]};for(const oe of d&&d.branches||[])!I||!String(oe).includes(I)||(/破/.test(oe)?F.po.push(oe):/冲/.test(oe)?F.chong.push(oe):/合/.test(oe)&&F.he.push(oe));return F}function w(d){const I=d.pillars||{},F=I.day||{},oe=I.month||{},te=d.dayMaster||{},fe=d.climate||{},ze=d.input&&d.input.gender||"female",W=Object.entries(d.frame&&d.frame.godStats&&d.frame.godStats.groups||{}).filter(([,Se])=>Se>0).sort((Se,cn)=>cn[1]-Se[1]),D=d.frame&&d.frame.yongshen&&d.frame.yongshen.favorTenGods||[],z=d.frame&&d.frame.yongshen&&d.frame.yongshen.favor||[],P=d.frame&&d.frame.yongshen&&d.frame.yongshen.avoid||[],V=b[oe.branch]||`${oe.branch}月`,ue=fe.label==="寒湿"?"天寒水旺,木像冬天的藤,不是不强,是冷得伸展不开":fe.label==="燥热"?"火土偏燥,像久旱的地,需要水和湿气来松一松":"寒暖相对均衡,没有极端的偏枯",le=fe.need&&fe.need.element||z[0]||"",ve=`${te.stem||""}${te.element||""}日主,生在${V}${oe.branch||""}月:${ue}。${le?`最需要的是${le}${fe.need&&fe.need.why?`——${fe.need.why}`:""}。`:""}整体${d.strength?d.strength.level:"中和"},不是极旺也不是极弱,所以${d.strength&&d.strength.level==="身弱"?"很多事要靠外部条件配合,硬扛不如借力":"撑得住,关键是别把力气用在错的地方"}。`,Ae=W.slice(0,2).map(([Se])=>Se),hn=[];for(const Se of Object.values(I))Se&&(Se.stemTenGod&&hn.push(Se.stemTenGod),Se.hidden&&Se.hidden[0]&&Se.hidden[0].tenGod&&hn.push(Se.hidden[0].tenGod));const nn=`${Ae.map(Se=>{const cn={印:["正印","偏印"],官杀:["正官","七杀"],食伤:["食神","伤官"],财:["正财","偏财"],比劫:["比肩","劫财"]}[Se]||[],ln=cn.find(dn=>hn.includes(dn))||cn[0];return ln&&A[ln]?`${Se}偏重:${A[ln]}。`:""}).filter(Boolean).join("")}${D.length,""}`+(Ae.includes("印")?"想得多是你的默认状态,好处是稳,代价是慢和累。":""),Gn=ze==="female"?["正官","七杀"]:["正财","偏财"],ke=ze==="female"?"官杀(正官与七杀)":"财星(正财与偏财)",qn={year:"年干",month:"月干",day:"日干",hour:"时干"},be=Object.entries(I).filter(([,Se])=>Se&&Gn.includes(Se.stemTenGod)).map(([Se,cn])=>`${qn[Se]}${cn.stemTenGod}`),je=F.hidden&&F.hidden[0]&&F.hidden[0].tenGod||"",Te=p(d.relations,F.branch),Ge=[];Ge.push(`${ze==="female"?"女命":"男命"}看配偶星取${ke}${be.length?`,${be.join("、")}`:",盘中未透干"}${be.length?"——摆在明处,说明这件事在你生活里是绕不开的主题":"——不显在明处,往往要靠后天遇到的人把它带出来"}。`),je&&Ge.push(`日支(配偶宫)坐${F.branch}${je}${F.dishi?`,日主在这里是「${F.dishi}」:${q[F.dishi]||""}`:""}。`),Te.po.length&&Ge.push(`日支与另一支相破(${Te.po.join("、")}):破不是吵架,是那种说不清、解释不明白的暗耗,容易冷处理。`),Te.chong.length&&Ge.push(`日支逢冲(${Te.chong.join("、")}):关系里变动感强,聚散、异地、节奏不一致都可能出现。`),Te.he.length&&Ge.push(`日支有合(${Te.he.join("、")}):容易被关系拴住,进去了就不太想出来。`),d.hourUnknown&&Ge.push("时柱暂缺,所以「子女」这一路的信息读不出,感情结论也就少了三分之一。");const Ze=(d.frame&&d.frame.geju||[]).map(Se=>Se.name),Ie=[];Te.po.length&&Ie.push("破在日支:最伤人的往往不是大事,是没说开的小事。"),Ze.includes("伤官见官")&&Ie.push("盘里有「伤官见官」的组合:既想要稳定,又忍不了对方的毛病,这是同一件事的两面。"),Ae.includes("印")&&!Ae.includes("财")&&Ie.push("印重而财轻:想得多、落得少;越焦虑越容易继续想。"),Ie.length||Ie.push("这一盘没有特别尖锐的冲克,卡点更多在「节奏」上——什么时候该动,什么时候该停。");const Fe=[];if(le&&o[le]){const Se=o[le];Fe.push(`多接触${le}:${Se.color}这类颜色、${Se.where},日常可以${Se.daily}。`)}return P.length&&Fe.push(`少把自己放在${P.slice(0,2).join("、")}过重的环境里——不是不能碰,是别长期待在那种氛围中。`),Ae.includes("印")&&Fe.push("给「想」设个时限:一件事想超过十分钟还没结论,就先做一个最小动作,用行动换信息。"),Ze.includes("伤官见官")&&Fe.push("把标准用在事情上,不要用在人身上;对人提要求之前,先说清你需要什么。"),{system:"bazi",title:"先看这一张:这张盘大致在说什么",chips:$([`${te.stem||""}${te.element||""}日主`,`${oe.branch||""}月`,fe.label||"",d.strength?d.strength.level:"",d.hourUnknown?"时柱暂缺":""]),lead:ve,sections:[{h:"你的底色",t:nn||"结构比较均衡,没有一边倒的偏重。"},{h:"感情这件事",t:Ge.join("")},{h:"最容易卡住的地方",t:Ie.join("")}],advice:Fe,caveat:d.hourUnknown?"时柱暂缺:以上只据年、月、日六个字,等于全盘信息的七成左右。子女缘分、晚年走势、以及「内心最深处那一层」都读不全,结论只作参考。":"",footer:"以上都是对结构的描述,不是断语;判断好坏要结合你自己的处境。"}}function g(d){const I=d.palaces||[],F=I[0]||{},oe=d.body||{},te=(F.stars||[]).filter(ye=>ye.type==="主星"),fe=I.find(ye=>ye.isBody)||{},ze=I.find(ye=>ye.palace==="夫妻")||{},W=te.map(ye=>ye.name).join("、")||"空宫(借对宫)",D=te.map(ye=>j[ye.brightness]||"").filter(Boolean)[0]||"",z=ye=>ye.filter(nn=>nn.type==="主星").map(nn=>`${nn.name}${Z[nn.name]?`(${Z[nn.name]})`:""}`).join(";"),P=d.patternSummary||{},V=$(P.broken||[]),ue=$(P.bad||[]),le=$([...P.good||[],...P.neutral||[]]).filter(ye=>!V.includes(ye)),ve=ze.stars||[],Ae=ve.filter(ye=>ye.type==="主星"),hn=ve.filter(ye=>ye.type==="煞星");return{system:"ziwei",title:"先看这一张:这张盘大致在说什么",chips:$([`命宫在${F.branch||""}`,W,d.bureau?d.bureau.name:"",oe.lands?`身宫落${oe.lands}`:""]),lead:`命宫在${F.branch||""},坐${W}${D?`(${D})`:""};身宫落在${oe.lands||oe.palace||"—"}。${te.length?`底色是${te.map(ye=>Z[ye.name]||ye.name).join("、")}。`:"命宫无主星,性格更多由对宫与三方决定,可塑性反而大。"}${le.length?`结构上成的是${le.slice(0,3).join("、")}——格局只说明形状,不是吉凶判词。`:"没有完整成套的格局,这一盘更多看单颗星的性质,少看组合。"}`,sections:[{h:"你的底色",t:`${z(F.stars||[])||"命宫无主星,靠三方四正补"}。身宫落${oe.lands||"—"},说明你这辈子真正花力气的地方在${oe.lands||"那一块"}。`},{h:"感情这件事",t:`夫妻宫在${ze.branch||"—"},坐${Ae.map(ye=>`${ye.name}${ye.brightness?`(${j[ye.brightness]||ye.brightness})`:""}`).join("、")||"空宫(借对宫)"}。${hn.length?`同宫还有${hn.map(ye=>ye.name).join("、")}——关系里容易起摩擦,来得快也去得快。`:"没有明显的煞星同宫,关系相对平顺。"}`},{h:"最容易卡住的地方",t:`${V.length?`被冲破的格局有${V.join("、")}——结构还在,但成色打折;冲不等于毁,说的是它不如完好时那么顶用。`:"主要格局没有明显被冲破。"}${ue.length?`另有${ue.join("、")}这类忌格,只描述结构,不作吉凶断。`:""}`}],advice:[`命宫主星${te.length?`是${te.map(ye=>ye.name).join("、")},顺它的长处在做事,比硬改性格省力`:"不显,先靠环境和习惯替自己定节奏"}。`,`身宫落${oe.lands||"—"}:这块是你真正在意的地方,也是容易耗人的地方,留出余量。`],caveat:"",footer:"以上都是对结构的描述,不是断语;判断好坏要结合你自己的处境。"}}const m={旺:"当令,气最足",相:"有生机,正在起",休:"气在泄,歇着",囚:"被压着,使不上劲",死:"最弱,得靠外援"},f={官鬼:"职位、压力、管你的人和事",妻财:"钱、资源、实际回报",父母:"文书、答复、流程与长辈",子孙:"结果本身、松弛、把事情落地",兄弟:"同辈、分利、竞争"},s={日生:"日辰生它,当天有人托着",日克:"日辰克它,当天被压一头",比和:"与日辰同气,力量相当",日合:"与日辰相合,黏住了",日冲:"与日辰相冲,当天就动"};function i(d){if(!d)return"";const I=[],F=m[d.monthState]||d.monthSay||"";F&&I.push(`月令${d.monthState||""}(${F})`);const oe=s[d.dayRelation]||d.daySay||"";return oe&&I.push(oe),d.kong&&I.push("旬空——抓不实,等冲或填"),d.moving&&I.push("发动,是这件事的动因"),d.monthChong&&I.push("月破,先破后立"),I.join(";")}function t(d){const I=d.hexStrength&&d.hexStrength.lines||[];if(!I.length)return null;const F=I.find(le=>le.shi)||null,oe=I.find(le=>le.ying)||null,te=d.body||{},fe=te.ben||{},ze=te.bian||{},W=d.cast&&d.cast.movingPositions||[],D=I.filter(le=>le.moving),z=String(d.question||"").trim(),P=$([...te.labels||[],...d.hexStrength&&d.hexStrength.labels||[]]),V=d.hexStrength&&d.hexStrength.month?d.hexStrength.month.branch:"",ue=[fe.chong?"六冲卦:事情容易散、节奏快":"",fe.he?"六合卦:事情黏住、快不起来":"",te.fuYin&&(te.fuYin.inner||te.fuYin.outer)?"有伏吟:原地打转":"",te.fanYin&&(te.fanYin.inner||te.fanYin.outer)?"有反吟:来回反复":""].filter(Boolean);return{system:"liuyao",title:"先看这一卦:这卦大致在说什么",chips:$([fe.name,ze.name?`变${ze.name}`:"",W.length?`${W.length} 爻动`:"静卦",V?`${V}月`:""]),lead:`${z?`你问的是「${z}」。`:""}本卦「${fe.name||"—"}」${ze.name?`,${W.length?`第 ${W.join("、")} 爻动`:"六爻安静"},变「${ze.name}」`:""}。方向还留在「综合」,所以这一卦没有取用神——先只讲与问题无关的那几样:你(世爻)、事情(应爻)、卦体。`,sections:[{h:"代表你的是",t:F?`世爻在${F.name}(${F.branch}${F.element}·${F.liuqin}):${i(F)||"状态平稳"}。`:"这一卦取不到世爻。"},{h:"代表事情的是",t:oe?`应爻在${oe.name}(${oe.branch}${oe.element}·${oe.liuqin}):${i(oe)||"状态平稳"}。应爻说的是「事情那一头」的状态,不是你努力的程度。`:"这一卦取不到应爻。"},{h:"卦体与动爻",t:`${ue.length?`${ue.join(";")}。`:"没有六冲、六合、伏吟、反吟这类整体结构。"}${D.length?`动爻在${D.map(le=>`${le.name}(${le.liuqin})`).join("、")}——动的地方,就是这件事会发生变化的那一环。`:"六爻安静:眼下没有明显在动的地方,说明事情的节奏还没起来。"}`}],advice:["先在上面选一个「询问方向」(工作、感情、生意、推进、择日):选完才会取用神,旺衰、应期、成败条件才有落点。",...(re.other&&re.other.reality||[]).slice(0,2)].filter(Boolean),caveat:"未指定所问之事:这一版只读世应、卦体与动爻,不判成败,也不给应期——不是算不出来,是取用神要先知道问什么。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function r(d){const I=d.useGod||{};if(!I.liuqin)return t(d);const F=I.found||[];if(!F.length&&!I.missing)return null;const oe=String(d.question||"").trim(),te=d.useGodStrength&&d.useGodStrength.lines||[],fe=ye=>te.find(nn=>nn.position===ye)||null,W=(d.hexStrength&&d.hexStrength.lines||[]).find(ye=>ye.shi)||null,D=d.useGodStrength&&d.useGodStrength.month?d.useGodStrength.month.branch:"",z=d.dayGanZhi&&d.dayGanZhi.name||"",P=F.map(ye=>ye.name).join("、"),V=`${oe?`你问的是「${oe}」。`:"你没填具体问题,这里按「综合」取用神,结论会更粗。"}这卦里代表它的是「${I.liuqin}」(${I.ask||""}),`+(F.length?`落在${P}${F.length>1?"——两处都出现了,两个条件要一起看":""}。`:"盘中看不见它(伏藏),要等冲开或引出才有动静。")+`日辰是${z||"—"},月建是${D||"—"}。`,ue=[],le=[];for(const ye of F){const nn=fe(ye.position);nn&&(/旺|相/.test(nn.monthState||"")&&!nn.kong&&!nn.monthChong&&ue.push(ye.name),(/日克|日冲/.test(nn.dayRelation||"")||nn.kong||nn.monthChong)&&le.push(ye.name))}const ve=F.length?ue.length>le.length?"条件偏有利":le.length>ue.length?"条件偏紧,得有外力或时间":"一半一半,取决于你怎么推":"没有可判的落点",Ae=$([...(I.labels||[]).filter(ye=>/两现|伏藏|六合|六冲/.test(ye)),d.body&&d.body.ben&&d.body.ben.chong?"六冲卦:事情容易散,节奏偏快":"",d.body&&d.body.ben&&d.body.ben.he?"六合卦:事情黏住,快不起来":""]),hn=$((d.yingqi&&d.yingqi.items||[]).map(ye=>ye.branch)).slice(0,4);return{system:"liuyao",title:"先看这一卦:这卦大致在说什么",chips:$([d.ben&&d.ben.name,`用神 ${I.liuqin||""}`,D?`${D}月`:"",d.yingqi?d.yingqi.tempo:""]),lead:V,sections:[{h:"代表你的是",t:W?`世爻在${W.name}(${W.branch}${W.element}·${W.liuqin}):${i(W)||"状态平稳"}。`:"这一卦的世爻取不到,先看用神那一条。"},{h:"代表这件事的是",t:F.length?F.map(ye=>`${ye.name} ${ye.ganzhi}(${ye.liuqin}):${i(fe(ye.position))||"没有明显的月日冲克"}。`).join(""):"用神伏藏:盘中看不见它,说明这件事现在还不在明面上,要等一个引子。"},{h:"成不成看哪里",t:`把用神的月令与日辰放在一起,盘面给的是「${ve}」。${Ae.length?`另有:${Ae.join(";")}。`:""}`}],advice:[...(re[H(I.direction)]&&re[H(I.direction)].reality||[]).slice(0,2),hn.length?`应期只看地支:${hn.join("、")}——地支只是「往哪个方向等」,不是公历日期。`:""].filter(Boolean),caveat:$([F.length>1?`用神两现(${P}):本插件不替你二选一,两处条件一起看。`:"",I.missing?"用神伏藏:先看伏神与飞神的关系,再看有没有东西把它冲出来。":"","世应只说明「你」和「事」的相对位置,不直接等于吉凶。"]).join(""),footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function y(d){const I=d.bodyUse;if(!I||!I.body||!I.use)return null;const F=String(d.question||"").trim();return{system:"meihua",title:"先看这一卦:方向大致在哪",chips:$([d.ben&&d.ben.name,d.bian&&`变${d.bian.name}`,I.relation?`体用 ${I.relation.split("(")[0]}`:""]),lead:`${F?`你问的是「${F}」。`:""}本卦「${d.ben&&d.ben.name}」,动在第 ${d.moving} 爻,变卦「${d.bian&&d.bian.name}」。体卦 ${I.body.trigram}(${I.body.element})代表你,用卦 ${I.use.trigram}(${I.use.element})代表这件事:${I.relation}。`,sections:[{h:"过程与结果",t:`过程看互卦「${d.hu&&d.hu.name||"—"}」,结果看变卦「${d.bian&&d.bian.name||"—"}」。梅花给的是方向,不是细节——它不会告诉你几号、多少钱。`},{h:"盘面给的分量",t:`这一卦的体用关系被标成「${I.level}」。注意:这是条件层面的判断,不是结果已经发生;条件好但不动,一样没有结果。`}],advice:["把它当「换个角度看这件事」:体用只分「谁在给、谁在耗」,剩下要你自己补具体动作。","如果要推进,先定一个最小动作(打个电话、发条消息),别等条件齐了再动。"],caveat:"梅花取象的自由度大:同一卦,不同人读出的细节可以不同。本插件只取体用生克这一层。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function h(d){const I=d.sanChuan||{};if(!I.chu||!I.zhong||!I.mo)return null;const F=String(d.question||"").trim(),oe=fe=>`${fe.zhi}(${fe.liuQin||""}·${fe.jiangFull||""})`,te=fe=>f[fe.liuQin]?`——${f[fe.liuQin]}`:"";return{system:"daliuren",title:"先看这一课:事情怎么走到这一步",chips:$([d.geJu&&d.geJu.name,`${I.chu.zhi}→${I.mo.zhi}`,d.yueJiang&&`月将${d.yueJiang.zhi}`]),lead:`${F?`你问的是「${F}」。`:""}三传是 ${I.chu.zhi} → ${I.zhong.zhi} → ${I.mo.zhi};末传落 ${I.mo.zhi}(${I.mo.liuQin||""}·${I.mo.jiangFull||""}),课体是「${d.geJu&&d.geJu.name||"—"}」。`,sections:[{h:"起手(初传)",t:`${oe(I.chu)}${te(I.chu)}。这是事情开头的样子。`},{h:"转折(中传)",t:`${oe(I.zhong)}${te(I.zhong)}。中间会经过这一段,也是容易改道的地方。`},{h:"落点(末传)",t:`${oe(I.mo)}${te(I.mo)}。末传比初传更接近结果——但也只是「照现在这样走下去会到哪」。`}],advice:["先看初传:事情是从哪儿起的?把那个起点找出来,比猜结果有用。","中传若与初传相冲相克,说明中途会变;这时别把计划定死。"],caveat:"三传讲的是传变形态,不给具体日期;同一课不同流派对课体的命名也有差异。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function c(d){const I=d.siZhu&&d.siZhu.day?String(d.siZhu.day)[0]:"",F=d.siZhu&&d.siZhu.time?String(d.siZhu.time)[0]:"",oe=d.palaces||[];if(!oe.length)return null;const te=ue=>oe.find(le=>le.tianPan===ue)||(d.centerPalace&&d.centerPalace.tianPan===ue?d.centerPalace:null),fe=te(I),ze=te(F),W=String(d.question||"").trim(),D=ue=>{const le=ue&&ne[ue.palace]&&ne[ue.palace].field;return le?le.split(":")[0]:ue?`${ue.palace}宫`:"盘中取不到"},z=ue=>ue&&ne[ue.palace]&&ne[ue.palace].dir?`(${ne[ue.palace].dir})`:"",P=ue=>ue?`${D(ue)}${z(ue)}|${ue.gate||"—"}·${ue.star||"—"}·${ue.god||"—"}`:"盘中取不到",V=ue=>!ue||!ue.gateRelation||!ue.gateRelation.type?"门与宫的关系没算到":`${ue.gateRelation.type}(${ue.gateRelation.note||""})`;return{system:"qimen",title:"先看这一局:条件和位置在哪",chips:$([d.ju,d.zhiFu&&`值符${d.zhiFu.star}`]),lead:`${W?`你问的是「${W}」。`:""}日干 ${I} 落在${P(fe)},时干 ${F} 落在${P(ze)}——前者代表你,后者代表这件事。你这边门与宫是${V(fe)};事情那边是${V(ze)}。`,sections:[{h:"你这边的条件",t:fe?`你在${ne[fe.palace]?ne[fe.palace].field:fe.palace+"宫"};门是${fe.gate||"—"}——${T[fe.gate]||"门名只说明形态"}。`:"日干落在中宫或取不到:中宫无门无神,按寄宫(多寄坤二)取用,读的时候要说清这是寄宫。"},{h:"事情那边的条件",t:ze?`事情落在${ne[ze.palace]?ne[ze.palace].field:ze.palace+"宫"};门是${ze.gate||"—"}——${T[ze.gate]||"门名只说明形态"}。`:"时干落在中宫或取不到,同样按寄宫看,别当成坤二本宫。"},{h:"门名不是吉凶",t:"开门主启动、生门主生长、休门主等待、伤门主损耗、杜门主隐藏——这些说的是「这件事现在是什么形态」,不是好坏判决。要看它与日干宫、时干宫的生克。"}],advice:["把「我这边」和「事情那边」的宫位对一下:两边相距越远,越需要中间人、流程或时间。","如果门名是伤门、死门,不是叫你别做,而是提醒这件事的代价和收尾要先想清楚。"],caveat:$([d.juMethodNote||"","奇门重方位与时机;本插件不给具体方位建议,只把宫位与门星神摊开。"]).join(""),footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function N(d){const I=d.cards||[];if(!I.length)return null;const F=String(d.question||"").trim(),oe=I.find(te=>/现在|现况|当下|建议|核心/.test(te.position||""))||I[Math.floor(I.length/2)];return{system:"tarot",title:"先看这几张牌:它们各在说什么",chips:$([d.spread]),lead:`${F?`你问的是「${F}」。`:""}${d.spread||""}:`+I.map(te=>`${te.position}「${te.name}」${te.orientation}`).join(",")+"。",sections:I.slice(0,4).map(te=>({h:te.position,t:`「${te.name}」${te.orientation}:${(te.keywords||[]).slice(0,3).join("、")||te.core||""}。${te.image?`牌面上${te.image}。`:""}${te.astro?`占星对应是${te.astro}。`:te.role?`它在盘上顶的是「${te.role}」那个角色。`:""}${te.positionHint||""}`})),advice:[`最值得先看的是「${oe.name}」(${oe.position}·${oe.orientation})——${(oe.keywords||[]).slice(0,3).join("、")||"它所在的位置,就是这件事现在的着力点"}。`,"把牌当镜子:它给的是看事情的角度,不是判决。看完写一句「那我下一步做什么」。"],caveat:d.systemNote||"塔罗为象征系统,牌义与元素对应存在流派差异。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function O(d){const I=d.score;if(!I)return null;const F=(d.dimensions||[]).filter(ze=>ze&&ze.text),oe=ze=>{const W=ze&&ze.dayMaster;return W?typeof W=="string"?W.replace(/日主$/,""):`${W.stem||""}${W.element||""}`:""},te=oe(d.a),fe=oe(d.b);return{system:"hepan",title:"先看这一张:你们大致怎么相处",chips:$([te&&fe?`${te} × ${fe}`:"",I.level,`${I.total}/100`]),lead:`${te&&fe?`你们是 ${te} 与 ${fe}。`:""}合盘描述的是「相处方式与互补点」,不判合不合,也不决定关系成败。整体上盘面给的是「${I.level}」(${I.total}/100——分数只是相对刻度,不是及格线)。`,sections:F.slice(0,3).map(ze=>({h:ze.label,t:ze.text})),advice:["一起看,别一个人看完拿去判断对方:前者是对话,后者是审判。","把上面的分歧当话题清单:哪一条你们真的在意,就聊哪一条。"],caveat:d.notes&&d.notes[0]||"合盘看的是相处方式与互补点,不决定关系成败。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function we(d){const I=d.points||[],F=d.segments||[];if(!I.length||!F.length)return null;const oe=Number.isInteger(d.meta&&d.meta.nowYear)?d.meta.nowYear:null,te=oe&&I.find(ve=>ve.year===oe)||null,fe=te&&F.find(ve=>te.age>=ve.startAge&&te.age<=ve.endAge)||F[0],ze=F[F.indexOf(fe)+1],W=I.filter(ve=>ve.age>=fe.startAge&&ve.age<=fe.endAge),D=W.length?W.reduce((ve,Ae)=>ve+Ae.score,0)/W.length:0,z=I.reduce((ve,Ae)=>ve+Ae.score,0)/I.length,P=D>=z+5?"比一生平均更亮":D<=z-5?"比一生平均更闷":"与一生平均差不多",V=d.highlights&&d.highlights.best||[],ue=d.highlights&&d.highlights.worst||[],le=te?`你现在 ${te.age} 岁(${oe} 年),在「${fe.ganZhi}」这一步的第 ${te.age-fe.startAge+1} 年(${fe.startAge}–${fe.endAge} 岁)${ze?`,再过 ${fe.endAge-te.age+1} 年到 ${ze.startAge} 岁换「${ze.ganZhi}」`:",已是最后一步"}。`:`没给当前日期(asOf),所以不标「现在在第几步」;先看第一步「${fe.ganZhi}」(${fe.startAge}–${fe.endAge} 岁)起手的样子。`;return{system:"trend",title:"先看这一条线:这些年大致什么走势",chips:$([fe.ganZhi,`${fe.startAge}–${fe.endAge} 岁`,te?`${te.age} 岁`:""]),lead:`这条线按 ${d.meta&&d.meta.toAge||I.length} 岁排到 ${I[I.length-1].year} 年,共 ${F.length} 步大运。`+le,sections:[{h:"这一步的基调",t:`这一步里各年的平均分是 ${D.toFixed(0)},${P}(全盘平均 ${z.toFixed(0)})。分数是相对刻度,不是绝对值。`},{h:"这些年里最亮和最闷的",t:`${V.length?`高点:${V.slice(0,2).join("、")}`:"没有特别高的点"};${ue.length?`低点:${ue.slice(0,2).join("、")}`:"没有特别低的点"}。高点适合推进,低点适合收口。`},{h:"怎么用这条线",t:"它不是命运表,是把「顺/不顺」画成可视的起伏。真正决定走向的,是你在这几步里做了什么。"}],advice:["把下一步换运的年龄记下来:换运前后半年,通常是最容易做决定、也最容易冲动的时候。","低点年别做大额投入,高点年别只观望——这两条比记分数管用。"],caveat:"线按年岁等距绘制,实际每步大运十年;起点与交运按节气推算,出生时刻未知时按日估算。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function Ye(d){return!d||typeof d!="object"?null:d.system==="bazi"?w(d):d.system==="ziwei"?g(d):d.system==="liuyao"?r(d):d.system==="meihua"?y(d):d.system==="daliuren"?h(d):d.system==="qimen"?c(d):d.system==="tarot"?N(d):d.system==="hepan"?O(d):d.system==="trend"?we(d):null}return{plainSummary:Ye}})(),J.index=(function(){const{buildBazi:U}=J.bazi||{},{buildLiuyao:Q,tossLines:ae,bodyLabels:re,yongshenOf:ne,yongshenStrength:T,fushenAccess:_,hexagramStrength:H,jinTuiPower:o,yingqiWindow:A}=J.liuyao||{},{buildZiwei:q,BRIGHTNESS:Z,flowOf:j,asOfParts:$,ZIWEI_SCHOOL_DEFAULTS:b}=J.ziwei||{},{drawTarot:p}=J.tarot||{},{buildMeihua:w}=J.meihua||{},{buildDaliuren:g}=J.daliuren||{},{buildHepan:m,tripleOf:f}=J.hepan||{},{buildZiweiHepan:s}=J["ziwei-hepan"]||{},{buildQimen:i,buildSnapshot:t}=J.qimen||{},{geocodeAddress:r,resolveAddress:y}=J.geo||{},{toJDN:h,ganzhiName:c,dayGanzhiIndex:N}=J.calendar||{},{bool:O,canonicalFlags:we,canonicalNumbers:Ye}=J.bool||{},{randomOf:d,isSeed:I}=J.random||{},{encodeHandle:F,decodeHandle:oe,resolveHandle:te,pruneForeignKeys:fe,ownedKeys:ze}=J.handle||{},{askLink:W,parseAskLink:D,formOf:z,restNote:P,askPackages:V}=J.bridge||{},{parseRevision:ue,displayValue:le}=J.revise||{},{interpret:ve,DIRECTIONS:Ae,DIRECTION_DEFAULT:hn}=J.interpret||{},{followup:ye,askPrompt:nn}=J.followup||{},{crossCheck:Gn,crossText:ke,crossSection:qn}=J.crosscheck||{},{pastSignals:be,verifyFit:je}=J.verify||{},{rectifyBirth:Te}=J.rectify||{},{buildAlmanac:Ge}=J.almanac||{},{buildZeri:Ze}=J.zeri||{},{buildChenggu:Ie}=J.chenggu||{},{buildXiaoliuren:Fe}=J.xiaoliuren||{},{buildStar:Se}=J.star||{},{buildNumerology:cn}=J.numerology||{},{buildMbti:ln,mbtiPaper:dn}=J.mbti||{},{buildConvert:mn}=J.convert||{},{classicsFor:jn,classicsText:zn,suiyunClassicOf:Rn,classicOf:Zn,CLASSIC_BOOKS:rn}=J.classics||{},{diffObjects:Cn,summarize:pn,sortDiffs:On,labelOf:En,rootOf:Wn,categoryOf:rt,formatValue:Xn,CALIBER_SWITCHES:mt,viewRows:it}=J.diff||{},{canonicalJson:In,fingerprintOf:_n}=J.fingerprint||{},{buildTrend:Dn}=J.trend||{},{buildFengshui:l}=J.fengshui||{},{buildName:S}=J.name||{},{buildTrace:v,traceMarkdown:ie,SYSTEM_LABEL:C}=J.trace||{},{fail:Y}=J.fail||{},{assertCivil:Me,MIN_YEAR:pe,MAX_YEAR:_e}=J.validate||{},{parseDateTime:ee,daysInMonth:me}=J.datetime||{},en=e=>String(e).padStart(2,"0"),Re=["male","female"],de=new Set(["bazi","ziwei","hepan","trend","meihua","daliuren","qimen","name"]),Xe={bazi:{what:"时柱",advice:"知道大概几点就补上,不知道就传 hourUnknown:true(只排三柱)"},ziwei:{what:"命宫与生时星曜",advice:"紫微排不出三柱,必须补上出生时刻"},hepan:{what:"两侧时柱",advice:"两侧都要出生时刻,合盘才有意义"},trend:{what:"时柱与起运",advice:"知道大概几点就补上,不知道就传 hourUnknown:true(按日估算)"},meihua:{what:"起卦时刻",advice:"时间起卦要用真实起念时刻,请补 HH:mm"},daliuren:{what:"起课时辰(月将与贵人)",advice:"请补起课时刻 HH:mm"},qimen:{what:"起局时辰(旬首与局数)",advice:"请补起局时刻 HH:mm"},name:{what:"时柱",advice:"请补出生时刻 HH:mm"}};function L(e,a=""){if(Re.includes(e))return e;const u=e==null||e===""?"(未提供)":`「${e}」`;throw Y("E_INPUT",`${a?a+"的":""}gender 必须是 male 或 female${u};性别决定大运/大限顺逆,不能靠默认值`)}const De=["brightnessSchool","gengYearSihua","tianmaSchool","tiankongSchool","jiekongSchool","kuiyueSchool","tianshiTianshang","changshengSchool","lateZishi","shenzhuSchool","zuoyaoSchool"];function he(e){const a={};for(const u of De)e[u]!==void 0&&(a[u]=e[u]);return e.schools&&typeof e.schools=="object"&&(a.schools=e.schools),a}function He(e){const a=e.pillars,u=(Be,kn)=>`${Be}:${kn.ganzhi} ${kn.stemTenGod?`十神 ${kn.stemTenGod} `:""}藏干 ${kn.hidden.map(tt=>`${tt.stem}(${tt.tenGod})`).join(" ")} 纳音 ${kn.nayin} 地势 ${kn.dishi} 自坐 ${kn.zizuo} 空亡 ${kn.kongwang.join("")}`+(kn.shensha&&kn.shensha.length?` 神煞 ${kn.shensha.join("、")}`:""),n=Object.entries(e.wuxing).map(([Be,kn])=>`${Be}${kn}`).join(" "),x=e.palaces?`【胎元】${e.palaces.taiyuan.ganzhi} 胎息 ${e.palaces.taixi?e.palaces.taixi.ganzhi:"—"}`+(e.palaces.minggong?` 命宫 ${e.palaces.minggong.ganzhi}`:" 命宫 时柱暂缺,不排")+(e.palaces.shengong?` 身宫 ${e.palaces.shengong.ganzhi}`:" 身宫 时柱暂缺,不排"):"",k=e.dayun.list.slice(0,8).map(Be=>`${Be.startAge}岁 ${Be.ganzhi}(${Be.stemTenGod})${Be.luck?`·${Be.luck.tier}`:""}${Be.relations&&Be.relations.length?`[${Be.relations.join("")}]`:""}`).join(" "),M=e.dayun.jiao&&e.dayun.jiao.at?`;交运 ${e.dayun.jiao.at}(${e.dayun.jiao.frame},距${e.dayun.jiao.from.name} ${e.dayun.jiao.spanDays} 天,三日折一年)`:"",R=e.jieqi.nearBoundaryMinutes<20?`
|
|
132
|
-
⚠ 出生时刻距「节」仅 ${e.jieqi.nearBoundaryMinutes} 分钟,而节气时刻本身有最多约 14 分钟的偏差,月柱与年柱建议人工复核。`:"",K={year:"年",month:"月",day:"日",hour:"时"},
|
|
133
|
-
`)+R}function Oe(e){const a=e.lunar.monthRaw||e.lunar.month,u=`${e.lunar.year}年${e.lunar.isLeap?`闰${a}`:e.lunar.month}月${e.lunar.day}日`+(e.lunar.isLeap&&e.lunar.month!==a?`(按${e.lunar.month}月起盘)`:""),n=(()=>{if(!e.schools)return"";const Ee=Object.entries({brightnessSchool:"亮度",gengYearSihua:"庚干四化",tianmaSchool:"天马",tiankongSchool:"天空",jiekongSchool:"截空",kuiyueSchool:"魁钺",tianshiTianshang:"天伤天使",changshengSchool:"长生",lateZishi:"晚子时",shenzhuSchool:"身主",zuoyaoSchool:"杂曜全表"}).filter(([xe])=>e.schools[xe]&&e.schools[xe]!==b[xe]).map(([xe,
|
|
134
|
-
`)}const Je=["旺","相","休","囚","死"];function
|
|
136
|
+
- 注意:${c.warn}`:""}`),"","## 三、怎么读状态(最容易偷懒的地方)","- 先说明这一位落在什么处境(旺/衰、空/实、动/静、被制/得助),再说这对他意味着什么。","- 关系只认四种,且都要指到具体两位符号:生(谁生谁)、克(谁克谁)、合(连在一起,合住也可能是拴住)、冲(变动、对立、打破)。","- 空亡、入墓、伏藏、用神两现这些「减分项」,要么说清压低了什么,要么别提——不要念一遍名字就过去。","","## 四、开口之前先自检这三问",...p.map((c,q)=>`${q+1}. ${c}`),"三问答不全,就还没到能下结论的程度,先把答不出的那条写出来。","","## 五、最后必须回到现实核对",...i.reality.map((c,q)=>`${q+1}. ${c}`),"盘面只给方向;上面这些是他明天可以去查、去问、去要的东西。核对完再回来谈结论。","","## 六、表达要求",...$.map(c=>`- ${c}`),"","## 七、禁止",...b.map(c=>`- ${c}`),"","## 八、输出格式","1. **先给你要的答案**:三到五句人话,直接回答他问的那件事。","2. **盘上依据**:按「我 / 对方或事体 / 环境」三块列,每块一句符号 + 一句人话。","3. **现实里该去核对什么**:抄第五节里适用的,不要全抄。","4. **相反提示与不确定处**:盘上哪里指向另一头,你为什么这样权衡。","5. **一句提醒**:这是参考,不替代你自己去核实和决定。"];return{version:V,system:f,kind:s,blocked:!1,subjects:y,text:h.join(`
|
|
137
|
+
`)}}return{EVENT_PROMPT_VERSION:V,ASK_KINDS:ae,buildEventPrompt:w}})(),J["plain-summary"]=(function(){const{ASK_KINDS:U}=J["event-prompt"]||{},{PALACE_FIELD:V,GATE_MEANING:ae}=J["qimen-prompt"]||{},re=U||{},te=V||{},T=ae||{},_={wealth:"business",career:"career",love:"love",health:"other",study:"career",travel:"action",general:"other"},H=d=>_[d]||(re[d]?d:"other"),o={木:{color:"青、绿",where:"东边、有树有水的地方",daily:"早上多出门走走"},火:{color:"红、橙、紫",where:"南边、向阳的房间",daily:"白天多晒太阳,别总待在阴冷的屋里"},土:{color:"黄、棕、米色",where:"中原地带、干爽高燥处",daily:"把作息和吃饭时间固定下来"},金:{color:"白、银、浅灰",where:"西边、通风利落的地方",daily:"把该断的事断干净,别拖"},水:{color:"黑、深蓝",where:"北边、临水处",daily:"留出独处和放空的时间"}},A={正印:"靠吸收和消化来获得安全感,习惯先想明白再动",偏印:"想得比说得多,一件事会在心里推演出很多种可能",正官:"对规矩和责任敏感,别人一句交代会变成自己的压力",七杀:"对压力和竞争敏感,遇强则强,也容易被强势的人吸引",正财:"对现实条件敏感,不太会被空话打动",偏财:"对机会敏感,愿意为看得见的回报承担风险",食神:"表达温和,喜欢把日子过得有滋味",伤官:"有自己的标准,看不上粗糙的东西,容易先挑毛病",比肩:"自我边界清楚,不太愿意被安排",劫财:"同辈之间容易较劲,也容易替朋友出头"},E={长生:"刚起步,有生机",沐浴:"不安定,容易被外界牵动",冠带:"在成形,开始要面子",临官:"正当力,能扛事",帝旺:"很足,但也容易过满",衰:"开始收力,做事偏保守",病:"使不上劲,需要借外力",死:"静态,不爱主动",墓:"收着、藏着,不爱外露",绝:"在这里使不上劲,容易觉得被压着",胎:"还在孕育,慢热",养:"在积攒,等时机"},Z={紫微:"要主导、在意体面",天机:"脑子转得快,爱盘算",太阳:"愿意给出去,也容易被消耗",武曲:"务实,认结果",天同:"图安稳,怕冲突",廉贞:"要强,情绪起伏大",天府:"稳,能存住东西",太阴:"细腻,心思藏在里面",贪狼:"欲望强、多才多艺",巨门:"爱辨析,也容易生口舌",天相:"会配合,擅长讲和",天梁:"老成,愿意护着别人",七杀:"独断,敢冲",破军:"破旧立新,不安于现状"},j={庙:"得力",旺:"得力",得地:"还算得力",平:"一般",陷:"不太稳"},$=d=>[...new Set(d.filter(Boolean))],b={寅:"初春",卯:"仲春",辰:"暮春",巳:"初夏",午:"盛夏",未:"长夏",申:"初秋",酉:"仲秋",戌:"深秋",亥:"初冬",子:"仲冬",丑:"隆冬"};function p(d,I){const F={po:[],chong:[],he:[]};for(const oe of d&&d.branches||[])!I||!String(oe).includes(I)||(/破/.test(oe)?F.po.push(oe):/冲/.test(oe)?F.chong.push(oe):/合/.test(oe)&&F.he.push(oe));return F}function w(d){const I=d.pillars||{},F=I.day||{},oe=I.month||{},ie=d.dayMaster||{},fe=d.climate||{},ke=d.input&&d.input.gender||"female",W=Object.entries(d.frame&&d.frame.godStats&&d.frame.godStats.groups||{}).filter(([,Se])=>Se>0).sort((Se,cn)=>cn[1]-Se[1]),D=d.frame&&d.frame.yongshen&&d.frame.yongshen.favorTenGods||[],k=d.frame&&d.frame.yongshen&&d.frame.yongshen.favor||[],P=d.frame&&d.frame.yongshen&&d.frame.yongshen.avoid||[],ee=b[oe.branch]||`${oe.branch}月`,ue=fe.label==="寒湿"?"天寒水旺,木像冬天的藤,不是不强,是冷得伸展不开":fe.label==="燥热"?"火土偏燥,像久旱的地,需要水和湿气来松一松":"寒暖相对均衡,没有极端的偏枯",le=fe.need&&fe.need.element||k[0]||"",ve=`${ie.stem||""}${ie.element||""}日主,生在${ee}${oe.branch||""}月:${ue}。${le?`最需要的是${le}${fe.need&&fe.need.why?`——${fe.need.why}`:""}。`:""}整体${d.strength?d.strength.level:"中和"},不是极旺也不是极弱,所以${d.strength&&d.strength.level==="身弱"?"很多事要靠外部条件配合,硬扛不如借力":"撑得住,关键是别把力气用在错的地方"}。`,Ae=W.slice(0,2).map(([Se])=>Se),mn=[];for(const Se of Object.values(I))Se&&(Se.stemTenGod&&mn.push(Se.stemTenGod),Se.hidden&&Se.hidden[0]&&Se.hidden[0].tenGod&&mn.push(Se.hidden[0].tenGod));const nn=`${Ae.map(Se=>{const cn={印:["正印","偏印"],官杀:["正官","七杀"],食伤:["食神","伤官"],财:["正财","偏财"],比劫:["比肩","劫财"]}[Se]||[],ln=cn.find($n=>mn.includes($n))||cn[0];return ln&&A[ln]?`${Se}偏重:${A[ln]}。`:""}).filter(Boolean).join("")}${D.length,""}`+(Ae.includes("印")?"想得多是你的默认状态,好处是稳,代价是慢和累。":""),Gn=ke==="female"?["正官","七杀"]:["正财","偏财"],ze=ke==="female"?"官杀(正官与七杀)":"财星(正财与偏财)",Nn={year:"年干",month:"月干",day:"日干",hour:"时干"},be=Object.entries(I).filter(([,Se])=>Se&&Gn.includes(Se.stemTenGod)).map(([Se,cn])=>`${Nn[Se]}${cn.stemTenGod}`),je=F.hidden&&F.hidden[0]&&F.hidden[0].tenGod||"",Te=p(d.relations,F.branch),Ge=[];Ge.push(`${ke==="female"?"女命":"男命"}看配偶星取${ze}${be.length?`,${be.join("、")}`:",盘中未透干"}${be.length?"——摆在明处,说明这件事在你生活里是绕不开的主题":"——不显在明处,往往要靠后天遇到的人把它带出来"}。`),je&&Ge.push(`日支(配偶宫)坐${F.branch}${je}${F.dishi?`,日主在这里是「${F.dishi}」:${E[F.dishi]||""}`:""}。`),Te.po.length&&Ge.push(`日支与另一支相破(${Te.po.join("、")}):破不是吵架,是那种说不清、解释不明白的暗耗,容易冷处理。`),Te.chong.length&&Ge.push(`日支逢冲(${Te.chong.join("、")}):关系里变动感强,聚散、异地、节奏不一致都可能出现。`),Te.he.length&&Ge.push(`日支有合(${Te.he.join("、")}):容易被关系拴住,进去了就不太想出来。`),d.hourUnknown&&Ge.push("时柱暂缺,所以「子女」这一路的信息读不出,感情结论也就少了三分之一。");const Ze=(d.frame&&d.frame.geju||[]).map(Se=>Se.name),Ie=[];Te.po.length&&Ie.push("破在日支:最伤人的往往不是大事,是没说开的小事。"),Ze.includes("伤官见官")&&Ie.push("盘里有「伤官见官」的组合:既想要稳定,又忍不了对方的毛病,这是同一件事的两面。"),Ae.includes("印")&&!Ae.includes("财")&&Ie.push("印重而财轻:想得多、落得少;越焦虑越容易继续想。"),Ie.length||Ie.push("这一盘没有特别尖锐的冲克,卡点更多在「节奏」上——什么时候该动,什么时候该停。");const Fe=[];if(le&&o[le]){const Se=o[le];Fe.push(`多接触${le}:${Se.color}这类颜色、${Se.where},日常可以${Se.daily}。`)}return P.length&&Fe.push(`少把自己放在${P.slice(0,2).join("、")}过重的环境里——不是不能碰,是别长期待在那种氛围中。`),Ae.includes("印")&&Fe.push("给「想」设个时限:一件事想超过十分钟还没结论,就先做一个最小动作,用行动换信息。"),Ze.includes("伤官见官")&&Fe.push("把标准用在事情上,不要用在人身上;对人提要求之前,先说清你需要什么。"),{system:"bazi",title:"先看这一张:这张盘大致在说什么",chips:$([`${ie.stem||""}${ie.element||""}日主`,`${oe.branch||""}月`,fe.label||"",d.strength?d.strength.level:"",d.hourUnknown?"时柱暂缺":""]),lead:ve,sections:[{h:"你的底色",t:nn||"结构比较均衡,没有一边倒的偏重。"},{h:"感情这件事",t:Ge.join("")},{h:"最容易卡住的地方",t:Ie.join("")}],advice:Fe,caveat:d.hourUnknown?"时柱暂缺:以上只据年、月、日六个字,等于全盘信息的七成左右。子女缘分、晚年走势、以及「内心最深处那一层」都读不全,结论只作参考。":"",footer:"以上都是对结构的描述,不是断语;判断好坏要结合你自己的处境。"}}function g(d){const I=d.palaces||[],F=I[0]||{},oe=d.body||{},ie=(F.stars||[]).filter(ye=>ye.type==="主星"),fe=I.find(ye=>ye.isBody)||{},ke=I.find(ye=>ye.palace==="夫妻")||{},W=ie.map(ye=>ye.name).join("、")||"空宫(借对宫)",D=ie.map(ye=>j[ye.brightness]||"").filter(Boolean)[0]||"",k=ye=>ye.filter(nn=>nn.type==="主星").map(nn=>`${nn.name}${Z[nn.name]?`(${Z[nn.name]})`:""}`).join(";"),P=d.patternSummary||{},ee=$(P.broken||[]),ue=$(P.bad||[]),le=$([...P.good||[],...P.neutral||[]]).filter(ye=>!ee.includes(ye)),ve=ke.stars||[],Ae=ve.filter(ye=>ye.type==="主星"),mn=ve.filter(ye=>ye.type==="煞星");return{system:"ziwei",title:"先看这一张:这张盘大致在说什么",chips:$([`命宫在${F.branch||""}`,W,d.bureau?d.bureau.name:"",oe.lands?`身宫落${oe.lands}`:""]),lead:`命宫在${F.branch||""},坐${W}${D?`(${D})`:""};身宫落在${oe.lands||oe.palace||"—"}。${ie.length?`底色是${ie.map(ye=>Z[ye.name]||ye.name).join("、")}。`:"命宫无主星,性格更多由对宫与三方决定,可塑性反而大。"}${le.length?`结构上成的是${le.slice(0,3).join("、")}——格局只说明形状,不是吉凶判词。`:"没有完整成套的格局,这一盘更多看单颗星的性质,少看组合。"}`,sections:[{h:"你的底色",t:`${k(F.stars||[])||"命宫无主星,靠三方四正补"}。身宫落${oe.lands||"—"},说明你这辈子真正花力气的地方在${oe.lands||"那一块"}。`},{h:"感情这件事",t:`夫妻宫在${ke.branch||"—"},坐${Ae.map(ye=>`${ye.name}${ye.brightness?`(${j[ye.brightness]||ye.brightness})`:""}`).join("、")||"空宫(借对宫)"}。${mn.length?`同宫还有${mn.map(ye=>ye.name).join("、")}——关系里容易起摩擦,来得快也去得快。`:"没有明显的煞星同宫,关系相对平顺。"}`},{h:"最容易卡住的地方",t:`${ee.length?`被冲破的格局有${ee.join("、")}——结构还在,但成色打折;冲不等于毁,说的是它不如完好时那么顶用。`:"主要格局没有明显被冲破。"}${ue.length?`另有${ue.join("、")}这类忌格,只描述结构,不作吉凶断。`:""}`}],advice:[`命宫主星${ie.length?`是${ie.map(ye=>ye.name).join("、")},顺它的长处在做事,比硬改性格省力`:"不显,先靠环境和习惯替自己定节奏"}。`,`身宫落${oe.lands||"—"}:这块是你真正在意的地方,也是容易耗人的地方,留出余量。`],caveat:"",footer:"以上都是对结构的描述,不是断语;判断好坏要结合你自己的处境。"}}const m={旺:"当令,气最足",相:"有生机,正在起",休:"气在泄,歇着",囚:"被压着,使不上劲",死:"最弱,得靠外援"},f={官鬼:"职位、压力、管你的人和事",妻财:"钱、资源、实际回报",父母:"文书、答复、流程与长辈",子孙:"结果本身、松弛、把事情落地",兄弟:"同辈、分利、竞争"},s={日生:"日辰生它,当天有人托着",日克:"日辰克它,当天被压一头",比和:"与日辰同气,力量相当",日合:"与日辰相合,黏住了",日冲:"与日辰相冲,当天就动"};function i(d){if(!d)return"";const I=[],F=m[d.monthState]||d.monthSay||"";F&&I.push(`月令${d.monthState||""}(${F})`);const oe=s[d.dayRelation]||d.daySay||"";return oe&&I.push(oe),d.kong&&I.push("旬空——抓不实,等冲或填"),d.moving&&I.push("发动,是这件事的动因"),d.monthChong&&I.push("月破,先破后立"),I.join(";")}function t(d){const I=d.hexStrength&&d.hexStrength.lines||[];if(!I.length)return null;const F=I.find(le=>le.shi)||null,oe=I.find(le=>le.ying)||null,ie=d.body||{},fe=ie.ben||{},ke=ie.bian||{},W=d.cast&&d.cast.movingPositions||[],D=I.filter(le=>le.moving),k=String(d.question||"").trim(),P=$([...ie.labels||[],...d.hexStrength&&d.hexStrength.labels||[]]),ee=d.hexStrength&&d.hexStrength.month?d.hexStrength.month.branch:"",ue=[fe.chong?"六冲卦:事情容易散、节奏快":"",fe.he?"六合卦:事情黏住、快不起来":"",ie.fuYin&&(ie.fuYin.inner||ie.fuYin.outer)?"有伏吟:原地打转":"",ie.fanYin&&(ie.fanYin.inner||ie.fanYin.outer)?"有反吟:来回反复":""].filter(Boolean);return{system:"liuyao",title:"先看这一卦:这卦大致在说什么",chips:$([fe.name,ke.name?`变${ke.name}`:"",W.length?`${W.length} 爻动`:"静卦",ee?`${ee}月`:""]),lead:`${k?`你问的是「${k}」。`:""}本卦「${fe.name||"—"}」${ke.name?`,${W.length?`第 ${W.join("、")} 爻动`:"六爻安静"},变「${ke.name}」`:""}。方向还留在「综合」,所以这一卦没有取用神——先只讲与问题无关的那几样:你(世爻)、事情(应爻)、卦体。`,sections:[{h:"代表你的是",t:F?`世爻在${F.name}(${F.branch}${F.element}·${F.liuqin}):${i(F)||"状态平稳"}。`:"这一卦取不到世爻。"},{h:"代表事情的是",t:oe?`应爻在${oe.name}(${oe.branch}${oe.element}·${oe.liuqin}):${i(oe)||"状态平稳"}。应爻说的是「事情那一头」的状态,不是你努力的程度。`:"这一卦取不到应爻。"},{h:"卦体与动爻",t:`${ue.length?`${ue.join(";")}。`:"没有六冲、六合、伏吟、反吟这类整体结构。"}${D.length?`动爻在${D.map(le=>`${le.name}(${le.liuqin})`).join("、")}——动的地方,就是这件事会发生变化的那一环。`:"六爻安静:眼下没有明显在动的地方,说明事情的节奏还没起来。"}`}],advice:["先在上面选一个「询问方向」(工作、感情、生意、推进、择日):选完才会取用神,旺衰、应期、成败条件才有落点。",...(re.other&&re.other.reality||[]).slice(0,2)].filter(Boolean),caveat:"未指定所问之事:这一版只读世应、卦体与动爻,不判成败,也不给应期——不是算不出来,是取用神要先知道问什么。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function r(d){const I=d.useGod||{};if(!I.liuqin)return t(d);const F=I.found||[];if(!F.length&&!I.missing)return null;const oe=String(d.question||"").trim(),ie=d.useGodStrength&&d.useGodStrength.lines||[],fe=ye=>ie.find(nn=>nn.position===ye)||null,W=(d.hexStrength&&d.hexStrength.lines||[]).find(ye=>ye.shi)||null,D=d.useGodStrength&&d.useGodStrength.month?d.useGodStrength.month.branch:"",k=d.dayGanZhi&&d.dayGanZhi.name||"",P=F.map(ye=>ye.name).join("、"),ee=`${oe?`你问的是「${oe}」。`:"你没填具体问题,这里按「综合」取用神,结论会更粗。"}这卦里代表它的是「${I.liuqin}」(${I.ask||""}),`+(F.length?`落在${P}${F.length>1?"——两处都出现了,两个条件要一起看":""}。`:"盘中看不见它(伏藏),要等冲开或引出才有动静。")+`日辰是${k||"—"},月建是${D||"—"}。`,ue=[],le=[];for(const ye of F){const nn=fe(ye.position);nn&&(/旺|相/.test(nn.monthState||"")&&!nn.kong&&!nn.monthChong&&ue.push(ye.name),(/日克|日冲/.test(nn.dayRelation||"")||nn.kong||nn.monthChong)&&le.push(ye.name))}const ve=F.length?ue.length>le.length?"条件偏有利":le.length>ue.length?"条件偏紧,得有外力或时间":"一半一半,取决于你怎么推":"没有可判的落点",Ae=$([...(I.labels||[]).filter(ye=>/两现|伏藏|六合|六冲/.test(ye)),d.body&&d.body.ben&&d.body.ben.chong?"六冲卦:事情容易散,节奏偏快":"",d.body&&d.body.ben&&d.body.ben.he?"六合卦:事情黏住,快不起来":""]),mn=$((d.yingqi&&d.yingqi.items||[]).map(ye=>ye.branch)).slice(0,4);return{system:"liuyao",title:"先看这一卦:这卦大致在说什么",chips:$([d.ben&&d.ben.name,`用神 ${I.liuqin||""}`,D?`${D}月`:"",d.yingqi?d.yingqi.tempo:""]),lead:ee,sections:[{h:"代表你的是",t:W?`世爻在${W.name}(${W.branch}${W.element}·${W.liuqin}):${i(W)||"状态平稳"}。`:"这一卦的世爻取不到,先看用神那一条。"},{h:"代表这件事的是",t:F.length?F.map(ye=>`${ye.name} ${ye.ganzhi}(${ye.liuqin}):${i(fe(ye.position))||"没有明显的月日冲克"}。`).join(""):"用神伏藏:盘中看不见它,说明这件事现在还不在明面上,要等一个引子。"},{h:"成不成看哪里",t:`把用神的月令与日辰放在一起,盘面给的是「${ve}」。${Ae.length?`另有:${Ae.join(";")}。`:""}`}],advice:[...(re[H(I.direction)]&&re[H(I.direction)].reality||[]).slice(0,2),mn.length?`应期只看地支:${mn.join("、")}——地支只是「往哪个方向等」,不是公历日期。`:""].filter(Boolean),caveat:$([F.length>1?`用神两现(${P}):本插件不替你二选一,两处条件一起看。`:"",I.missing?"用神伏藏:先看伏神与飞神的关系,再看有没有东西把它冲出来。":"","世应只说明「你」和「事」的相对位置,不直接等于吉凶。"]).join(""),footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function y(d){const I=d.bodyUse;if(!I||!I.body||!I.use)return null;const F=String(d.question||"").trim();return{system:"meihua",title:"先看这一卦:方向大致在哪",chips:$([d.ben&&d.ben.name,d.bian&&`变${d.bian.name}`,I.relation?`体用 ${I.relation.split("(")[0]}`:""]),lead:`${F?`你问的是「${F}」。`:""}本卦「${d.ben&&d.ben.name}」,动在第 ${d.moving} 爻,变卦「${d.bian&&d.bian.name}」。体卦 ${I.body.trigram}(${I.body.element})代表你,用卦 ${I.use.trigram}(${I.use.element})代表这件事:${I.relation}。`,sections:[{h:"过程与结果",t:`过程看互卦「${d.hu&&d.hu.name||"—"}」,结果看变卦「${d.bian&&d.bian.name||"—"}」。梅花给的是方向,不是细节——它不会告诉你几号、多少钱。`},{h:"盘面给的分量",t:`这一卦的体用关系被标成「${I.level}」。注意:这是条件层面的判断,不是结果已经发生;条件好但不动,一样没有结果。`}],advice:["把它当「换个角度看这件事」:体用只分「谁在给、谁在耗」,剩下要你自己补具体动作。","如果要推进,先定一个最小动作(打个电话、发条消息),别等条件齐了再动。"],caveat:"梅花取象的自由度大:同一卦,不同人读出的细节可以不同。本插件只取体用生克这一层。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function h(d){const I=d.sanChuan||{};if(!I.chu||!I.zhong||!I.mo)return null;const F=String(d.question||"").trim(),oe=fe=>`${fe.zhi}(${fe.liuQin||""}·${fe.jiangFull||""})`,ie=fe=>f[fe.liuQin]?`——${f[fe.liuQin]}`:"";return{system:"daliuren",title:"先看这一课:事情怎么走到这一步",chips:$([d.geJu&&d.geJu.name,`${I.chu.zhi}→${I.mo.zhi}`,d.yueJiang&&`月将${d.yueJiang.zhi}`]),lead:`${F?`你问的是「${F}」。`:""}三传是 ${I.chu.zhi} → ${I.zhong.zhi} → ${I.mo.zhi};末传落 ${I.mo.zhi}(${I.mo.liuQin||""}·${I.mo.jiangFull||""}),课体是「${d.geJu&&d.geJu.name||"—"}」。`,sections:[{h:"起手(初传)",t:`${oe(I.chu)}${ie(I.chu)}。这是事情开头的样子。`},{h:"转折(中传)",t:`${oe(I.zhong)}${ie(I.zhong)}。中间会经过这一段,也是容易改道的地方。`},{h:"落点(末传)",t:`${oe(I.mo)}${ie(I.mo)}。末传比初传更接近结果——但也只是「照现在这样走下去会到哪」。`}],advice:["先看初传:事情是从哪儿起的?把那个起点找出来,比猜结果有用。","中传若与初传相冲相克,说明中途会变;这时别把计划定死。"],caveat:"三传讲的是传变形态,不给具体日期;同一课不同流派对课体的命名也有差异。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function c(d){const I=d.siZhu&&d.siZhu.day?String(d.siZhu.day)[0]:"",F=d.siZhu&&d.siZhu.time?String(d.siZhu.time)[0]:"",oe=d.palaces||[];if(!oe.length)return null;const ie=ue=>oe.find(le=>le.tianPan===ue)||(d.centerPalace&&d.centerPalace.tianPan===ue?d.centerPalace:null),fe=ie(I),ke=ie(F),W=String(d.question||"").trim(),D=ue=>{const le=ue&&te[ue.palace]&&te[ue.palace].field;return le?le.split(":")[0]:ue?`${ue.palace}宫`:"盘中取不到"},k=ue=>ue&&te[ue.palace]&&te[ue.palace].dir?`(${te[ue.palace].dir})`:"",P=ue=>ue?`${D(ue)}${k(ue)}|${ue.gate||"—"}·${ue.star||"—"}·${ue.god||"—"}`:"盘中取不到",ee=ue=>!ue||!ue.gateRelation||!ue.gateRelation.type?"门与宫的关系没算到":`${ue.gateRelation.type}(${ue.gateRelation.note||""})`;return{system:"qimen",title:"先看这一局:条件和位置在哪",chips:$([d.ju,d.zhiFu&&`值符${d.zhiFu.star}`]),lead:`${W?`你问的是「${W}」。`:""}日干 ${I} 落在${P(fe)},时干 ${F} 落在${P(ke)}——前者代表你,后者代表这件事。你这边门与宫是${ee(fe)};事情那边是${ee(ke)}。`,sections:[{h:"你这边的条件",t:fe?`你在${te[fe.palace]?te[fe.palace].field:fe.palace+"宫"};门是${fe.gate||"—"}——${T[fe.gate]||"门名只说明形态"}。`:"日干落在中宫或取不到:中宫无门无神,按寄宫(多寄坤二)取用,读的时候要说清这是寄宫。"},{h:"事情那边的条件",t:ke?`事情落在${te[ke.palace]?te[ke.palace].field:ke.palace+"宫"};门是${ke.gate||"—"}——${T[ke.gate]||"门名只说明形态"}。`:"时干落在中宫或取不到,同样按寄宫看,别当成坤二本宫。"},{h:"门名不是吉凶",t:"开门主启动、生门主生长、休门主等待、伤门主损耗、杜门主隐藏——这些说的是「这件事现在是什么形态」,不是好坏判决。要看它与日干宫、时干宫的生克。"}],advice:["把「我这边」和「事情那边」的宫位对一下:两边相距越远,越需要中间人、流程或时间。","如果门名是伤门、死门,不是叫你别做,而是提醒这件事的代价和收尾要先想清楚。"],caveat:$([d.juMethodNote||"","奇门重方位与时机;本插件不给具体方位建议,只把宫位与门星神摊开。"]).join(""),footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function q(d){const I=d.cards||[];if(!I.length)return null;const F=String(d.question||"").trim(),oe=I.find(ie=>/现在|现况|当下|建议|核心/.test(ie.position||""))||I[Math.floor(I.length/2)];return{system:"tarot",title:"先看这几张牌:它们各在说什么",chips:$([d.spread]),lead:`${F?`你问的是「${F}」。`:""}${d.spread||""}:`+I.map(ie=>`${ie.position}「${ie.name}」${ie.orientation}`).join(",")+"。",sections:I.slice(0,4).map(ie=>({h:ie.position,t:`「${ie.name}」${ie.orientation}:${(ie.keywords||[]).slice(0,3).join("、")||ie.core||""}。${ie.image?`牌面上${ie.image}。`:""}${ie.astro?`占星对应是${ie.astro}。`:ie.role?`它在盘上顶的是「${ie.role}」那个角色。`:""}${ie.positionHint||""}`})),advice:[`最值得先看的是「${oe.name}」(${oe.position}·${oe.orientation})——${(oe.keywords||[]).slice(0,3).join("、")||"它所在的位置,就是这件事现在的着力点"}。`,"把牌当镜子:它给的是看事情的角度,不是判决。看完写一句「那我下一步做什么」。"],caveat:d.systemNote||"塔罗为象征系统,牌义与元素对应存在流派差异。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function O(d){const I=d.score;if(!I)return null;const F=(d.dimensions||[]).filter(ke=>ke&&ke.text),oe=ke=>{const W=ke&&ke.dayMaster;return W?typeof W=="string"?W.replace(/日主$/,""):`${W.stem||""}${W.element||""}`:""},ie=oe(d.a),fe=oe(d.b);return{system:"hepan",title:"先看这一张:你们大致怎么相处",chips:$([ie&&fe?`${ie} × ${fe}`:"",I.level,`${I.total}/100`]),lead:`${ie&&fe?`你们是 ${ie} 与 ${fe}。`:""}合盘描述的是「相处方式与互补点」,不判合不合,也不决定关系成败。整体上盘面给的是「${I.level}」(${I.total}/100——分数只是相对刻度,不是及格线)。`,sections:F.slice(0,3).map(ke=>({h:ke.label,t:ke.text})),advice:["一起看,别一个人看完拿去判断对方:前者是对话,后者是审判。","把上面的分歧当话题清单:哪一条你们真的在意,就聊哪一条。"],caveat:d.notes&&d.notes[0]||"合盘看的是相处方式与互补点,不决定关系成败。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function we(d){const I=d.points||[],F=d.segments||[];if(!I.length||!F.length)return null;const oe=Number.isInteger(d.meta&&d.meta.nowYear)?d.meta.nowYear:null,ie=oe&&I.find(ve=>ve.year===oe)||null,fe=ie&&F.find(ve=>ie.age>=ve.startAge&&ie.age<=ve.endAge)||F[0],ke=F[F.indexOf(fe)+1],W=I.filter(ve=>ve.age>=fe.startAge&&ve.age<=fe.endAge),D=W.length?W.reduce((ve,Ae)=>ve+Ae.score,0)/W.length:0,k=I.reduce((ve,Ae)=>ve+Ae.score,0)/I.length,P=D>=k+5?"比一生平均更亮":D<=k-5?"比一生平均更闷":"与一生平均差不多",ee=d.highlights&&d.highlights.best||[],ue=d.highlights&&d.highlights.worst||[],le=ie?`你现在 ${ie.age} 岁(${oe} 年),在「${fe.ganZhi}」这一步的第 ${ie.age-fe.startAge+1} 年(${fe.startAge}–${fe.endAge} 岁)${ke?`,再过 ${fe.endAge-ie.age+1} 年到 ${ke.startAge} 岁换「${ke.ganZhi}」`:",已是最后一步"}。`:`没给当前日期(asOf),所以不标「现在在第几步」;先看第一步「${fe.ganZhi}」(${fe.startAge}–${fe.endAge} 岁)起手的样子。`;return{system:"trend",title:"先看这一条线:这些年大致什么走势",chips:$([fe.ganZhi,`${fe.startAge}–${fe.endAge} 岁`,ie?`${ie.age} 岁`:""]),lead:`这条线按 ${d.meta&&d.meta.toAge||I.length} 岁排到 ${I[I.length-1].year} 年,共 ${F.length} 步大运。`+le,sections:[{h:"这一步的基调",t:`这一步里各年的平均分是 ${D.toFixed(0)},${P}(全盘平均 ${k.toFixed(0)})。分数是相对刻度,不是绝对值。`},{h:"这些年里最亮和最闷的",t:`${ee.length?`高点:${ee.slice(0,2).join("、")}`:"没有特别高的点"};${ue.length?`低点:${ue.slice(0,2).join("、")}`:"没有特别低的点"}。高点适合推进,低点适合收口。`},{h:"怎么用这条线",t:"它不是命运表,是把「顺/不顺」画成可视的起伏。真正决定走向的,是你在这几步里做了什么。"}],advice:["把下一步换运的年龄记下来:换运前后半年,通常是最容易做决定、也最容易冲动的时候。","低点年别做大额投入,高点年别只观望——这两条比记分数管用。"],caveat:"线按年岁等距绘制,实际每步大运十年;起点与交运按节气推算,出生时刻未知时按日估算。",footer:"以上是把盘面符号翻译成话,不是断语;真正的判断要看现实里那几步。"}}function Ye(d){return!d||typeof d!="object"?null:d.system==="bazi"?w(d):d.system==="ziwei"?g(d):d.system==="liuyao"?r(d):d.system==="meihua"?y(d):d.system==="daliuren"?h(d):d.system==="qimen"?c(d):d.system==="tarot"?q(d):d.system==="hepan"?O(d):d.system==="trend"?we(d):null}return{plainSummary:Ye}})(),J.index=(function(){const{buildBazi:U}=J.bazi||{},{buildLiuyao:V,tossLines:ae,bodyLabels:re,yongshenOf:te,yongshenStrength:T,fushenAccess:_,hexagramStrength:H,jinTuiPower:o,yingqiWindow:A}=J.liuyao||{},{buildZiwei:E,BRIGHTNESS:Z,flowOf:j,asOfParts:$,ZIWEI_SCHOOL_DEFAULTS:b}=J.ziwei||{},{drawTarot:p}=J.tarot||{},{buildMeihua:w}=J.meihua||{},{buildDaliuren:g}=J.daliuren||{},{buildHepan:m,tripleOf:f}=J.hepan||{},{buildZiweiHepan:s}=J["ziwei-hepan"]||{},{buildQimen:i,buildSnapshot:t}=J.qimen||{},{geocodeAddress:r,resolveAddress:y}=J.geo||{},{toJDN:h,ganzhiName:c,dayGanzhiIndex:q}=J.calendar||{},{bool:O,canonicalFlags:we,canonicalNumbers:Ye}=J.bool||{},{randomOf:d,isSeed:I}=J.random||{},{encodeHandle:F,decodeHandle:oe,resolveHandle:ie,pruneForeignKeys:fe,ownedKeys:ke}=J.handle||{},{askLink:W,parseAskLink:D,formOf:k,restNote:P,askPackages:ee}=J.bridge||{},{parseRevision:ue,displayValue:le}=J.revise||{},{interpret:ve,DIRECTIONS:Ae,DIRECTION_DEFAULT:mn}=J.interpret||{},{followup:ye,askPrompt:nn}=J.followup||{},{crossCheck:Gn,crossText:ze,crossSection:Nn}=J.crosscheck||{},{pastSignals:be,verifyFit:je}=J.verify||{},{rectifyBirth:Te}=J.rectify||{},{buildAlmanac:Ge}=J.almanac||{},{buildZeri:Ze}=J.zeri||{},{buildChenggu:Ie}=J.chenggu||{},{buildXiaoliuren:Fe}=J.xiaoliuren||{},{buildStar:Se}=J.star||{},{buildNumerology:cn}=J.numerology||{},{buildMbti:ln,mbtiPaper:$n}=J.mbti||{},{buildConvert:gn}=J.convert||{},{classicsFor:xn,classicsText:kn,suiyunClassicOf:Rn,classicOf:Zn,CLASSIC_BOOKS:rn}=J.classics||{},{diffObjects:Cn,summarize:pn,sortDiffs:On,labelOf:En,rootOf:Xn,categoryOf:ut,formatValue:Qn,CALIBER_SWITCHES:mt,viewRows:ot}=J.diff||{},{canonicalJson:In,fingerprintOf:_n}=J.fingerprint||{},{buildTrend:Dn}=J.trend||{},{buildFengshui:l}=J.fengshui||{},{buildName:S}=J.name||{},{buildTrace:v,traceMarkdown:X,SYSTEM_LABEL:C}=J.trace||{},{fail:Y}=J.fail||{},{assertCivil:Me,MIN_YEAR:pe,MAX_YEAR:_e}=J.validate||{},{parseDateTime:ne,daysInMonth:me}=J.datetime||{},en=e=>String(e).padStart(2,"0"),Pe=["male","female"],de=new Set(["bazi","ziwei","hepan","trend","meihua","daliuren","qimen","name"]),Xe={bazi:{what:"时柱",advice:"知道大概几点就补上,不知道就传 hourUnknown:true(只排三柱)"},ziwei:{what:"命宫与生时星曜",advice:"紫微排不出三柱,必须补上出生时刻"},hepan:{what:"两侧时柱",advice:"两侧都要出生时刻,合盘才有意义"},trend:{what:"时柱与起运",advice:"知道大概几点就补上,不知道就传 hourUnknown:true(按日估算)"},meihua:{what:"起卦时刻",advice:"时间起卦要用真实起念时刻,请补 HH:mm"},daliuren:{what:"起课时辰(月将与贵人)",advice:"请补起课时刻 HH:mm"},qimen:{what:"起局时辰(旬首与局数)",advice:"请补起局时刻 HH:mm"},name:{what:"时柱",advice:"请补出生时刻 HH:mm"}};function L(e,a=""){if(Pe.includes(e))return e;const u=e==null||e===""?"(未提供)":`「${e}」`;throw Y("E_INPUT",`${a?a+"的":""}gender 必须是 male 或 female${u};性别决定大运/大限顺逆,不能靠默认值`)}const De=["brightnessSchool","gengYearSihua","tianmaSchool","tiankongSchool","jiekongSchool","kuiyueSchool","tianshiTianshang","changshengSchool","lateZishi","shenzhuSchool","zuoyaoSchool"];function he(e){const a={};for(const u of De)e[u]!==void 0&&(a[u]=e[u]);return e.schools&&typeof e.schools=="object"&&(a.schools=e.schools),a}function He(e){const a=e.pillars,u=(Be,jn)=>`${Be}:${jn.ganzhi} ${jn.stemTenGod?`十神 ${jn.stemTenGod} `:""}藏干 ${jn.hidden.map(at=>`${at.stem}(${at.tenGod})`).join(" ")} 纳音 ${jn.nayin} 地势 ${jn.dishi} 自坐 ${jn.zizuo} 空亡 ${jn.kongwang.join("")}`+(jn.shensha&&jn.shensha.length?` 神煞 ${jn.shensha.join("、")}`:""),n=Object.entries(e.wuxing).map(([Be,jn])=>`${Be}${jn}`).join(" "),x=e.palaces?`【胎元】${e.palaces.taiyuan.ganzhi} 胎息 ${e.palaces.taixi?e.palaces.taixi.ganzhi:"—"}`+(e.palaces.minggong?` 命宫 ${e.palaces.minggong.ganzhi}`:" 命宫 时柱暂缺,不排")+(e.palaces.shengong?` 身宫 ${e.palaces.shengong.ganzhi}`:" 身宫 时柱暂缺,不排"):"",z=e.dayun.list.slice(0,8).map(Be=>`${Be.startAge}岁 ${Be.ganzhi}(${Be.stemTenGod})${Be.luck?`·${Be.luck.tier}`:""}${Be.relations&&Be.relations.length?`[${Be.relations.join("")}]`:""}`).join(" "),M=e.dayun.jiao&&e.dayun.jiao.at?`;交运 ${e.dayun.jiao.at}(${e.dayun.jiao.frame},距${e.dayun.jiao.from.name} ${e.dayun.jiao.spanDays} 天,三日折一年)`:"",R=e.jieqi.nearBoundaryMinutes<20?`
|
|
138
|
+
⚠ 出生时刻距「节」仅 ${e.jieqi.nearBoundaryMinutes} 分钟,而节气时刻本身有最多约 14 分钟的偏差,月柱与年柱建议人工复核。`:"",K={year:"年",month:"月",day:"日",hour:"时"},qe=e.shensha&&e.shensha.groups&&e.shensha.groups.length?`神煞(${e.shensha.count} 见):`+e.shensha.groups.map(Be=>`${Be.cat}|`+Be.items.map(jn=>`${jn.name}(${jn.pillars.map(at=>K[at]).join("")})`).join("、")).join(";"):"神煞:—",ge=e.renyuan,ce=Zn("smt-renyuan"),Q=ge?`人元:${ge.month}月第${ge.day}日,${ge.active}${ge.activeElement}司权(${ge.segments.map(Be=>`${Be.stem}${Be.from}–${Be.to}`).join(" ")})${ge.beyond?";已过 30 日表,按本气算":""}${ce?`|原文见《${rn[ce.book].name}·${ce.chapter}》`:""}`:"",Ee=e.frame&&e.frame.yongshen&&e.frame.yongshen.disputed||[],xe=Ee.length?` 有争议:${Ee.map(Be=>`${Be.element}(${Be.favorRole};${Be.climate}盘调候忌${Be.element})`).join("、")}`:"",qn=new Set(Ee.map(Be=>Be.element)),un=e.frame&&e.frame.yongshen&&e.frame.yongshen.neutral||[],Ln=un.length?` 中性偏忌:${un.map(Be=>`${Be.element} ${Be.weight} 分`).join("、")}(近零,不作实忌)`:"",Yn=e.frame?[`格局:${e.frame.primary?`${e.frame.primary.name}(${e.frame.primary.evidence})`:"—"}`,` ${e.frame.geju.map(Be=>`${Be.name}[${Be.kind}${Be.status?`·${Be.status}`:""}]`).join(" ")}`,`用神:喜${e.frame.yongshen.favor.join("")}(${e.frame.yongshen.favorTenGods.join("、")}) 忌${e.frame.yongshen.avoid.join("")}(${e.frame.yongshen.avoidTenGods.join("、")})${xe}${Ln} ${e.frame.yongshen.method}`,` ${e.frame.yongshen.detail}`,`寒暖:${e.climate?`${e.climate.label}(${(e.climate.evidence||[]).join("、")})${e.climate.need?` 调候取${e.climate.need.stem}${e.climate.need.element} 忌${e.climate.avoidElement}${qn.has(e.climate.avoidElement)?"(有争议)":""}`:""}`:"—"}`+(e.frame.yongshen.qt?` 穷通:${e.frame.yongshen.qt.month}${e.frame.yongshen.qt.stem}取${e.frame.yongshen.qt.yong.join("、")}(首取${e.frame.yongshen.qt.primary})`:""),`十神权重:${Object.entries(e.frame.godStats.groups).map(([Be,jn])=>`${Be}${jn}`).join(" ")}`]:[],ft=e.hourUnknown===!0||!a.hour;return[`【四柱】${a.year.ganzhi} ${a.month.ganzhi} ${a.day.ganzhi}${a.hour?` ${a.hour.ganzhi}`:"(时柱暂缺)"}`,`日主:${e.dayMaster.stem}${e.dayMaster.element}(${e.dayMaster.yinYang}) 空亡:${e.kongwang.join("")}`,u("年柱",a.year),u("月柱",a.month),u("日柱",a.day),...ft?[]:[u("时柱",a.hour)],`五行:${n}`,...x?[x]:[],`日主强弱:${e.strength.level}(${e.strength.score}) ${e.strength.detail}`,...Yn,`天干关系:${e.relations&&e.relations.stems.length?e.relations.stems.join(" "):"—"}`,`地支关系:${e.relations&&e.relations.branches.length?e.relations.branches.join(" "):"—"}`,qe,`真太阳时:${e.solarTime.trueSolarText}(${e.input.geo?e.input.geo.note+";":""}${e.solarTime.note}) 晚子时:${e.input.lateZi?"23:00 后算次日":"23:00 后仍算当日"}`,`节气:上一节 ${e.jieqi.previous.name} ${e.jieqi.previous.time} 下一节 ${e.jieqi.next.name} ${e.jieqi.next.time}`,...Q?[Q]:[],`大运:${e.dayun.rule}(${e.dayun.direction}),${e.dayun.startAge.years}岁${e.dayun.startAge.months}个月起运${M}`,` ${z}`,`流年:${e.liunian.slice(0,10).map(Be=>`${Be.year}${Be.ganzhi}(${Be.stemTenGod})${Be.luck?`·${Be.luck.tier}`:""}`).join(" ")}`,(()=>{const Be=e.liunian.filter(Pn=>Pn.suiyun&&Pn.suiyun.signals&&Pn.suiyun.signals.length);if(!Be.length)return"岁运提示:近十年无岁运并临、运年反吟或大运/流年伏吟、反吟(只标干支,不判吉凶)";const jn=Pn=>`${Pn.type}${(Pn.type.startsWith("流年")||Pn.type.startsWith("大运"))&&Pn.target?`(${Pn.target})`:""}`,at=Rn(e),yt=at?`|古籍见《${rn[at.book].name}·${at.chapter}》`:"";return"岁运提示(只标干支变动,不判吉凶):"+Be.map(Pn=>`${Pn.year}${Pn.ganzhi} ${Pn.suiyun.signals.map(jn).join("/")}`).join(";")+yt})(),"(格局、用神、行运吉凶为扶抑+简化调候的量化提示,非断语。)"].join(`
|
|
139
|
+
`)+R}function Oe(e){const a=e.lunar.monthRaw||e.lunar.month,u=`${e.lunar.year}年${e.lunar.isLeap?`闰${a}`:e.lunar.month}月${e.lunar.day}日`+(e.lunar.isLeap&&e.lunar.month!==a?`(按${e.lunar.month}月起盘)`:""),n=(()=>{if(!e.schools)return"";const Ee=Object.entries({brightnessSchool:"亮度",gengYearSihua:"庚干四化",tianmaSchool:"天马",tiankongSchool:"天空",jiekongSchool:"截空",kuiyueSchool:"魁钺",tianshiTianshang:"天伤天使",changshengSchool:"长生",lateZishi:"晚子时",shenzhuSchool:"身主",zuoyaoSchool:"杂曜全表"}).filter(([xe])=>e.schools[xe]&&e.schools[xe]!==b[xe]).map(([xe,qn])=>`${qn} ${e.schools[xe]}`);return Ee.length?`【流派】${Ee.join(" ")}`:""})(),x=Q=>Q.length?Q.map(Ee=>`${Ee.name}${Ee.mutagen?`化${Ee.mutagen}`:""}`).join(" "):"—",z=Q=>`神煞:长生(${Q.changsheng}) 博士(${Q.boshi}) 将前(${Q.jiangqian}) 岁前(${Q.suiqi})`,M=[];for(const Q of e.palaces){const Ee=Q.isSoul?"【命】":Q.isBody?"【身】":" ";M.push(` ${Q.palace} ${Q.branch} ${Q.ganzhi} ${Ee} 大限${String(Q.daxian.start).padStart(2)}-${Q.daxian.end} 小限${String(Q.xiaoxian.age).padStart(2)} ${x(Q.stars)}`),M.push(` ${z(Q.shensha)}`)}const R=(e.liunian??[]).slice(0,6).map(Q=>` ${Q.year} ${Q.ganzhi} ${String(Q.age).padStart(2)}岁 命宫${Q.lifePalace.branch}(${Q.lifePalace.palace}) 流禄${Q.liulu} 流羊${Q.liuyang} 流陀${Q.liutuo} | ${Q.mutagen.map(Ee=>Ee.replace("化","")).join(" ")}`+(Q.mutagenHits?` 四化落宫 ${Q.mutagenHits.map(Ee=>`${Ee.star}${Ee.type}→${Ee.palace||"未上盘"}`).join("、")}`:"")+(Q.sanfangMainStars?` 三方主星 ${Q.sanfangMainStars.join("")}`:"")),K=(e.patterns??[]).length?e.patterns.map(Q=>`${Q.name}(${Q.tone==="good"?"吉格":Q.tone==="bad"?"忌格":"中"}:${Q.evidence})`).join(";"):"无明显格局(按内置规则)",qe=(e.daxianList??[]).slice(0,8).map(Q=>` ${Q.branch}宫(${Q.palace})${Q.ages[0]}-${Q.ages[1]}岁 ${Q.ganzhi} 会${Q.mainStars.join("")||"—"} 化 ${Q.mutagenHits.map(Ee=>`${Ee.star}${Ee.type}→${Ee.palace||"未上盘"}`).join("、")}`),ge=(()=>{const Q=e.flyChains;if(!Q)return"";const Ee=qn=>{const un=Q[qn];return!un||!un.steps.length?"":`${qn}:${un.path.join("→")}${un.closed?"(成环)":""}`},xe=["禄","权","科","忌"].map(Ee).filter(Boolean).join(" ");return xe?`【命宫飞星】${xe}`:""})(),ce=(()=>{const Q=e.flyComposite;if(!Q||!Array.isArray(Q.sources)||!Q.sources.length)return"";const Ee=Q.labels.length?Q.labels.join(" · "):"无同宫会聚",xe=["禄","权","科","忌"].map(qn=>{const un=(Q.byType&&Q.byType[qn]||[]).filter(Yn=>!Yn.self),Ln=[...new Set(un.map(Yn=>String(Yn.to).replace(/宫$/,"")))];return Ln.length?`${qn}→${Ln.join("/")}`:""}).filter(Boolean).join(" ");return`【三方四正飞化】${Q.sanfang.join("·")}:${Ee}${xe?` ${xe}`:""}`})();return[`【农历】${u}(月首 ${e.lunar.monthStart}) 时支:${e.hourBranch} 年干支:${e.yearGanzhi}`,`【时刻】${e.solarTime?`${e.solarTime.civilText} → 真太阳时 ${e.solarTime.trueSolarText}${e.input.geo?"("+e.input.geo.note+")":""}`:""}`,`【命宫】${e.soul.branch}(${e.soul.ganzhi}·${e.soul.nayin}) 【身宫】${e.body.branch}(落${e.body.lands}) 【五行局】${e.bureau.name}`,`【紫微】${e.ziwei} 【天府】${e.tianfu} 【命主】${e.lifeMaster} 【身主】${e.bodyMaster}${e.bodyMasterNote?`(${e.bodyMasterSchool==="common"?"子午皆火星":"子铃午火"})`:""}`,`【大限】${e.daxian.rule},${e.daxian.startAge}岁起 【小限】${e.xiaoxianRule.direction}`,n,`【昌曲】文昌${e.changqu.wenchang.branch}(${e.changqu.wenchang.palace}${e.changqu.wenchang.mutagen?"·化"+e.changqu.wenchang.mutagen:""}) 文曲${e.changqu.wenqu.branch}(${e.changqu.wenqu.palace}${e.changqu.wenqu.mutagen?"·化"+e.changqu.wenqu.mutagen:""})`,` ${e.changqu.relation} 入命三方:${e.changqu.inSoulSanfang?"是":"否"} 吸收面:${e.changqu.absorb.label}(${e.changqu.absorb.reason})`,ge,ce,"十二宫:",...M,"大限(按起运年龄排序,前 8 限,宫干四化落宫):",...qe,"流年(前 6 年,完整 12 年在结构化数据里):",...R,`【格局】${K}`,e.patternSummary?`【结构统计】吉格 ${e.patternSummary.good.length}、中性 ${e.patternSummary.neutral.length}、忌格 ${e.patternSummary.bad.length}${e.patternSummary.broken.length?`、破格 ${e.patternSummary.broken.length}(${e.patternSummary.broken.join("、")})`:""};${e.patternSummary.note}`:"",e.lunar.note?`注:${e.lunar.note}`:""].filter(Boolean).join(`
|
|
140
|
+
`)}const Je=["旺","相","休","囚","死"];function fn(e){const a=e.states,u=e.month;if(!a||!u)return"无月令数据";const n=x=>Je.filter(z=>x&&Array.isArray(x[z])&&x[z].length).map(z=>`${z} ${x[z].join("/")}`).join(" ");return`月令 ${u.branch}(${u.element}) 门 ${n(a.gate)||"—"} 星 ${n(a.star)||"—"} 干 ${n(a.stem)||"—"}`}function B(e){const a=e.palaces,u=n=>`${n.palace}宫 ${n.star||"—"}/${n.gate||"—"}/${n.god||"—"}${n.kong?" 空":""}${n.ma?" 马":""}`;return[`【四柱】${e.siZhu.year} ${e.siZhu.month} ${e.siZhu.day} ${e.siZhu.time}`,`【局数】${e.ju} 节气 ${e.jieqi}(${e.jieqiTime})`,`【值符】${e.zhiFu.star}(${e.zhiFu.gong}宫) 【值使】${e.zhiShi.gate}(${e.zhiShi.gong}宫) 旬首 ${e.xunshou}`,`【空亡】${e.kongWang.join("")||"—"} 驿马 ${e.ma.zhi||"—"}(${e.ma.gong||"—"}宫)`,`【宫位条件】击刑 ${(e.conditions&&e.conditions.jiXing||[]).map(n=>`${n.palace}宫${n.stem}`).join("、")||"无"} 三奇入墓 ${(e.conditions&&e.conditions.ruMu||[]).map(n=>`${n.palace}宫${n.stem}`).join("、")||"无"} 六仪入墓 ${(e.conditions&&e.conditions.liuYiRuMu||[]).map(n=>`${n.palace}宫${n.stem}`).join("、")||"无"}`,`【十干克应】${[...a,e.centerPalace].filter(n=>n&&n.ganYing).map(n=>`${n.palace}宫 ${n.ganYing.tian}加${n.ganYing.di} ${n.ganYing.name}`).join(" ")||"—"}`,`【旺衰】${fn(e)}`,`【九宫】${a.map(u).join(" ")}`,`※ 晚子时:${e.lateZiHourMode==="next-day"?"23:00 后归次日":"23:00 后仍归当日"}(可用 lateZiHourMode / lateZi 指定)`,`※ ${e.rules[e.rules.length-1]}`].join(`
|
|
135
141
|
`)}function Ke(e){if(!e||!Array.isArray(e.pairs)||!e.pairs.length)return[];const a=["【三方合盘】三对两两并列,不合成「三人总分」",...e.pairs.map(u=>`· ${u.a}–${u.b}:${u.level||"—"}(${u.total==null?"—":`${u.total}/100`})`)];return e.best&&(e.spread>=3?a.push(` 最顺:${e.best.a}–${e.best.b}(${e.best.total}/100)`+(e.hardest?`;最需磨合:${e.hardest.a}–${e.hardest.b}(${e.hardest.total}/100)`:"")):a.push(` 三对分数接近(最高与最低相差 ${e.spread} 分),不排名`)),e.focus&&e.focus.spread>=3&&a.push(` 差异最大的一维:${e.focus.label}(三对相差 ${e.focus.spread} 分)`),e.note&&a.push(`※ ${e.note}`),a}function Qe(e){if(e.chart==="ziwei"){const n=x=>`${x.label}:${x.score>=0?"+":""}${x.score} ${x.text}`;return[`【紫微合盘】${e.score.level}(${e.score.total}/100)`,`你 命宫 ${e.a.soul.branch}(${e.a.soulStars.join("、")||"无主星"}) 夫妻 ${e.a.spouseStars.join("、")||"无主星"} ${e.a.bureau}`,`对方 命宫 ${e.b.soul.branch}(${e.b.soulStars.join("、")||"无主星"}) 夫妻 ${e.b.spouseStars.join("、")||"无主星"} ${e.b.bureau}`,...e.dimensions.map(n),...e.interactions.map(x=>` · ${x.text}`),...Ke(e.triple),...e.notes.map(x=>`※ ${x}`)].join(`
|
|
136
142
|
`)}const a=n=>`${n.label}:${n.score>=0?"+":""}${n.score} ${n.text}`,u=n=>!n||!n.solarNote?"—":`${n.longitude==null?"未含经度修正":`${n.longitude}°E`}(${n.solarNote})`;return[`【合盘】${e.score.level}(${e.score.total}/100)`,`你 ${e.a.pillars.join(" ")} 日主 ${e.a.dayMaster} 日支 ${e.a.dayBranch} ${e.a.strength||""}`,`对方 ${e.b.pillars.join(" ")} 日主 ${e.b.dayMaster} 日支 ${e.b.dayBranch} ${e.b.strength||""}`,`真太阳时:你 ${u(e.a)};对方 ${u(e.b)}`,...e.dimensions.map(a),...e.detail?[`属相:${e.detail.yearRelation.label}——${e.detail.yearRelation.text}`,`日干:${e.detail.stems.text}`,...e.detail.crossBranches&&e.detail.crossBranches.length?[`跨盘地支:${e.detail.crossBranches.map(n=>`${n.name}(${n.a}${n.b})`).join("、")}`]:[],`年命纳音:${e.detail.nayin.a} / ${e.detail.nayin.b}(${e.detail.nayin.label})——${e.detail.nayin.text}`,`吉凶象:吉 ${e.detail.tally.good} / 凶 ${e.detail.tally.bad}(${e.detail.tally.lean};分档只数象,总分以上面三维度为准)`]:[],...Ke(e.triple),...e.notes.map(n=>`※ ${n}`)].join(`
|
|
137
143
|
`)}function Ue(e){const a=e.sanChuan,u=n=>`${n.zhi}(${n.jiang}${n.liuQin}${n.xunKong?"空":""})`;return[`【日时】${e.dayGanZhi}日 ${e.hourZhi}时(${e.dayNight}贵) 月将 ${e.yueJiang.name}${e.yueJiang.zhi} 节气 ${e.jieqi.name} ${e.lateZi===!1?"晚子时不换日":"晚子时换日"}`,`【三传】初 ${u(a.chu)} → 中 ${u(a.zhong)} → 末 ${u(a.mo)}`,`【四课】${e.siKe.map(n=>`${n.position}课 ${n.shang}上${n.xia}下(${n.relation}·${n.jiang})`).join(" ")}`,`【天地盘】${e.pan.map(n=>`${n.di}:${n.tian}(${n.jiang})`).join(" ")}`,`【格局】${e.geJu.name}·${e.geJu.detail}`,...e.shensha&&e.shensha.length?[`【神煞】${e.shensha.map(n=>`${n.name}${n.branch}`).join(" ")}`]:[]].join(`
|
|
138
|
-
`)}function
|
|
144
|
+
`)}function Ne(e){const a=[`【起卦】${e.source}`,`【本卦】${e.ben.name}(上${e.ben.upper} 下${e.ben.lower}) 动爻:${e.movingName}`,`【互卦】${e.hu.name} 【变卦】${e.bian.name} 【错卦】${e.cuo.name} 【综卦】${e.zong.name}`,`【体用】体 ${e.bodyUse.body.trigram}${e.bodyUse.body.element} 用 ${e.bodyUse.use.trigram}${e.bodyUse.use.element} ${e.bodyUse.level}`,` ${e.bodyUse.relation}`],u=e.lines.slice().reverse().map(n=>` ${n.name} ${n.yinYang==="阳"?"━━━━━":"━━ ━━"}${n.moving?" ←动":""}`);return[...a,"【爻】",...u].join(`
|
|
139
145
|
`)}function $e(e){const a=[e.question?`【所问】${e.question}`:"(未填写提问)",`【牌阵】${e.spread}${e.castAt?` 抽牌于 ${e.castAt}`:""}`];for(const u of e.cards){const n=u.astro?` ${u.astro}`:u.role?` ${u.role}`:"",x=u.en?` [${u.en}]`:"";a.push(` ${u.position}:${u.name}${x}(${u.orientation})${n} ${u.keywords.join("、")}`),u.image&&a.push(` 牌面:${u.image}`)}if(e.reading&&e.reading.length){a.push("【解读】");for(const u of e.reading)a.push(` ${u}`)}return a.join(`
|
|
140
|
-
`)}function Ve(e){const a=K=>{const
|
|
141
|
-
`)},u=[`起卦:${e.cast.notation.join("、")}(自下而上)`,`日辰:${e.dayGanZhi.name}`,e.xunShou?`旬首:${e.xunShou} 旬空:${(e.xunKong||[]).join("")||"—"}`:"",e.question?`所问:${e.question}`:"","本卦:",a(e.ben)];e.bian?u.push(`动爻:第 ${e.cast.movingPositions.join("、")} 爻`,"变卦(六亲以变卦自身宫论):",a(e.bian)):u.push("六爻安静,无变卦。");const n=e.body&&Array.isArray(e.body.labels)?e.body.labels:re(e.body);u.push(`卦体:${n.length?n.join(" · "):"无六冲、六合、伏吟、反吟"}`);const x=e.useGod||
|
|
142
|
-
`)}function Ce(e){const a=new WeakSet,u=(n,x)=>{switch((n instanceof Number||n instanceof String||n instanceof Boolean)&&(n=n.valueOf()),n&&typeof n=="object"&&typeof n.toJSON=="function"&&(n=n.toJSON(x)),typeof n){case"string":case"boolean":return n;case"number":return Number.isFinite(n)?Object.is(n,-0)?0:n:null;case"bigint":throw new TypeError("Do not know how to serialize a BigInt");case"object":{if(n===null)return null;if(a.has(n))throw new TypeError("Converting circular structure to JSON");a.add(n);let
|
|
146
|
+
`)}function Ve(e){const a=K=>{const qe=K.lines.slice().reverse().map(ge=>{const ce=ge.position===K.shi?"世":ge.position===K.ying?"应":" ";return` ${ge.name} ${ce} ${ge.symbol} ${ge.ganzhi}${ge.element} ${ge.liuqin}/${ge.liushen}`});return[`${K.name}(${K.palace}·${K.palaceElement})`,...qe].join(`
|
|
147
|
+
`)},u=[`起卦:${e.cast.notation.join("、")}(自下而上)`,`日辰:${e.dayGanZhi.name}`,e.xunShou?`旬首:${e.xunShou} 旬空:${(e.xunKong||[]).join("")||"—"}`:"",e.question?`所问:${e.question}`:"","本卦:",a(e.ben)];e.bian?u.push(`动爻:第 ${e.cast.movingPositions.join("、")} 爻`,"变卦(六亲以变卦自身宫论):",a(e.bian)):u.push("六爻安静,无变卦。");const n=e.body&&Array.isArray(e.body.labels)?e.body.labels:re(e.body);u.push(`卦体:${n.length?n.join(" · "):"无六冲、六合、伏吟、反吟"}`);const x=e.useGod||te(e,{});if(x&&x.liuqin){const K=x.found.length?x.found.map(Ee=>`${Ee.position}爻${Ee.ganzhi}${Ee.element}${Ee.kong?"(空)":""}`).join("、"):x.fushen.length?x.fushen.map(Ee=>`伏 ${Ee.position}爻${Ee.ganzhi}${Ee.element}(${Ee.relation||"飞伏关系未知"})`).join("、"):"不上卦";u.push(`用神:${x.byShi?"世爻":x.liuqin}(${x.ask})→ ${K}${x.side?`(${x.side})`:""}`);const qe=x.byShi?"用神 世爻":`用神 ${x.liuqin}`,ge=x.labels.filter(Ee=>Ee!==qe&&!Ee.startsWith(qe));ge.length&&u.push(`用神联动:${ge.join(" · ")}`);const ce=e.useGodStrength;if(ce&&ce.labels.length){const Ee=ce.month&&ce.month.branch?`月建 ${ce.month.branch}(${ce.month.element}) `:"";u.push(`用神旺衰:${Ee}${ce.labels.join(" · ")}`)}const Q=e.fushenAccess;Q&&Array.isArray(Q.labels)&&Q.labels.length&&u.push(`伏神出伏:${Q.labels.join(" · ")}`)}else u.push("用神:未取(未指明所问之事;用「询问方向」指定后即按六亲取用)");const z=e.hexStrength;if(z&&Array.isArray(z.labels)&&z.labels.length){const K=z.month&&z.month.branch?`月建 ${z.month.branch}(${z.month.element}) `:"无月建(未给起卦时间) ";u.push(`全卦旺衰:${K}${z.labels.join(" · ")}`)}const M=e.jinTuiPower;M&&Array.isArray(M.lines)&&M.lines.length&&u.push(`进退力重:${M.lines.map(K=>`${K.position}爻${K.from}→${K.to}${K.type}·${K.verdict}`).join(" · ")}`);const R=e.yingqi;return R&&Array.isArray(R.triggers)&&R.triggers.length&&u.push(`应期线索:${R.tempo} · ${R.triggers.map(K=>`${K.labels.join("/")}${K.branch}`).join(" · ")}(只列地支,不出日期)`),u.filter(Boolean).join(`
|
|
148
|
+
`)}function Ce(e){const a=new WeakSet,u=(n,x)=>{switch((n instanceof Number||n instanceof String||n instanceof Boolean)&&(n=n.valueOf()),n&&typeof n=="object"&&typeof n.toJSON=="function"&&(n=n.toJSON(x)),typeof n){case"string":case"boolean":return n;case"number":return Number.isFinite(n)?Object.is(n,-0)?0:n:null;case"bigint":throw new TypeError("Do not know how to serialize a BigInt");case"object":{if(n===null)return null;if(a.has(n))throw new TypeError("Converting circular structure to JSON");a.add(n);let z;if(Array.isArray(n)){z=new Array(n.length);for(let M=0;M<n.length;M++){const R=u(n[M],String(M));z[M]=R===void 0?null:R}}else{z={};for(const M of Object.keys(n)){const R=u(n[M],M);R!==void 0&&(z[M]=R)}}return a.delete(n),z}default:return}};return u(e,"")}const tn=new Set(["shadow","shadowVersion","diff","trace","traceError","withInterpret","detail","cross","verifyPast","rectify","events","geocode","ask","followup","caliber","seed","asOf","handle","revise","geo","longitudeFromGeo"]),Sn=e=>{if(e==null||e==="")return null;const a=Number(e);return Number.isFinite(a)?Number(a.toFixed(6)):null};function Mn(e){if(e==null||e==="")return null;try{const a=ne(e);return{y:a.year,m:a.month,d:a.day,h:a.hour,mi:a.minute,precision:a.precision}}catch{return String(e).trim()}}function Un(e={}){const a={};return e.datetime&&(a.datetime=Mn(e.datetime)),e.gender&&(a.gender=String(e.gender).toLowerCase()),e.longitude!==void 0?a.longitude=Sn(e.longitude):e.address&&(a.address=String(e.address).trim()),e.lateZi!==void 0&&(a.lateZi=O(e.lateZi,!0)),e.trueSolar!==void 0&&(a.trueSolar=O(e.trueSolar,!0)),e.dst!==void 0&&(a.dst=O(e.dst,!0)),a}function An(e){return e.lateZiHourMode==="next-day"||O(e.lateZi)?"next-day":"same-day"}function ct(e,a){const u=String(a&&a.system||e.system||""),n=a&&a.input&&typeof a.input=="object"?a.input:null;if(u==="bazi"&&n)return{civil:n.civil,gender:n.gender,longitude:Sn(n.longitude),lateZi:O(n.lateZi,!0),trueSolar:O(n.trueSolar,!0),dst:!!(n.dst&&n.dst.applied)};if(u==="ziwei"&&n)return{civil:{year:n.year,month:n.month,day:n.day,hour:n.hour,minute:n.minute},gender:n.gender,longitude:Sn(n.longitude),leapMonth:n.leapMonth||"split",leapAsNext:O(n.leapAsNext),schools:n.schools||b,trueSolar:O(n.trueSolar,!0),dst:!!(n.dst&&n.dst.applied)};if(u==="qimen")return{datetime:Mn(e.datetime),juMethod:e.juMethod||"chaibu",lateZiHourMode:An(e)};if(u==="hepan"){const M={chart:e.chart==="ziwei"?"ziwei":"bazi",a:Un({...e,datetime:e.datetime}),b:Un(e.partner||{})};return e.partner2&&(M.c=Un(e.partner2)),M}const x={},z=(M,R)=>Object.defineProperty(x,M,{value:R,enumerable:!0,writable:!0,configurable:!0});for(const[M,R]of Object.entries(e))if(!(tn.has(M)||R===void 0))if(M==="datetime")z(M,Mn(R));else if(M==="partner")z(M,Un(R));else if(M==="gender")z(M,String(R).toLowerCase());else{if(M==="address")continue;typeof R=="number"?z(M,Number.isFinite(R)?Object.is(R,-0)?0:R:null):typeof R=="string"?z(M,R.trim()):z(M,R)}return u==="daliuren"&&x.lateZi===void 0&&(x.lateZi=!0),u==="tarot"&&x.count===void 0&&(x.count=3),u==="meihua"&&x.mode===void 0&&(x.mode="time"),u==="xiaoliuren"&&x.mode===void 0&&(x.mode="time"),u==="convert"&&x.mode===void 0&&(x.mode="solar2lunar"),u==="fengshui"&&x.action===void 0&&(x.action="natal"),u==="tarot"&&a&&Array.isArray(a.cards)&&a.cards.length&&(x.cards=a.cards.map(M=>`${M.name||""}|${M.upright?"正":"逆"}`)),u==="liuyao"&&a&&a.cast&&Array.isArray(a.cast.lines)&&(x.cast=a.cast.lines.join("")),x}function ht(e,a,u=Vn(a.asOf)){const n=a.seed,x=!(n==null||n==="");return e==="liuyao"&&Array.isArray(a.lines)&&a.lines.length===6?{reproducible:!0}:(e==="tarot"||e==="liuyao")&&!x?{reproducible:!1,reason:"未给 seed:重算会变成另一副牌 / 另一卦"}:e==="bazi"||e==="ziwei"||e==="trend"||e==="fengshui"?{reproducible:!0,asOfPinned:!!u}:{reproducible:!0}}function Vn(e){if(e==null||e==="")return null;if(typeof e=="object")return e;const a=String(e).trim();if(!a)return null;const u=$(a);if(!u)return a;const n=z=>String(z).padStart(2,"0");return`${String(u.year).padStart(4,"0")}-${n(u.month)}-${n(u.day)}T${n(u.hour)}:${n(u.minute)}`}function $t(e={},a={}){const u=a.result||null,n=String(u&&u.system||e.system||""),x=String(a.version||typeof globalThis<"u"&&globalThis.__MP_VER||"dev"),z=Vn(e.asOf);return{..._n({system:n,params:ct(e,u),seed:e.seed,asOf:z,version:x}),...ht(n,e,z),system:n,version:x}}const Bn=new Set(["shadow","trace","traceText","traceError","interpret","summary","classics","suiyunClassic","renyuanClassic","cross","past","rectify","followup","caliber","input","reading","knowledge","outline","sections","answer","plain","tables","glossary","caveats","lead","dimensions","moduleType","technique","disclaimer","ask","followups","knowledgeCount","title","systemLabel","handle","handleError","revision"]);function Kn(e){const a={};for(const[u,n]of Object.entries(e||{}))Bn.has(u)||(a[u]=n);return a}function st(e){return!e||!e.shadow||!e.shadow.baseId?null:{snapshot:!0,shadow:e.shadow,data:Kn(e)}}function vn(e,a,u={}){const n=e&&e.shadow,x=a&&a.shadow;if(!n||!x)return{sameId:!1,total:0,reason:"缺少影子盘信息"};if(n.baseId&&x.baseId&&n.baseId!==x.baseId)return{sameId:!1,total:0,fromId:n.id,toId:x.id,fromBaseId:n.baseId,toBaseId:x.baseId,reason:"基础指纹不同,不是同一张盘"};const z=Q=>Q.snapshot===!0&&Q.data&&typeof Q.data=="object"?Q.data:Kn(Q),M=Cn(z(e),z(a)),R=On(M.filter(Q=>Xn(Q.path))).map(Q=>({path:Q.path,label:En(Q.path),from:Qn(Q.from),to:Qn(Q.to)})),K=new Map;for(const Q of M){const Ee=ut(Q.path)||"其他";K.set(Ee,(K.get(Ee)||0)+1)}const qe=[...K.entries()].map(([Q,Ee])=>({name:Q,count:Ee})).sort((Q,Ee)=>Ee.count-Q.count||Q.name.localeCompare(Ee.name,"zh-Hans-CN")),ge=u.fromVersion||n.version||"",ce=u.toVersion||x.version||"";return{sameId:!0,versionChanged:ge!==ce,fromVersion:ge,toVersion:ce,total:M.length,summary:pn(M),roots:R,categories:qe,diffs:M}}function Tn(e={}){let a=ie(e),u;if(typeof a.revise=="string"&&a.revise.trim()){const K=ue(a.revise),qe={...a};a={...a,...K.patch},u={text:K.text,applied:K.labels.map(ge=>{const ce=qe[ge.key]===void 0?null:qe[ge.key];return{...ge,from:ce,fromDisplay:le(ge.key,ce)}}),ignored:K.ignored},a=fe(a,ke(e,K.patch))}if(a=we(a),a=Ye(a),a.asOf!==void 0&&a.asOf!==null&&a.asOf!==""){const K=Vn(a.asOf);K===null?(a={...a},delete a.asOf):K!==a.asOf&&(a={...a,asOf:K})}if(a.partner2===null&&(a={...a},delete a.partner2),a=lt(a),a.verifyPast!==void 0&&a.verifyPast!==null&&a.verifyPast!==""){const K=Number(a.verifyPast);if(!Number.isInteger(K)||K<1||K>10)throw Y("E_INPUT",`verifyPast 要是 1–10 的整数(年数),收到「${a.verifyPast}」`);a={...a,verifyPast:K}}const n=Ce(Le(a));if(n&&!n.question&&typeof a.question=="string"&&a.question.trim()&&["liuyao","meihua","daliuren","qimen","tarot","xiaoliuren"].includes(n.system)&&(n.question=a.question.trim()),n)try{const K=gt(n);K&&(n.brief=K)}catch(K){n.briefError=String(K&&K.message||K)}if(u&&(n.revision=u),n&&n.system==="bazi"){n.classics=xn(n);const K=kn(n.classics);K&&(n.summary=`${n.summary}
|
|
143
149
|
【古籍】
|
|
144
|
-
${K}`);const
|
|
150
|
+
${K}`);const qe=Rn(n);if(qe&&(n.suiyunClassic={...qe,bookName:rn[qe.book].name}),n.renyuan){const ge=Zn("smt-renyuan");ge&&(n.renyuanClassic={...ge,bookName:rn[ge.book].name})}}n&&n.precision&&n.precision.level==="approx"&&n.summary&&(n.summary=`⚠ ${n.precision.note}
|
|
145
151
|
${n.summary}`),n&&(n.system==="bazi"||n.system==="ziwei")&&n.input&&n.input.longitude==null&&n.summary&&(n.summary=`⚠ 未提供出生地或经度:按东八区平太阳时排盘,时柱可能与本命盘相差一个时辰;海外出生请先把当地时间换算成东八区标准时。
|
|
146
152
|
${n.summary}`),n&&n.system==="bazi"&&n.hourUnknown&&n.summary&&(n.summary=`时柱按正午暂算,涉及时柱的结论仅供参考
|
|
147
153
|
${n.summary}`),n&&n.system==="trend"&&n.hourUnknown&&n.summary&&(n.summary=`时柱暂缺:起运与大运按日估算,仅供参考
|
|
148
|
-
${n.summary}`);const x=n&&n.system==="meihua"&&a.mode==="number",
|
|
149
|
-
${n.summary}`}if(n&&n.system==="hepan"&&n.summary){const K=[];for(const[
|
|
150
|
-
${n.summary}`)}const R=G(a.detail);if(a.withInterpret&&(n.interpret=ve(n,{question:typeof a.question=="string"?a.question:"",direction:typeof a.direction=="string"?a.direction:"general"}),n.interpret&&R!=="full"&&(n.interpretTier=R)),O(a.cross)&&O(a.hourUnknown)&&(n.crossSkipped="HOUR_UNKNOWN"),O(a.cross)&&!O(a.hourUnknown)&&(n.system==="bazi"||n.system==="ziwei")){const
|
|
154
|
+
${n.summary}`);const x=n&&n.system==="meihua"&&a.mode==="number",z=typeof a.datetime=="string"&&a.datetime.trim()!==""&&!/[T\s]\d{1,2}:\d{1,2}/.test(a.datetime.trim()),M=n&&n.system==="name"&&!(typeof a.datetime=="string"&&a.datetime.trim())&&Number.isInteger(a.year)&&Number.isInteger(a.month)&&Number.isInteger(a.day)&&!Number.isInteger(a.hour);if(n&&!x&&!n.hourUnknown&&!n.timeMissing&&de.has(n.system)&&(z||M)&&n.summary){n.timeMissing=!0;const K=Xe[n.system]||{what:"时刻",advice:"请补上时刻 HH:mm"};n.summary=`⚠ 只给了日期、没有时刻:${K.what}按 00:00 暂算,与真实结果可能整档不同;${K.advice}
|
|
155
|
+
${n.summary}`}if(n&&n.system==="hepan"&&n.summary){const K=[];for(const[qe,ge]of[["partner","对方"],["partner2","第三方"]]){const ce=a[qe],Q=ce&&typeof ce=="object"?ce.datetime:void 0;typeof Q=="string"&&!/[T\s]\d{1,2}:\d{1,2}/.test(Q.trim())&&K.push(ge)}K.length&&(n.timeMissing=!0,n.summary=`⚠ 只给了日期、没有时刻:${K.join("、")}的时柱按 00:00 暂算,与真实结果可能整档不同;请补出生时刻 HH:mm
|
|
156
|
+
${n.summary}`)}const R=G(a.detail);if(a.withInterpret&&(n.interpret=ve(n,{question:typeof a.question=="string"?a.question:"",direction:typeof a.direction=="string"?a.direction:"general"}),n.interpret&&R!=="full"&&(n.interpretTier=R)),O(a.cross)&&O(a.hourUnknown)&&(n.crossSkipped="HOUR_UNKNOWN"),O(a.cross)&&!O(a.hourUnknown)&&(n.system==="bazi"||n.system==="ziwei")){const qe={...ne(a.datetime),gender:L(a.gender),longitude:typeof a.longitude=="number"?a.longitude:void 0,address:typeof a.address=="string"?a.address:void 0,geo:a.geo&&typeof a.geo=="object"?a.geo:void 0,trueSolar:O(a.trueSolar,!0),dst:O(a.dst,!0)},ge=se(a.asOf),ce=a.lateZishi!==void 0?a.lateZishi:a.lateZi===void 0||a.lateZi===null||a.lateZi===""?void 0:O(a.lateZi,!0)?"next-day":"current-day",Q=n.system==="bazi"?E({...qe,leapMonth:a.leapMonth,leapAsNext:O(a.leapAsNext),...he(a),...ce!==void 0?{lateZishi:ce}:{},asOf:ge}):U({...qe,lateZi:O(a.lateZi,!0),nowYear:ge?ge.year:void 0});n.cross=Gn(n.system==="bazi"?n:Q,n.system==="ziwei"?n:Q),n.interpret&&n.interpret.sections.push(Nn(n.cross))}if(Number.isInteger(a.verifyPast)&&a.verifyPast>0&&n.system==="bazi"){const K=a.verifyPast,qe=Number(n.liunianFrom)-K,ge=U({...ne(a.datetime),hourUnknown:O(a.hourUnknown),gender:L(a.gender),lateZi:O(a.lateZi,!0),trueSolar:O(a.trueSolar,!0),longitude:typeof a.longitude=="number"?a.longitude:void 0,address:typeof a.address=="string"?a.address:void 0,geo:a.geo&&typeof a.geo=="object"?a.geo:void 0,dst:O(a.dst,!0),nowYear:qe});n.past={rows:be(ge,Number(n.liunianFrom)-1),years:K,until:Number(n.liunianFrom)-1}}if(O(a.rectify)&&n.system==="bazi"){const K=ne(a.datetime);n.rectify=Te({base:{year:K.year,month:K.month,day:K.day,minute:K.minute},gender:L(a.gender),events:Array.isArray(a.events)?a.events:[],hours:Array.isArray(a.rectifyHours)?a.rectifyHours:void 0,lateZi:O(a.lateZi,!0),trueSolar:O(a.trueSolar,!0),dst:O(a.dst,!0),longitude:typeof a.longitude=="number"?a.longitude:void 0,address:typeof a.address=="string"?a.address:void 0,geo:a.geo&&typeof a.geo=="object"?a.geo:void 0})}if(typeof a.ask=="string"&&a.ask.trim()&&(n.followup=ye(n,a.ask)),O(a.trace))try{const K=v(n,{direction:a.direction,gender:a.gender});K&&(n.trace=K,n.traceText=X(K,{system:n.system}))}catch(K){n.traceError=String(K&&K.message||K)}if(O(a.shadow))try{n.shadow=$t(a,{result:n,version:a.shadowVersion})}catch(K){n.shadow={error:String(K&&K.message||K)}}try{const K=F(a);K&&(n.handle=K)}catch(K){n.handleError=String(K&&K.message||K)}return n}function Fn(e,a){if(!e)return"";const u=a==="brief",x=u||a==="lean",z=8,M=300,R=[`【${e.title||"解析与详解"}】${e.ask&&e.ask.echo?e.ask.echo:""}`];e.answer&&R.push(`▶ ${e.ask&&e.ask.question?"先答所问":"先看结论"}:${e.answer}`),e.plain&&R.push(`▶ 说人话:${e.plain}`),e.lead&&R.push(e.lead),Array.isArray(e.outline)&&e.outline.length&&R.push("一页读懂:"+e.outline.map(xe=>`${xe.label}·${xe.text}`).join(" ")),e.error&&R.push(`⚠ 解析生成失败:${e.error}(上方盘面数据本身可用)`);const K=e.dimensions||[],qe=x&&K.some(xe=>xe&&xe.focused)?K.filter(xe=>xe&&xe.focused):K;for(const xe of qe){const qn=Array.isArray(xe.evidence)&&xe.evidence.length?`
|
|
151
157
|
依据:${xe.evidence.join(";")}${xe.confidence?` 置信度:${xe.confidence}`:""}`:"",un=xe.plain?`(${xe.plain})`:"",Ln=x?(xe.knowledge||[]).length?`
|
|
152
158
|
规则 ${xe.knowledge.length} 条未展开(detail:"full" 给出原文与出处)`:"":(xe.knowledge||[]).map(Yn=>`
|
|
153
|
-
规则·${Yn.gist}〔${Yn.statusLabel}〕${Yn.detail} 出处:${Yn.source}${Yn.note?` 注:${Yn.note}`:""}`).join("");R.push(`${xe.label}:${un}${xe.text}${xe.advice?` 建议:${xe.advice}`:""}${
|
|
154
|
-
`))}Array.isArray(e.followups)&&e.followups.length&&R.push("还可以这样追问:"+e.followups.map(xe=>`「${xe}」`).join(" ")),!u&&Array.isArray(e.glossary)&&e.glossary.length&&R.push("名词解释:"+e.glossary.map(xe=>`${xe.term}=${xe.plain}`).join(" "));let
|
|
159
|
+
规则·${Yn.gist}〔${Yn.statusLabel}〕${Yn.detail} 出处:${Yn.source}${Yn.note?` 注:${Yn.note}`:""}`).join("");R.push(`${xe.label}:${un}${xe.text}${xe.advice?` 建议:${xe.advice}`:""}${qn}${Ln}`)}const ge=e.sections||[],ce=x?ge.filter(xe=>String(xe.text||"").length>M):[];for(const xe of ge)x&&String(xe.text||"").length>M||R.push(`${xe.label}:${xe.text}`);ce.length&&R.push(`(另有 ${ce.length} 节长论述未展开:${ce.map(xe=>xe.label).join("、")}。需要原文与出处时传 detail:"full")`);for(const xe of e.tables||[]){if(!Array.isArray(xe.rows)||!xe.rows.length)continue;let qn=xe.rows;R.push(`【${xe.title}】`),u&&qn.length>z&&(qn=qn.slice(0,z),R.push(`(共 ${xe.rows.length} 行,仅列前 ${z} 行;全表传 detail:"lean")`)),R.push([xe.columns.join(" | "),...qn.map(un=>un.join(" | "))].join(`
|
|
160
|
+
`))}Array.isArray(e.followups)&&e.followups.length&&R.push("还可以这样追问:"+e.followups.map(xe=>`「${xe}」`).join(" ")),!u&&Array.isArray(e.glossary)&&e.glossary.length&&R.push("名词解释:"+e.glossary.map(xe=>`${xe.term}=${xe.plain}`).join(" "));let Q="";Array.isArray(e.limits)&&e.limits.length&&(Q+=`【本插件不回答什么】${e.limits.map(xe=>`${xe.title}——${xe.text}`).join(`
|
|
155
161
|
`)}
|
|
156
|
-
`),e.disclaimer&&(
|
|
157
|
-
`);return
|
|
158
|
-
${X}`:Ee}const Kn=["cross","verifyPast","withInterpret","detail","question","direction","ask","geocode","rectify","events","shadow","trace"];function ht(e={},a={}){const u=a.system||e.system,n=a.switches||mt[u]||[];if(!n.length)return{system:u,switches:[],affected:0,total:0};const x={...e};for(const M of Kn)delete x[M];const k=n.map(M=>{const R=M.read(x),K=M.alt(R);let Ne=[],ge="",ce=null,X=null;try{ce=Tn({...x,[M.key]:R}),X=Tn({...x,[M.key]:K}),Ne=Cn(ce,X)}catch(un){ge=un&&un.message||String(un)}const Ee=On(Ne.filter(un=>Wn(un.path))).map(un=>({path:un.path,label:En(un.path),from:Xn(un.from),to:Xn(un.to)})),xe=new Map;for(const un of Ne){const Ln=rt(un.path)||"其他";xe.set(Ln,(xe.get(Ln)||0)+1)}const Nn=[...xe.entries()].map(([un,Ln])=>({name:un,count:Ln})).sort((un,Ln)=>Ln.count-un.count||un.name.localeCompare(Ln.name,"zh-Hans-CN"));return{key:M.key,title:M.title,short:M.short,current:R,alt:K,currentLabel:M.label(R),altLabel:M.label(K),total:Ne.length,summary:ge?"":pn(Ne),views:ge?[]:it(u,ce,X),roots:Ee,categories:Nn,error:ge}});return{system:u,switches:k,affected:k.filter(M=>!M.error&&M.total>0).length,total:k.reduce((M,R)=>M+R.total,0)}}const Hn=["chaibu","chaoshen","zhirun"],Vn=[1,3,5],ot=["same-day","next-day"];function et(e,a=""){if(e==null||e==="")return;const u=a?`${a}的`:"";let n;if(typeof e=="number")n=e;else if(typeof e=="string"){const x=e.trim();if(!/^[+-]?(\d+(\.\d*)?|\.\d+)$/.test(x))throw Y("E_RANGE",`${u}经度不是十进制数字:收到「${e}」。经度写数字即可,例如北京 116.4`);n=Number(x)}else throw Y("E_RANGE",`${u}经度必须是数字或数字字符串,收到 ${Array.isArray(e)?"array":typeof e}`);if(!Number.isFinite(n))throw Y("E_RANGE",`${u}经度不是有限数值:收到「${e}」。经度写十进制数字即可,例如北京 116.4`);if(n<-180||n>180)throw Y("E_RANGE",`${u}经度要在 −180 到 180 之间(东经为正),收到 ${n}`);return n}function st(e){const a=et(e.longitude,""),u=e.partner&&typeof e.partner=="object"?et(e.partner.longitude,"对方"):void 0,n=e.partner2&&typeof e.partner2=="object"?et(e.partner2.longitude,"第三方"):void 0;if(!(a!==void 0&&e.longitude!==a||u!==void 0&&e.partner.longitude!==u||n!==void 0&&e.partner2.longitude!==n))return e;const k={...e};return a!==void 0&&(k.longitude=a),u!==void 0&&(k.partner={...k.partner,longitude:u}),n!==void 0&&(k.partner2={...k.partner2,longitude:n}),k}function G(e){if(e==null||e==="")return"full";if(e==="full"||e==="lean"||e==="brief")return e;throw Y("E_INPUT",`detail 只能是 'full' / 'lean' / 'brief':收到「${String(e).slice(0,24)}」`)}function se(e){if(e==null||typeof e=="string"&&!e.trim())return;const a=$(e);if(!a)throw Y("E_ASOF",`无法解析 asOf:「${e}」,请用 2026-10-22T16:00 这种格式`);const{year:u,month:n,day:x,hour:k,minute:M}=a;if(u<pe||u>_e)throw Y("E_ASOF",`asOf 的年份超出可计算范围(${pe}–${_e}):${e}`);if(!(n>=1&&n<=12)||!(x>=1&&x<=me(u,n)))throw Y("E_ASOF",`asOf 指向的日期不存在:${e}`);if(k!==void 0&&!(k>=0&&k<=23))throw Y("E_ASOF",`asOf 的小时要在 0–23 之间:${e}`);if(M!==void 0&&!(M>=0&&M<=59))throw Y("E_ASOF",`asOf 的分钟要在 0–59 之间:${e}`);return a}function Le(e={}){const a=e.system;if(e.mode!==void 0&&e.mode!==null&&e.mode!==""){const u={convert:["solar2lunar","lunar2solar"],meihua:["time","number"],xiaoliuren:["time","number"]},n=u[a];if(!n)throw Y("E_INPUT",`mode 只用于 ${Object.keys(u).join(" / ")};${a||"当前体系"} 不收 mode`);if(!n.includes(e.mode))throw Y("E_INPUT",`${a} 的 mode 只能是 ${n.join(" / ")},收到「${String(e.mode).slice(0,24)}」`)}if(e.gender!==void 0&&e.gender!==null&&e.gender!==""&&e.gender!=="male"&&e.gender!=="female")throw Y("E_INPUT",`gender 只能是 male / female,收到「${String(e.gender).slice(0,24)}」`);if(e.direction!==void 0&&e.direction!==null&&e.direction!==""&&!["general","wealth","career","love","health","study","travel"].includes(e.direction))throw Y("E_INPUT",`direction 只能是 general / wealth / career / love / health / study / travel,收到「${String(e.direction).slice(0,24)}」`);if(e.fortuneYear!==void 0&&e.fortuneYear!==null&&e.fortuneYear!==""){const u=Number(e.fortuneYear);if(!Number.isInteger(u))throw Y("E_INPUT",`fortuneYear 要是整数年份,收到「${e.fortuneYear}」`);e={...e,fortuneYear:u}}if(a==="bazi"){const u=ee(e.datetime),n=se(e.asOf),x=U({...u,gender:L(e.gender),longitude:typeof e.longitude=="number"?e.longitude:void 0,address:typeof e.address=="string"?e.address:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0,lateZi:O(e.lateZi,!0),trueSolar:O(e.trueSolar,!0),dst:O(e.dst,!0),nowYear:n?n.year:void 0,hourUnknown:O(e.hourUnknown)});return{...x,...n?{asOf:n}:{},precision:u.precision,summary:He(x)}}if(a==="ziwei"){if(O(e.hourUnknown))throw Y("HOUR_UNKNOWN","紫微必须有出生时刻:命宫由生月与生时支定,时支未知则整盘不成立。请补上出生时刻,或改用八字三柱模式只看年/月/日。");e.lateZi!==void 0&&e.lateZishi===void 0&&(e={...e,lateZishi:O(e.lateZi,!0)?"next-day":"current-day"});const u=ee(e.datetime),n=se(e.asOf),x=q({...u,gender:L(e.gender),leapMonth:e.leapMonth,leapAsNext:O(e.leapAsNext),...he(e),longitude:typeof e.longitude=="number"?e.longitude:void 0,address:typeof e.address=="string"?e.address:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0,trueSolar:O(e.trueSolar,!0),dst:O(e.dst,!0),asOf:n});return{...x,...n?{asOf:n}:{},precision:u.precision,summary:Oe(x)}}if(a==="tarot"){const u=e.count===void 0||e.count===null||e.count===""?3:Number(e.count);if(!Vn.includes(u))throw Y("E_COUNT",`塔罗张数只能是 1 / 3 / 5,收到「${e.count}」`);if(!I(e.seed))throw Y("E_INPUT",`seed 必须是数字,收到「${e.seed}」`);const n=se(e.asOf),x=p({count:u,question:e.question,at:e.asOf,random:d(e.seed)});return e.seed!==void 0&&e.seed!==null&&e.seed!==""&&(x.seed=Number(e.seed)),{...x,...n?{asOf:n}:{},summary:$e(x)}}if(a==="daliuren"){const u=ee(e.datetime),n=O(e.lateZi,!0),x=g({...u,lateZi:n});return x.lateZi=n,{...x,precision:u.precision,summary:Ue(x)}}if(a==="qimen"){const u=ee(e.datetime);if(e.juMethod!==void 0&&!Hn.includes(e.juMethod))throw Y("E_INPUT",`juMethod 只能是 chaibu / chaoshen / zhirun,收到「${e.juMethod}」`);const n=e.lateZiHourMode!==void 0?e.lateZiHourMode:e.lateZi===void 0||e.lateZi===null?void 0:O(e.lateZi)?"next-day":"same-day";if(n!==void 0&&!ot.includes(n))throw Y("E_INPUT",`lateZiHourMode 只能是 same-day / next-day,收到「${n}」`);const x=n==="next-day"?"next-day":"same-day",k=i({...u,lateZiHourMode:x,juMethod:e.juMethod});return k.lateZiHourMode=x,{...k,summary:B(k)}}if(a==="hepan"){if(O(e.hourUnknown)||e.partner&&O(e.partner.hourUnknown)||e.partner2&&O(e.partner2.hourUnknown))throw Y("HOUR_UNKNOWN","合盘需要每一方都有出生时刻:夫妻宫与大运都依赖时支。请补齐时刻后再看,或用八字三柱模式各自看年/月/日。");const n=e.partner;if(!n||typeof n!="object")throw Y("E_PARTNER","合盘需要 partner:{ datetime, gender, address? },其中 partner.datetime 是对方的公历出生时间");if(!n.datetime)throw Y("E_PARTNER",'缺少 partner.datetime(对方的公历出生时间),例如 partner: {"datetime":"1992-03-03T10:00","gender":"female"}');const x=e.partner2;if(x!=null){if(typeof x!="object"||Array.isArray(x))throw Y("E_PARTNER","partner2 需要 { datetime, gender, address? };不想看三方就整段省略(null 视同未传)");if(!x.datetime)throw Y("E_PARTNER",'缺少 partner2.datetime(第三方的公历出生时间),例如 partner2: {"datetime":"1988-09-09T08:00","gender":"male"}')}const k=e.chart==="ziwei"?"ziwei":"bazi",M=(ce,X)=>{const Ee=ee(ce.datetime),xe=ce.lateZishi!==void 0?ce.lateZishi:ce.lateZi===void 0||ce.lateZi===null||ce.lateZi===""?void 0:O(ce.lateZi,!0)?"next-day":"current-day";return{...Ee,gender:L(ce.gender,X),trueSolar:ce.trueSolar,lateZi:ce.lateZi,...xe!==void 0?{lateZishi:xe}:{},...ce.leapMonth!==void 0?{leapMonth:ce.leapMonth}:{},...ce.leapAsNext!==void 0?{leapAsNext:O(ce.leapAsNext)}:{},dst:O(ce.dst,!0),address:typeof ce.address=="string"?ce.address:void 0,longitude:typeof ce.longitude=="number"?ce.longitude:void 0,geo:ce.geo&&typeof ce.geo=="object"?ce.geo:void 0}},R=M(e,"你(主方)"),K=M(n,"对方"),Ne=(ce,X)=>k==="ziwei"?s({a:ce,b:X}):m({a:ce,b:X}),ge=Ne(R,K);if(x){const ce=M(x,"第三方");ge.triple=f([{key:"a-b",a:"你",b:"对方",result:ge},{key:"a-c",a:"你",b:"第三方",result:Ne(R,ce)},{key:"b-c",a:"对方",b:"第三方",result:Ne(K,ce)}])}return{...ge,summary:Qe(ge)}}if(a==="meihua"){let u;e.mode!=="number"&&ee(e.datetime);try{u=w({mode:e.mode==="number"?"number":"time",datetime:e.datetime,upper:e.upper,lower:e.lower,changing:e.changing,lateZi:e.lateZi})}catch(n){const x=n&&n.message||String(n);throw Y(n&&n.code||"E_INPUT",n&&n.code?x:`梅花起卦参数不完整:${x}`)}return{...u,summary:qe(u)}}if(a==="liuyao"){if(!I(e.seed))throw Y("E_INPUT",`seed 必须是数字,收到「${e.seed}」`);let u;if(e.lines===void 0||e.lines===null)u=ae(d(e.seed));else{if(!Array.isArray(e.lines))throw Y("E_LINES","lines 必须是数组:自下而上 6 个爻值(6 老阴 / 7 少阳 / 8 少阴 / 9 老阳)");if(e.lines.length!==6)throw Y("E_LINES",`六爻需要正好 6 个爻值(自下而上),收到 ${e.lines.length} 个;留空则由引擎随机摇卦`);u=e.lines.map(Number)}let n,x=null;const k=e.datetime?ee(e.datetime):se(e.asOf);if(k){e.datetime||(x=k);const ce=c(N(h(k.year,k.month,k.day)));n={stem:ce.stem,branch:ce.branch,name:ce.name}}let M;try{M=Q({lines:u,question:e.question,dayGanZhi:n})}catch(ce){throw Y(ce&&ce.code||"E_LINES",ce&&ce.message?ce.message:ce)}const R=ne(M,{direction:e.direction,gender:e.gender});R.liuqin&&(M.useGod=R);let K=null;if(k)try{K=(t({year:k.year,month:k.month,day:k.day,hour:k.hour,minute:k.minute}).monthGanZhi||"")[1]||null}catch{K=null}const Ne=H(M,{monthBranch:K,dayBranch:M.dayGanZhi.branch});Ne&&(M.hexStrength=Ne);const ge=o(M,{monthBranch:K,dayBranch:M.dayGanZhi.branch});if(ge&&(M.jinTuiPower=ge),R.liuqin){const ce=T(M,R,{monthBranch:K,dayBranch:M.dayGanZhi.branch});ce&&(M.useGodStrength=ce);const X=_(M,R,{monthBranch:K,dayBranch:M.dayGanZhi.branch});X&&(M.fushenAccess=X);const Ee=A(M,R,{monthBranch:K});Ee&&(M.yingqi=Ee)}return e.seed!==void 0&&e.seed!==null&&e.seed!==""&&(M.seed=Number(e.seed)),{...M,...x?{asOf:x}:{},summary:Ve(M)}}if(a==="almanac"){const u=ee(e.datetime),n=Ge({year:u.year,month:u.month,day:u.day});return{...n,summary:an(n)}}if(a==="zeri"){if(!(e.candidates!==void 0&&e.candidates!==null)&&(typeof e.startDate!="string"||!e.startDate.trim()))throw Y("E_INPUT",'择日需要 startDate(公历 YYYY-MM-DD,起算日);可另给 days(1–60,默认 30)与 shengXiao(当事人属相)。只想比几天,改给 candidates: ["2026-12-01","2026-12-08"]');let n;try{n=Ze({task:e.task,startDate:e.startDate,days:e.days,shengXiao:e.shengXiao,candidates:e.candidates})}catch(x){throw Y(x&&x.code||"E_INPUT",x&&x.message||String(x))}return{...n,summary:on(n)}}if(a==="chenggu"){const u=ee(e.datetime),n=/[T\s]\d{1,2}:\d{1,2}/.test(String(e.datetime)),x=Number.isInteger(e.hour)?e.hour:n?u.hour:null;if(x===null||x<0||x>23)throw Y("E_INPUT","称骨必须给时辰:datetime 带时分(如 1990-08-15T10:00),或额外给 hour(0–23)——缺时辰四柱不齐");const k=Ie({year:u.year,month:u.month,day:u.day,hour:x,minute:n?u.minute:0,lateZi:e.lateZi});return{...k,summary:We(k)}}if(a==="convert"){const u=e.mode==="lunar2solar"?"lunar2solar":"solar2lunar";let n;if(u==="lunar2solar"){if(e.lunarYear==null||e.lunarMonth==null||e.lunarDay==null)throw Y("E_INPUT","农历转公历需要 lunarYear / lunarMonth / lunarDay(闰月另加 isLeapMonth: true)");n=mn({mode:u,lunarYear:Number(e.lunarYear),lunarMonth:Number(e.lunarMonth),lunarDay:Number(e.lunarDay),isLeapMonth:O(e.isLeapMonth)})}else{const x=ee(e.datetime);n=mn({mode:u,year:x.year,month:x.month,day:x.day})}return{...n,summary:nt(n)}}if(a==="xiaoliuren"){const u=e.datetime?ee(e.datetime):null,n=Fe({mode:e.mode==="number"?"number":"time",date:typeof e.date=="string"&&e.date.trim()?e.date:u?`${u.year}-${u.month}-${u.day}`:void 0,hour:Number.isInteger(e.hour)?e.hour:u&&/[T\s]\d{1,2}:\d{1,2}/.test(String(e.datetime))?u.hour:void 0,num1:e.num1,num2:e.num2,num3:e.num3,question:e.question,lateZi:e.lateZi});return{...n,summary:bn(n)}}if(a==="star"){const u=ee(e.datetime),n=Se({year:u.year,month:u.month,day:u.day});return{...n,summary:wn(n)}}if(a==="numerology"){const u=ee(e.datetime),n=cn({year:u.year,month:u.month,day:u.day});return{...n,summary:sn(n)}}if(a==="mbti"){if(e.answers===void 0||e.answers===null){const n=dn();return{...n,summary:Pe(n)}}const u=ln({answers:e.answers});return{...u,summary:E(u)}}if(a==="trend"){const u=ee(e.datetime),n=e.asOf?se(e.asOf):void 0,x=Dn({...u,nowYear:n?n.year:void 0,gender:L(e.gender),toAge:e.toAge,lateZi:O(e.lateZi,!0),trueSolar:O(e.trueSolar,!0),dst:O(e.dst,!0),longitude:typeof e.longitude=="number"?e.longitude:void 0,address:typeof e.address=="string"?e.address:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0,hourUnknown:O(e.hourUnknown)});return{...x,...O(e.hourUnknown)?{hourUnknown:!0,hourPrecision:"day"}:{},precision:u.precision,summary:yn(x)}}if(a==="fengshui"){if(e.action!=null&&!["natal","advise","xuankong"].includes(e.action))throw Y("E_INPUT",`风水 action 只能是 natal / advise / xuankong,收到「${String(e.action).slice(0,24)}」`);const u=e.action==="advise"?"advise":e.action==="xuankong"?"xuankong":"natal";if(u==="xuankong"){const k=l({action:u,sitting:e.sitting,facing:e.facing,...e.period!==void 0?{period:e.period}:{},...e.fortuneYear!==void 0?{fortuneYear:e.fortuneYear}:{},...typeof e.sittingOffset=="number"?{sittingOffset:e.sittingOffset}:{},...typeof e.sittingDegree=="number"?{sittingDegree:e.sittingDegree}:{},...typeof e.facingOffset=="number"?{facingOffset:e.facingOffset}:{},...typeof e.facingDegree=="number"?{facingDegree:e.facingDegree}:{},...typeof e.fortuneDate=="string"?{fortuneDate:e.fortuneDate}:{},...typeof e.fortuneTime=="string"?{fortuneTime:e.fortuneTime}:{},dst:O(e.dst,!0)});return{...k,summary:gn(k)}}if(u==="advise"){const k=l({action:u,sitting:e.sitting,facing:e.facing,...e.datetime?ee(e.datetime):{},...e.gender==="male"||e.gender==="female"?{gender:e.gender}:{},dst:O(e.dst,!0)});return{...k,summary:gn(k)}}const n=ee(e.datetime),x=l({action:"natal",year:n.year,month:n.month,day:n.day,gender:L(e.gender),fortuneYear:e.fortuneYear,dst:O(e.dst,!0)});return{...x,summary:gn(x)}}if(a==="name"){if(e.action!=null&&!["assess","generate"].includes(e.action))throw Y("E_INPUT",`起名 action 只能是 assess / generate,收到「${String(e.action).slice(0,24)}」`);const u=e.action==="generate"?"generate":"assess",n=e.datetime?ee(e.datetime):Number.isInteger(e.year)&&Number.isInteger(e.month)&&Number.isInteger(e.day)?{year:e.year,month:e.month,day:e.day,...Number.isInteger(e.hour)?{hour:e.hour}:{},...Number.isInteger(e.minute)?{minute:e.minute}:{}}:{},x=S({action:u,surname:e.surname,givenName:e.givenName,limit:e.limit,charElements:e.charElements&&typeof e.charElements=="object"?e.charElements:void 0,strokeOverrides:e.strokeOverrides&&typeof e.strokeOverrides=="object"?e.strokeOverrides:void 0,surnameStrokes:e.surnameStrokes&&typeof e.surnameStrokes=="object"?e.surnameStrokes:void 0,...n,...e.gender==="male"||e.gender==="female"?{gender:e.gender}:{},...e.datetime?{lateZi:O(e.lateZi,!0),trueSolar:O(e.trueSolar,!0),dst:O(e.dst,!0),longitude:typeof e.longitude=="number"?e.longitude:void 0,address:typeof e.address=="string"?e.address:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0}:{}});return{...x,summary:fn(x)}}throw a?Y("E_SYSTEM",`未知体系「${a}」,可选:bazi(四柱八字)、ziwei(紫微斗数)、liuyao(六爻)、meihua(梅花易数)、daliuren(大六壬)、qimen(奇门遁甲)、hepan(合盘)、tarot(塔罗)、almanac(黄历)、zeri(择日)、chenggu(称骨)、xiaoliuren(小六壬)、star(星座)、numerology(生命数字)、mbti(十六型人格问卷)、trend(人生 K 线)、fengshui(风水)、name(起名)、convert(公农历互转)。`):Y("E_INPUT","缺少 system,可选:bazi(四柱八字)、ziwei(紫微斗数)、liuyao(六爻)、meihua(梅花易数)、daliuren(大六壬)、qimen(奇门遁甲)、hepan(合盘)、tarot(塔罗)、almanac(黄历)、zeri(择日)、chenggu(称骨)、xiaoliuren(小六壬)、star(星座)、numerology(生命数字)、mbti(十六型人格问卷)、trend(人生 K 线)、fengshui(风水)、name(起名)、convert(公农历互转)。")}function an(e){const a=e.ganzhi,u=e.jieQi&&e.jieQi.next?` 下一节:${e.jieQi.next.name} ${e.jieQi.next.date}`:"",n=e.dayGod?`值日:${e.dayGod.name}(${e.dayGod.type}·${e.dayGod.luck})`:"",x=e.xiu?`二十八宿:${e.xiu.name}宿(${e.xiu.luck}·${e.xiu.zheng}·${e.xiu.animal})`:"",k=e.taiShen?`胎神:${e.taiShen}`:"",M=e.positions?`吉神方位:喜神${e.positions.xiShen||"—"} 财神${e.positions.caiShen||"—"} 福神${e.positions.fuShen?e.positions.fuShen.dir:"—"} 阳贵${e.positions.yangGui?e.positions.yangGui.dir:"—"} 阴贵${e.positions.yinGui?e.positions.yinGui.dir:"—"}`:"",R=e.lucky?`吉配生肖:六合${e.lucky.liuhe||"—"} 三合${(e.lucky.sanhe||[]).join("、")||"—"}`:"",K=e.nayin&&e.nayin.day?`日柱纳音:${e.nayin.day.name}`:"",Ne=(e.hours||[]).map(ge=>`${ge.zhi}${ge.ganZhi.slice(0,1)}·${ge.shen}${ge.luck==="吉"?"吉":"凶"}`).join(" ");return[`【黄历】${e.meta.date} ${e.meta.weekday} ${e.lunar.text}`,`干支:${a.year}年 ${a.month}月 ${a.day}日 属${a.shengXiao}`,...e.meta.boundaryNote?[` ${e.meta.boundaryNote}`]:[],`建除:${e.zhiXing}日 冲:${e.chong.text}${e.chong.sha?`(${e.chong.sha})`:""} ${n}`,[x,K,k].filter(Boolean).join(" "),`宜:${e.yi.join("、")}`,`忌:${e.ji.join("、")}`,M,R,Ne?`时辰吉凶:${Ne}`:"",`节气:上一节 ${e.jieQi.prev?`${e.jieQi.prev.name} ${e.jieQi.prev.date}`:"—"}${u}`,e.dailyHexagram?`每日一卦:${e.dailyHexagram.name} ${e.dailyHexagram.meaning||""}`:"",`口径:${e.meta.scope}`].filter(Boolean).join(`
|
|
159
|
-
`)}function on(e){const a=e.compare&&e.compare.mode==="candidates",u=a?`【择日·${e.meta.task}】候选 ${e.meta.days} 天:${e.meta.candidates.join("、")}${e.meta.shengXiao?` 当事人属${e.meta.shengXiao}`:"(未给属相,未做冲煞排除)"}`:`【择日·${e.meta.task}】${e.meta.startDate} 起 ${e.meta.days} 天${e.meta.shengXiao?` 当事人属${e.meta.shengXiao}`:"(未给属相,未做冲煞排除)"}`,n=e.days.slice().sort((
|
|
162
|
+
`),e.disclaimer&&(Q+=e.disclaimer);const Ee=R.join(`
|
|
163
|
+
`);return Q?`${Ee}
|
|
164
|
+
${Q}`:Ee}const Wn=["cross","verifyPast","withInterpret","detail","question","direction","ask","geocode","rectify","events","shadow","trace"];function dt(e={},a={}){const u=a.system||e.system,n=a.switches||mt[u]||[];if(!n.length)return{system:u,switches:[],affected:0,total:0};const x={...e};for(const M of Wn)delete x[M];const z=n.map(M=>{const R=M.read(x),K=M.alt(R);let qe=[],ge="",ce=null,Q=null;try{ce=Tn({...x,[M.key]:R}),Q=Tn({...x,[M.key]:K}),qe=Cn(ce,Q)}catch(un){ge=un&&un.message||String(un)}const Ee=On(qe.filter(un=>Xn(un.path))).map(un=>({path:un.path,label:En(un.path),from:Qn(un.from),to:Qn(un.to)})),xe=new Map;for(const un of qe){const Ln=ut(un.path)||"其他";xe.set(Ln,(xe.get(Ln)||0)+1)}const qn=[...xe.entries()].map(([un,Ln])=>({name:un,count:Ln})).sort((un,Ln)=>Ln.count-un.count||un.name.localeCompare(Ln.name,"zh-Hans-CN"));return{key:M.key,title:M.title,short:M.short,current:R,alt:K,currentLabel:M.label(R),altLabel:M.label(K),total:qe.length,summary:ge?"":pn(qe),views:ge?[]:ot(u,ce,Q),roots:Ee,categories:qn,error:ge}});return{system:u,switches:z,affected:z.filter(M=>!M.error&&M.total>0).length,total:z.reduce((M,R)=>M+R.total,0)}}const Jn=["chaibu","chaoshen","zhirun"],et=[1,3,5],rt=["same-day","next-day"];function nt(e,a=""){if(e==null||e==="")return;const u=a?`${a}的`:"";let n;if(typeof e=="number")n=e;else if(typeof e=="string"){const x=e.trim();if(!/^[+-]?(\d+(\.\d*)?|\.\d+)$/.test(x))throw Y("E_RANGE",`${u}经度不是十进制数字:收到「${e}」。经度写数字即可,例如北京 116.4`);n=Number(x)}else throw Y("E_RANGE",`${u}经度必须是数字或数字字符串,收到 ${Array.isArray(e)?"array":typeof e}`);if(!Number.isFinite(n))throw Y("E_RANGE",`${u}经度不是有限数值:收到「${e}」。经度写十进制数字即可,例如北京 116.4`);if(n<-180||n>180)throw Y("E_RANGE",`${u}经度要在 −180 到 180 之间(东经为正),收到 ${n}`);return n}function lt(e){const a=nt(e.longitude,""),u=e.partner&&typeof e.partner=="object"?nt(e.partner.longitude,"对方"):void 0,n=e.partner2&&typeof e.partner2=="object"?nt(e.partner2.longitude,"第三方"):void 0;if(!(a!==void 0&&e.longitude!==a||u!==void 0&&e.partner.longitude!==u||n!==void 0&&e.partner2.longitude!==n))return e;const z={...e};return a!==void 0&&(z.longitude=a),u!==void 0&&(z.partner={...z.partner,longitude:u}),n!==void 0&&(z.partner2={...z.partner2,longitude:n}),z}function G(e){if(e==null||e==="")return"full";if(e==="full"||e==="lean"||e==="brief")return e;throw Y("E_INPUT",`detail 只能是 'full' / 'lean' / 'brief':收到「${String(e).slice(0,24)}」`)}function se(e){if(e==null||typeof e=="string"&&!e.trim())return;const a=$(e);if(!a)throw Y("E_ASOF",`无法解析 asOf:「${e}」,请用 2026-10-22T16:00 这种格式`);const{year:u,month:n,day:x,hour:z,minute:M}=a;if(u<pe||u>_e)throw Y("E_ASOF",`asOf 的年份超出可计算范围(${pe}–${_e}):${e}`);if(!(n>=1&&n<=12)||!(x>=1&&x<=me(u,n)))throw Y("E_ASOF",`asOf 指向的日期不存在:${e}`);if(z!==void 0&&!(z>=0&&z<=23))throw Y("E_ASOF",`asOf 的小时要在 0–23 之间:${e}`);if(M!==void 0&&!(M>=0&&M<=59))throw Y("E_ASOF",`asOf 的分钟要在 0–59 之间:${e}`);return a}function Le(e={}){const a=e.system;if(e.mode!==void 0&&e.mode!==null&&e.mode!==""){const u={convert:["solar2lunar","lunar2solar"],meihua:["time","number"],xiaoliuren:["time","number"]},n=u[a];if(!n)throw Y("E_INPUT",`mode 只用于 ${Object.keys(u).join(" / ")};${a||"当前体系"} 不收 mode`);if(!n.includes(e.mode))throw Y("E_INPUT",`${a} 的 mode 只能是 ${n.join(" / ")},收到「${String(e.mode).slice(0,24)}」`)}if(e.gender!==void 0&&e.gender!==null&&e.gender!==""&&e.gender!=="male"&&e.gender!=="female")throw Y("E_INPUT",`gender 只能是 male / female,收到「${String(e.gender).slice(0,24)}」`);if(e.direction!==void 0&&e.direction!==null&&e.direction!==""&&!["general","wealth","career","love","health","study","travel"].includes(e.direction))throw Y("E_INPUT",`direction 只能是 general / wealth / career / love / health / study / travel,收到「${String(e.direction).slice(0,24)}」`);if(e.fortuneYear!==void 0&&e.fortuneYear!==null&&e.fortuneYear!==""){const u=Number(e.fortuneYear);if(!Number.isInteger(u))throw Y("E_INPUT",`fortuneYear 要是整数年份,收到「${e.fortuneYear}」`);e={...e,fortuneYear:u}}if(a==="bazi"){const u=ne(e.datetime),n=se(e.asOf),x=U({...u,gender:L(e.gender),longitude:typeof e.longitude=="number"?e.longitude:void 0,address:typeof e.address=="string"?e.address:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0,lateZi:O(e.lateZi,!0),trueSolar:O(e.trueSolar,!0),dst:O(e.dst,!0),nowYear:n?n.year:void 0,hourUnknown:O(e.hourUnknown)});return{...x,...n?{asOf:n}:{},precision:u.precision,summary:He(x)}}if(a==="ziwei"){if(O(e.hourUnknown))throw Y("HOUR_UNKNOWN","紫微必须有出生时刻:命宫由生月与生时支定,时支未知则整盘不成立。请补上出生时刻,或改用八字三柱模式只看年/月/日。");e.lateZi!==void 0&&e.lateZishi===void 0&&(e={...e,lateZishi:O(e.lateZi,!0)?"next-day":"current-day"});const u=ne(e.datetime),n=se(e.asOf),x=E({...u,gender:L(e.gender),leapMonth:e.leapMonth,leapAsNext:O(e.leapAsNext),...he(e),longitude:typeof e.longitude=="number"?e.longitude:void 0,address:typeof e.address=="string"?e.address:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0,trueSolar:O(e.trueSolar,!0),dst:O(e.dst,!0),asOf:n});return{...x,...n?{asOf:n}:{},precision:u.precision,summary:Oe(x)}}if(a==="tarot"){const u=e.count===void 0||e.count===null||e.count===""?3:Number(e.count);if(!et.includes(u))throw Y("E_COUNT",`塔罗张数只能是 1 / 3 / 5,收到「${e.count}」`);if(!I(e.seed))throw Y("E_INPUT",`seed 必须是数字,收到「${e.seed}」`);const n=se(e.asOf),x=p({count:u,question:e.question,at:e.asOf,random:d(e.seed)});return e.seed!==void 0&&e.seed!==null&&e.seed!==""&&(x.seed=Number(e.seed)),{...x,...n?{asOf:n}:{},summary:$e(x)}}if(a==="daliuren"){const u=ne(e.datetime),n=O(e.lateZi,!0),x=g({...u,lateZi:n});return x.lateZi=n,{...x,precision:u.precision,summary:Ue(x)}}if(a==="qimen"){const u=ne(e.datetime);if(e.juMethod!==void 0&&!Jn.includes(e.juMethod))throw Y("E_INPUT",`juMethod 只能是 chaibu / chaoshen / zhirun,收到「${e.juMethod}」`);const n=e.lateZiHourMode!==void 0?e.lateZiHourMode:e.lateZi===void 0||e.lateZi===null?void 0:O(e.lateZi)?"next-day":"same-day";if(n!==void 0&&!rt.includes(n))throw Y("E_INPUT",`lateZiHourMode 只能是 same-day / next-day,收到「${n}」`);const x=n==="next-day"?"next-day":"same-day",z=i({...u,lateZiHourMode:x,juMethod:e.juMethod});return z.lateZiHourMode=x,{...z,summary:B(z)}}if(a==="hepan"){if(O(e.hourUnknown)||e.partner&&O(e.partner.hourUnknown)||e.partner2&&O(e.partner2.hourUnknown))throw Y("HOUR_UNKNOWN","合盘需要每一方都有出生时刻:夫妻宫与大运都依赖时支。请补齐时刻后再看,或用八字三柱模式各自看年/月/日。");const n=e.partner;if(!n||typeof n!="object")throw Y("E_PARTNER","合盘需要 partner:{ datetime, gender, address? },其中 partner.datetime 是对方的公历出生时间");if(!n.datetime)throw Y("E_PARTNER",'缺少 partner.datetime(对方的公历出生时间),例如 partner: {"datetime":"1992-03-03T10:00","gender":"female"}');const x=e.partner2;if(x!=null){if(typeof x!="object"||Array.isArray(x))throw Y("E_PARTNER","partner2 需要 { datetime, gender, address? };不想看三方就整段省略(null 视同未传)");if(!x.datetime)throw Y("E_PARTNER",'缺少 partner2.datetime(第三方的公历出生时间),例如 partner2: {"datetime":"1988-09-09T08:00","gender":"male"}')}const z=e.chart==="ziwei"?"ziwei":"bazi",M=(ce,Q)=>{const Ee=ne(ce.datetime),xe=ce.lateZishi!==void 0?ce.lateZishi:ce.lateZi===void 0||ce.lateZi===null||ce.lateZi===""?void 0:O(ce.lateZi,!0)?"next-day":"current-day";return{...Ee,gender:L(ce.gender,Q),trueSolar:ce.trueSolar,lateZi:ce.lateZi,...xe!==void 0?{lateZishi:xe}:{},...ce.leapMonth!==void 0?{leapMonth:ce.leapMonth}:{},...ce.leapAsNext!==void 0?{leapAsNext:O(ce.leapAsNext)}:{},dst:O(ce.dst,!0),address:typeof ce.address=="string"?ce.address:void 0,longitude:typeof ce.longitude=="number"?ce.longitude:void 0,geo:ce.geo&&typeof ce.geo=="object"?ce.geo:void 0}},R=M(e,"你(主方)"),K=M(n,"对方"),qe=(ce,Q)=>z==="ziwei"?s({a:ce,b:Q}):m({a:ce,b:Q}),ge=qe(R,K);if(x){const ce=M(x,"第三方");ge.triple=f([{key:"a-b",a:"你",b:"对方",result:ge},{key:"a-c",a:"你",b:"第三方",result:qe(R,ce)},{key:"b-c",a:"对方",b:"第三方",result:qe(K,ce)}])}return{...ge,summary:Qe(ge)}}if(a==="meihua"){let u;e.mode!=="number"&&ne(e.datetime);try{u=w({mode:e.mode==="number"?"number":"time",datetime:e.datetime,upper:e.upper,lower:e.lower,changing:e.changing,lateZi:e.lateZi})}catch(n){const x=n&&n.message||String(n);throw Y(n&&n.code||"E_INPUT",n&&n.code?x:`梅花起卦参数不完整:${x}`)}return{...u,summary:Ne(u)}}if(a==="liuyao"){if(!I(e.seed))throw Y("E_INPUT",`seed 必须是数字,收到「${e.seed}」`);let u;if(e.lines===void 0||e.lines===null)u=ae(d(e.seed));else{if(!Array.isArray(e.lines))throw Y("E_LINES","lines 必须是数组:自下而上 6 个爻值(6 老阴 / 7 少阳 / 8 少阴 / 9 老阳)");if(e.lines.length!==6)throw Y("E_LINES",`六爻需要正好 6 个爻值(自下而上),收到 ${e.lines.length} 个;留空则由引擎随机摇卦`);u=e.lines.map(Number)}let n,x=null;const z=e.datetime?ne(e.datetime):se(e.asOf);if(z){e.datetime||(x=z);const ce=c(q(h(z.year,z.month,z.day)));n={stem:ce.stem,branch:ce.branch,name:ce.name}}let M;try{M=V({lines:u,question:e.question,dayGanZhi:n})}catch(ce){throw Y(ce&&ce.code||"E_LINES",ce&&ce.message?ce.message:ce)}const R=te(M,{direction:e.direction,gender:e.gender});R.liuqin&&(M.useGod=R);let K=null;if(z)try{K=(t({year:z.year,month:z.month,day:z.day,hour:z.hour,minute:z.minute}).monthGanZhi||"")[1]||null}catch{K=null}const qe=H(M,{monthBranch:K,dayBranch:M.dayGanZhi.branch});qe&&(M.hexStrength=qe);const ge=o(M,{monthBranch:K,dayBranch:M.dayGanZhi.branch});if(ge&&(M.jinTuiPower=ge),R.liuqin){const ce=T(M,R,{monthBranch:K,dayBranch:M.dayGanZhi.branch});ce&&(M.useGodStrength=ce);const Q=_(M,R,{monthBranch:K,dayBranch:M.dayGanZhi.branch});Q&&(M.fushenAccess=Q);const Ee=A(M,R,{monthBranch:K});Ee&&(M.yingqi=Ee)}return e.seed!==void 0&&e.seed!==null&&e.seed!==""&&(M.seed=Number(e.seed)),{...M,...x?{asOf:x}:{},summary:Ve(M)}}if(a==="almanac"){const u=ne(e.datetime),n=Ge({year:u.year,month:u.month,day:u.day});return{...n,summary:an(n)}}if(a==="zeri"){if(!(e.candidates!==void 0&&e.candidates!==null)&&(typeof e.startDate!="string"||!e.startDate.trim()))throw Y("E_INPUT",'择日需要 startDate(公历 YYYY-MM-DD,起算日);可另给 days(1–60,默认 30)与 shengXiao(当事人属相)。只想比几天,改给 candidates: ["2026-12-01","2026-12-08"]');let n;try{n=Ze({task:e.task,startDate:e.startDate,days:e.days,shengXiao:e.shengXiao,candidates:e.candidates})}catch(x){throw Y(x&&x.code||"E_INPUT",x&&x.message||String(x))}return{...n,summary:on(n)}}if(a==="chenggu"){const u=ne(e.datetime),n=/[T\s]\d{1,2}:\d{1,2}/.test(String(e.datetime)),x=Number.isInteger(e.hour)?e.hour:n?u.hour:null;if(x===null||x<0||x>23)throw Y("E_INPUT","称骨必须给时辰:datetime 带时分(如 1990-08-15T10:00),或额外给 hour(0–23)——缺时辰四柱不齐");const z=Ie({year:u.year,month:u.month,day:u.day,hour:x,minute:n?u.minute:0,lateZi:e.lateZi});return{...z,summary:We(z)}}if(a==="convert"){const u=e.mode==="lunar2solar"?"lunar2solar":"solar2lunar";let n;if(u==="lunar2solar"){if(e.lunarYear==null||e.lunarMonth==null||e.lunarDay==null)throw Y("E_INPUT","农历转公历需要 lunarYear / lunarMonth / lunarDay(闰月另加 isLeapMonth: true)");n=gn({mode:u,lunarYear:Number(e.lunarYear),lunarMonth:Number(e.lunarMonth),lunarDay:Number(e.lunarDay),isLeapMonth:O(e.isLeapMonth)})}else{const x=ne(e.datetime);n=gn({mode:u,year:x.year,month:x.month,day:x.day})}return{...n,summary:tt(n)}}if(a==="xiaoliuren"){const u=e.datetime?ne(e.datetime):null,n=Fe({mode:e.mode==="number"?"number":"time",date:typeof e.date=="string"&&e.date.trim()?e.date:u?`${u.year}-${u.month}-${u.day}`:void 0,hour:Number.isInteger(e.hour)?e.hour:u&&/[T\s]\d{1,2}:\d{1,2}/.test(String(e.datetime))?u.hour:void 0,num1:e.num1,num2:e.num2,num3:e.num3,question:e.question,lateZi:e.lateZi});return{...n,summary:bn(n)}}if(a==="star"){const u=ne(e.datetime),n=Se({year:u.year,month:u.month,day:u.day});return{...n,summary:wn(n)}}if(a==="numerology"){const u=ne(e.datetime),n=cn({year:u.year,month:u.month,day:u.day});return{...n,summary:sn(n)}}if(a==="mbti"){if(e.answers===void 0||e.answers===null){const n=$n();return{...n,summary:Re(n)}}const u=ln({answers:e.answers});return{...u,summary:N(u)}}if(a==="trend"){const u=ne(e.datetime),n=e.asOf?se(e.asOf):void 0,x=Dn({...u,nowYear:n?n.year:void 0,gender:L(e.gender),toAge:e.toAge,lateZi:O(e.lateZi,!0),trueSolar:O(e.trueSolar,!0),dst:O(e.dst,!0),longitude:typeof e.longitude=="number"?e.longitude:void 0,address:typeof e.address=="string"?e.address:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0,hourUnknown:O(e.hourUnknown)});return{...x,...O(e.hourUnknown)?{hourUnknown:!0,hourPrecision:"day"}:{},precision:u.precision,summary:yn(x)}}if(a==="fengshui"){if(e.action!=null&&!["natal","advise","xuankong"].includes(e.action))throw Y("E_INPUT",`风水 action 只能是 natal / advise / xuankong,收到「${String(e.action).slice(0,24)}」`);const u=e.action==="advise"?"advise":e.action==="xuankong"?"xuankong":"natal";if(u==="xuankong"){const z=l({action:u,sitting:e.sitting,facing:e.facing,...e.period!==void 0?{period:e.period}:{},...e.fortuneYear!==void 0?{fortuneYear:e.fortuneYear}:{},...typeof e.sittingOffset=="number"?{sittingOffset:e.sittingOffset}:{},...typeof e.sittingDegree=="number"?{sittingDegree:e.sittingDegree}:{},...typeof e.facingOffset=="number"?{facingOffset:e.facingOffset}:{},...typeof e.facingDegree=="number"?{facingDegree:e.facingDegree}:{},...typeof e.fortuneDate=="string"?{fortuneDate:e.fortuneDate}:{},...typeof e.fortuneTime=="string"?{fortuneTime:e.fortuneTime}:{},dst:O(e.dst,!0)});return{...z,summary:hn(z)}}if(u==="advise"){const z=l({action:u,sitting:e.sitting,facing:e.facing,...e.datetime?ne(e.datetime):{},...e.gender==="male"||e.gender==="female"?{gender:e.gender}:{},dst:O(e.dst,!0)});return{...z,summary:hn(z)}}const n=ne(e.datetime),x=l({action:"natal",year:n.year,month:n.month,day:n.day,gender:L(e.gender),fortuneYear:e.fortuneYear,dst:O(e.dst,!0)});return{...x,summary:hn(x)}}if(a==="name"){if(e.action!=null&&!["assess","generate"].includes(e.action))throw Y("E_INPUT",`起名 action 只能是 assess / generate,收到「${String(e.action).slice(0,24)}」`);const u=e.action==="generate"?"generate":"assess",n=e.datetime?ne(e.datetime):Number.isInteger(e.year)&&Number.isInteger(e.month)&&Number.isInteger(e.day)?{year:e.year,month:e.month,day:e.day,...Number.isInteger(e.hour)?{hour:e.hour}:{},...Number.isInteger(e.minute)?{minute:e.minute}:{}}:{},x=S({action:u,surname:e.surname,givenName:e.givenName,limit:e.limit,charElements:e.charElements&&typeof e.charElements=="object"?e.charElements:void 0,strokeOverrides:e.strokeOverrides&&typeof e.strokeOverrides=="object"?e.strokeOverrides:void 0,surnameStrokes:e.surnameStrokes&&typeof e.surnameStrokes=="object"?e.surnameStrokes:void 0,...n,...e.gender==="male"||e.gender==="female"?{gender:e.gender}:{},...e.datetime?{lateZi:O(e.lateZi,!0),trueSolar:O(e.trueSolar,!0),dst:O(e.dst,!0),longitude:typeof e.longitude=="number"?e.longitude:void 0,address:typeof e.address=="string"?e.address:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0}:{}});return{...x,summary:dn(x)}}throw a?Y("E_SYSTEM",`未知体系「${a}」,可选:bazi(四柱八字)、ziwei(紫微斗数)、liuyao(六爻)、meihua(梅花易数)、daliuren(大六壬)、qimen(奇门遁甲)、hepan(合盘)、tarot(塔罗)、almanac(黄历)、zeri(择日)、chenggu(称骨)、xiaoliuren(小六壬)、star(星座)、numerology(生命数字)、mbti(十六型人格问卷)、trend(人生 K 线)、fengshui(风水)、name(起名)、convert(公农历互转)。`):Y("E_INPUT","缺少 system,可选:bazi(四柱八字)、ziwei(紫微斗数)、liuyao(六爻)、meihua(梅花易数)、daliuren(大六壬)、qimen(奇门遁甲)、hepan(合盘)、tarot(塔罗)、almanac(黄历)、zeri(择日)、chenggu(称骨)、xiaoliuren(小六壬)、star(星座)、numerology(生命数字)、mbti(十六型人格问卷)、trend(人生 K 线)、fengshui(风水)、name(起名)、convert(公农历互转)。")}function an(e){const a=e.ganzhi,u=e.jieQi&&e.jieQi.next?` 下一节:${e.jieQi.next.name} ${e.jieQi.next.date}`:"",n=e.dayGod?`值日:${e.dayGod.name}(${e.dayGod.type}·${e.dayGod.luck})`:"",x=e.xiu?`二十八宿:${e.xiu.name}宿(${e.xiu.luck}·${e.xiu.zheng}·${e.xiu.animal})`:"",z=e.taiShen?`胎神:${e.taiShen}`:"",M=e.positions?`吉神方位:喜神${e.positions.xiShen||"—"} 财神${e.positions.caiShen||"—"} 福神${e.positions.fuShen?e.positions.fuShen.dir:"—"} 阳贵${e.positions.yangGui?e.positions.yangGui.dir:"—"} 阴贵${e.positions.yinGui?e.positions.yinGui.dir:"—"}`:"",R=e.lucky?`吉配生肖:六合${e.lucky.liuhe||"—"} 三合${(e.lucky.sanhe||[]).join("、")||"—"}`:"",K=e.nayin&&e.nayin.day?`日柱纳音:${e.nayin.day.name}`:"",qe=(e.hours||[]).map(ge=>`${ge.zhi}${ge.ganZhi.slice(0,1)}·${ge.shen}${ge.luck==="吉"?"吉":"凶"}`).join(" ");return[`【黄历】${e.meta.date} ${e.meta.weekday} ${e.lunar.text}`,`干支:${a.year}年 ${a.month}月 ${a.day}日 属${a.shengXiao}`,...e.meta.boundaryNote?[` ${e.meta.boundaryNote}`]:[],`建除:${e.zhiXing}日 冲:${e.chong.text}${e.chong.sha?`(${e.chong.sha})`:""} ${n}`,[x,K,z].filter(Boolean).join(" "),`宜:${e.yi.join("、")}`,`忌:${e.ji.join("、")}`,M,R,qe?`时辰吉凶:${qe}`:"",`节气:上一节 ${e.jieQi.prev?`${e.jieQi.prev.name} ${e.jieQi.prev.date}`:"—"}${u}`,e.dailyHexagram?`每日一卦:${e.dailyHexagram.name} ${e.dailyHexagram.meaning||""}`:"",`口径:${e.meta.scope}`].filter(Boolean).join(`
|
|
165
|
+
`)}function on(e){const a=e.compare&&e.compare.mode==="candidates",u=a?`【择日·${e.meta.task}】候选 ${e.meta.days} 天:${e.meta.candidates.join("、")}${e.meta.shengXiao?` 当事人属${e.meta.shengXiao}`:"(未给属相,未做冲煞排除)"}`:`【择日·${e.meta.task}】${e.meta.startDate} 起 ${e.meta.days} 天${e.meta.shengXiao?` 当事人属${e.meta.shengXiao}`:"(未给属相,未做冲煞排除)"}`,n=e.days.slice().sort((z,M)=>M.score-z.score).slice(0,a?12:5).map(z=>{const M=z.grade?`,卷十${z.grade.label}·${z.grade.decision}`:"";return`· ${z.date} ${z.weekday} ${z.verdict}(${z.score}分${M}) 宜${z.yi.slice(0,3).join("/")} ${z.reasons.join(";")||"无特别加减分"}`}),x=a?e.compare.best?`这一组里最优:${e.compare.best.date}(${e.compare.best.score}分,${e.compare.best.verdict})`+(e.compare.best.ties.length>1?`;同分:${e.compare.best.ties.filter(z=>z!==e.compare.best.date).join("、")}`:""):"这一组都因冲属相被排除,没有可用的日子":`推荐日:${e.best.length?e.best.join("、"):"本期无(都不够推荐分)"}`;return[u,x,`推荐日:${e.best.length?e.best.join("、"):"无"}`,`可用日:${e.usable.length?e.usable.join("、"):"无"}`,`回避日:${e.avoid.length?e.avoid.slice(0,6).join("、"):"无"}`,a?"候选日逐日:":"逐日排序:",...n,...a?[`比较口径:${e.compare.note}`]:[],`神煞依据:${e.shenshaRef.text};起法 ${e.shenshaRef.volumes.join("、")}。未实现起法:${e.shenshaRef.unsupported.join("、")}(不计分,逐日 shensha.unsupported 列出)。`,...e.shenshaRef.juan10?[`卷十依据:${e.shenshaRef.juan10.text}(${e.shenshaRef.juan10.corpusLines});${e.shenshaRef.juan10.thresholdsNote}`]:[],`口径:${e.meta.scope}`].join(`
|
|
160
166
|
`)}function We(e){const a=e.song||{};return[`【称骨】${e.input.solar} ${e.lunar.text}`,`四项:${e.weights.year.label} ${e.weights.month.label} ${e.weights.day.label} ${e.weights.hour.label}`,`合计:${e.total.label}(${e.verdict.band})`,`歌诀(${e.total.label}):${a.text||"—"}`,`释义:${a.plain||"—"}`,`分档白话:${e.verdict.text}`,"口径:骨重与歌诀为通行本口径(各版本歌诀有异文),释义为白话自撰,属民俗娱乐参考。"].join(`
|
|
161
167
|
`)}function bn(e){return[`【小六壬·${e.meta.mode}】${e.meta.question?`所问:${e.meta.question}`:""}`,e.meta.originText,`落宫:${e.steps.join(" → ")}`,`断语:${e.result.palace}(${e.result.luck}) ${e.result.text}`].join(`
|
|
162
168
|
`)}function wn(e){return[`【星座】${e.meta.date} ${e.sign.name}(${e.sign.element}·守护星${e.sign.planet})`,`区间:${e.sign.range} 关键词:${e.sign.keywords} 契合:${e.sign.compatible}`,`当日基调:${e.daily.tone}`,e.daily.dims.map(a=>`· ${a.name}:${"★".repeat(a.stars)}${"☆".repeat(5-a.stars)} ${a.text}`).join(`
|
|
163
169
|
`),`幸运色:${e.daily.luckyColor} 幸运数字:${e.daily.luckyNumber}`,"口径:当日基调由日期哈希确定性生成(同日同结果),纯娱乐向。"].join(`
|
|
164
|
-
`)}function
|
|
170
|
+
`)}function tt(e){const a=e.ganzhi;return[`【公农历转换·${e.meta.mode==="lunar2solar"?"农历 → 公历":"公历 → 农历"}】${e.lunar.text} ⇄ ${e.solar.text} ${e.meta.weekday}`,`干支:${a.year}年 ${a.month}月 ${a.day}日 属${a.shengXiao}${a.springYear&&a.springYear!==a.year?`(春节界为${a.springYear}年)`:""}`,...e.meta.note?[`注:${e.meta.note}`]:[],`口径:${e.meta.scope}`].join(`
|
|
165
171
|
`)}function sn(e){return[`【生命数字】${e.meta.date}(西方数字学,与八字/紫微不可互证)`,...e.parts.map(a=>`${a.name}:${a.number}(${a.meaning.title}) ${a.meaning.keywords}
|
|
166
172
|
倾向:${a.meaning.tendency}
|
|
167
173
|
课题:${a.meaning.lesson}`)].join(`
|
|
168
|
-
`)}function
|
|
169
|
-
${u.stack.map(
|
|
174
|
+
`)}function N(e){const a=e.dims.map(z=>{const M=z.picked===z.left?z.leftSay:z.rightSay,R=Math.round(z.pct*100);return`${z.left}/${z.right} 取 ${z.picked}(${z.strength} ${R}%,净分 ${z.sum}) ${M}`}),u=e.profile,n=Array.isArray(u.stack)&&u.stack.length?u.stack.map((z,M)=>`${M===0?"主导 ":""}${z.code}`).join(" → ")+`
|
|
175
|
+
${u.stack.map(z=>`${z.code}:${z.say}`).join(`
|
|
170
176
|
`)}`:"",x=Array.isArray(e.unanswered)&&e.unanswered.length?` 未答维度:${e.unanswered.join("、")}(该维按平手占位)`:"";return[`【十六型人格】${e.type}(${u.title})· ${u.keywords} 已答 ${e.answered}/${e.total} 题${x}`,`一句:${u.oneLine}`,"【四维】",...a,`【优势】${u.strengths.join(";")}`,`【留意】${u.blindspots.join(";")}`,`【课题】${u.growth}`,`【认知功能】${n}`,`【工作】${u.work}`,`【关系】${u.love}`,`【学习】${u.study}`,`注:${e.note}`].join(`
|
|
171
|
-
`)}function
|
|
177
|
+
`)}function Re(e){return[`【十六型人格问卷】${e.total} 题,每题按 1(完全不像我)到 5(很像我)打分`,...e.questions.map(a=>`${a.no}. ${a.text}`),`请把 ${e.total} 个分数按顺序交给 answers(如 [4,2,5,3,…]);可以跳过某些题(填 null),至少答 12 题。`,`注:${e.note}`].join(`
|
|
172
178
|
`)}function yn(e){const a=e.meta.strength,u=e.meta.dayMaster,n=u&&typeof u=="object"?`${u.stem}(${u.element})`:String(u||"");return[`【人生 K 线】${e.meta.birth} ${e.meta.gender} 日主 ${n} 旺衰 ${a.level}(${a.score})`,e.meta.boundaryNote?`※ ${e.meta.boundaryNote}`:"",`【大运分段】${e.segments.map(x=>`${x.ganZhi} ${x.startAge}-${x.endAge}岁`).join(" ")}`,`【走势】${Array.isArray(e.sparkline)?e.sparkline.join(" "):e.sparkline}`,...e.highlights&&e.highlights.best&&e.highlights.best.length?[`【关键年】最佳 ${e.highlights.best.join(";")}${e.highlights.worst&&e.highlights.worst.length?`
|
|
173
179
|
最需留意 ${e.highlights.worst.join(";")}`:""}`]:[],`※ ${e.disclaimer}`].filter(Boolean).join(`
|
|
174
|
-
`)}function
|
|
180
|
+
`)}function hn(e){if(e.meta.action==="xuankong"){const u=e.meta.period,n=qe=>{const ge=e.palaces.find(ce=>ce.palace===qe);return`${qe}${ge.yun}/${ge.shan}/${ge.xiang}`},x=qe=>qe.map(n).join(" "),z=e.wangShanWangXiang,M=e.meta.jianXiang,R=e.timeFlying,K=R?`【年月日时】${[["year","年"],["month","月"],["day","日"],["hour","时"]].filter(([qe])=>R[qe]).map(([qe,ge])=>`${ge}${R[qe].centerName}${R[qe].fly?`·${R[qe].fly}`:""}`).join(" ")}${R.meta&&R.meta.note?`(${R.meta.note})`:""}`:"";return[`【玄空】${e.meta.periodLabel}${M&&M.active?"·替卦":"·下卦"} 坐 ${e.meta.sitting} 向 ${e.meta.facing}`,...M&&M.active?[`【替卦】${M.note}`]:[],`【入中】山盘 ${e.meta.shanCenter.star}${e.meta.shanCenter.name}(${e.meta.shanCenter.fly},${e.meta.shanCenter.basis}${e.meta.shanCenter.mode==="替卦"?`;原运星 ${e.meta.shanCenter.original}${e.meta.shanCenter.replaced?",已替":",用替而未替"}`:""});向盘 ${e.meta.xiangCenter.star}${e.meta.xiangCenter.name}(${e.meta.xiangCenter.fly},${e.meta.xiangCenter.basis}${e.meta.xiangCenter.mode==="替卦"?`;原运星 ${e.meta.xiangCenter.original}${e.meta.xiangCenter.replaced?",已替":",用替而未替"}`:""})`,`【九宫】${x(["巽","离","坤"])}|${x(["震","中","兑"])}|${x(["艮","坎","乾"])}`,`【当运】山星${u}到${e.dangYun.shan.text};向星${u}到${e.dangYun.xiang.text}`,`【表法】${z.byTable===null?"替卦不套正向表;":""}${z.table.length?z.table.join("、"):"无"};${z.note}`,`【合十】山星合十 ${e.heshi.shan.join("、")||"无"};向星合十 ${e.heshi.xiang.join("、")||"无"}`,...K?[K]:[],...e.meta.note?[`※ ${e.meta.note}`]:[],`※ ${e.disclaimer}`].join(`
|
|
175
181
|
`)}if(e.meta.action==="advise"){const u=e.mingMatch?[`【命宅配】${e.mingMatch.text}`]:[`※ ${e.meta.birthNote||"未提供生辰,未做命宅配。"}`];return[`【宅卦】坐 ${e.meta.sitting} 向 ${e.meta.facing} ${e.meta.houseGua}宅(${e.meta.houseGroup})`,`【八星】${e.houseStars.map(n=>`${n.star}·${n.direction}${n.palace?`(${n.palace})`:""}`).join(" ")}`,`【门】${e.layout.door}`,`【灶】${e.layout.stove}`,`【床】${e.layout.bed}`,`【厕】${e.layout.toilet}`,...u,`※ ${e.disclaimer}`].join(`
|
|
176
182
|
`)}const a=e.mingGua;return[`【命卦】${a.num}${a.gua}(${a.group}) 方位 ${a.direction}`,`【四吉】${e.luckyDirections.map(u=>`${u.star}·${u.direction}${u.palace?`(${u.palace})`:""}`).join(" ")}`,`【四凶】${e.unluckyDirections.map(u=>`${u.star}·${u.direction}`).join(" ")}`,...e.yearlyFlying?[`【${e.meta.fortuneYear} 年九宫飞星】中宫 ${e.yearlyFlying.centerName};${e.yearlyFlying.palaces.filter(u=>u.palace!=="中").map(u=>`${u.palace}${u.name}`).join(" ")}`]:[`※ ${e.meta.note||""}`],`※ ${e.disclaimer}`].filter(Boolean).join(`
|
|
177
|
-
`)}function
|
|
178
|
-
`);const a=R=>R.source==="lib"?"字库":R.source==="user"?"用户指定":"未收录",u=R=>{const K=R.element==="未收录"?"未收录(不猜五行)":`${R.element}(${a(R)})`,
|
|
179
|
-
`)}function
|
|
180
|
-
`,x=[(e.brief?["【先说结论】"+e.brief.lead].concat((e.brief.sections||[]).map(
|
|
181
|
-
基础指纹 ${
|
|
182
|
-
⚠ 不可复算:${
|
|
183
|
-
提示:未固定 asOf,流年/流月随「此刻」变化;要比对请传 asOf。`:""))}if(e.revision&&((e.revision.applied||[]).length||(e.revision.ignored||[]).length)){const
|
|
183
|
+
`)}function dn(e){if(e.action==="generate")return[`【候选名】姓 ${e.surname}(${e.gender},喜用 ${e.bazi.favorable.join("、")})${e.bazi.basis}`,...e.candidates.map(R=>{const K=R.wuge&&R.wuge.available?` 五格 ${R.wuge.summary}`:"",qe=R.phonetics&&R.phonetics.available?` 音韵 ${R.phonetics.level}(${R.phonetics.tonePattern})`:"";return`${R.rank}. ${R.name} ${R.chars.map(ge=>`${ge.char}(${ge.element})${ge.meaning}`).join(" ")}${K}${qe}`}),...e.notes.map(R=>`※ ${R}`)].join(`
|
|
184
|
+
`);const a=R=>R.source==="lib"?"字库":R.source==="user"?"用户指定":"未收录",u=R=>{const K=R.element==="未收录"?"未收录(不猜五行)":`${R.element}(${a(R)})`,qe=R.favorable===!0?"合喜用":R.favorable===!1?"不合喜用":"不判",ge=R.suggest&&R.suggest.length?` 可换:${R.suggest.map(ce=>`${ce.char}(${ce.element})`).join("、")}`:"";return`· ${R.char}:${K}|${qe}|${R.meaning}${ge}`},n=e.wuge,x=n&&n.available?`【五格】${n.strokes.map(R=>`${R.char}${R.strokes}画`).join("+")}|${n.summary}|三才 ${n.sancai.text}`:`【五格】${n?n.reason:"未算"}`,z=e.phonetics,M=z&&z.available?`【音韵】${z.chars.map(R=>`${R.char}${R.py}${R.tone}`).join(" ")}|声调 ${z.tonePattern}|${z.level}${(z.alt||[]).length?`|姓又读 ${z.alt.map(R=>`${R.char}${R.py}${R.tone}`).join("、")}`:""}${z.issues.length?`:${z.issues.map(R=>R.text).join(";")}`:""}`:`【音韵】${z?z.reason:"未算"}`;return[`【名字评估】${e.fullName}`,...e.chars.map(u),e.bazi?`【八字】日主 ${e.bazi.dayMaster&&e.bazi.dayMaster.stem?`${e.bazi.dayMaster.stem}(${e.bazi.dayMaster.element})`:e.bazi.dayMaster},旺衰 ${e.bazi.strength.level}(${e.bazi.strength.score}),${e.bazi.basis}`:"",x,M,`【结论】${e.verdict}`,...e.notes.map(R=>`※ ${R}`)].filter(Boolean).join(`
|
|
185
|
+
`)}function zn(e){const a=e.summary??JSON.stringify(e,null,2),u=`
|
|
186
|
+
`,x=[(e.brief?["【先说结论】"+e.brief.lead].concat((e.brief.sections||[]).map(z=>[" ",z.h,":",z.t].join(""))).concat((e.brief.advice||[]).length?[" 可以试着做的:"+e.brief.advice.map(z=>String(z).replace(/。$/,"")).join(";")+"。"]:[]).concat(e.brief.caveat?[" ※ "+e.brief.caveat]:[]).join(u)+u:"")+a];if(e.shadow&&e.shadow.id){const z=e.shadow;x.push(`【影子盘】${z.id}(同参数同 ID;版本 ${z.version})
|
|
187
|
+
基础指纹 ${z.baseId}(不含版本,跨版本可比对)`+(z.reproducible===!1?`
|
|
188
|
+
⚠ 不可复算:${z.reason}`:"")+(z.reproducible===!0&&z.asOfPinned===!1&&(z.system==="bazi"||z.system==="ziwei")?`
|
|
189
|
+
提示:未固定 asOf,流年/流月随「此刻」变化;要比对请传 asOf。`:""))}if(e.revision&&((e.revision.applied||[]).length||(e.revision.ignored||[]).length)){const z=e.revision,M=(z.applied||[]).map(R=>`${R.label}:${R.fromDisplay==null?"(未设)":R.fromDisplay} → ${R.display}`);x.push(`【改参】${z.text}${M.length?`
|
|
184
190
|
${M.join(";")}`:`
|
|
185
|
-
没有识别到可改的参数,仍按原参数排盘`}`+((
|
|
186
|
-
未处理:${
|
|
191
|
+
没有识别到可改的参数,仍按原参数排盘`}`+((z.ignored||[]).length?`
|
|
192
|
+
未处理:${z.ignored.join(";")}`:""))}if(typeof e.handle=="string"&&e.handle&&x.push(`【排盘句柄】${e.handle}
|
|
187
193
|
追问同一张盘:传 handle + 增量参数(asOf / direction / question,或换 system 看另一套盘),不必重报出生信息。`),Array.isArray(e.trace)&&e.trace.length&&x.push(`【推导链】${C[e.system]||e.system} · ${e.trace.length} 层
|
|
188
|
-
`+e.trace.map((
|
|
189
|
-
规则:${
|
|
190
|
-
`)),e.interpret){const
|
|
191
|
-
${
|
|
192
|
-
`+
|
|
193
|
-
并排:${R.map(
|
|
194
|
+
`+e.trace.map((z,M)=>`${M+1}. ${z.field}|${z.result}
|
|
195
|
+
规则:${z.rule} 出处:${z.source}`).join(`
|
|
196
|
+
`)),e.interpret){const z=Fn(e.interpret,e.interpretTier);z&&x.push(z)}if(e.cross&&x.push(`【八字 × 紫微 交叉验证】
|
|
197
|
+
${ze(e.cross)}`),e.caliber&&Array.isArray(e.caliber.switches)&&e.caliber.switches.length){const z=e.caliber;x.push(`【口径对照】同一组输入,只换一个口径(不判哪套更准,也不改盘面)
|
|
198
|
+
`+z.switches.map(M=>{if(M.error)return`· ${M.title}:未能对照(${M.error})`;if(!M.total)return`· ${M.title}:${M.currentLabel} → ${M.altLabel},本盘无变化`;const R=(Array.isArray(M.views)?M.views:[]).filter(qe=>qe.changed),K=R.length?`
|
|
199
|
+
并排:${R.map(qe=>`${qe.label} ${qe.current} → ${qe.alt}`).join(";")}`:"";return`· ${M.title}:${M.currentLabel} → ${M.altLabel}
|
|
194
200
|
${M.summary}${K}`}).join(`
|
|
195
|
-
`))}if(e.followup){const
|
|
196
|
-
${
|
|
197
|
-
依据:${
|
|
198
|
-
`+e.past.rows.map(
|
|
201
|
+
`))}if(e.followup){const z=e.followup;x.push(`【追问】${z.question}
|
|
202
|
+
${z.answer}${z.evidence&&z.evidence.length?`
|
|
203
|
+
依据:${z.evidence.join(";")} 置信度:${z.confidence}`:""}`)}if(e.past&&Array.isArray(e.past.rows)&&e.past.rows.length&&x.push(`【验前事】过去 ${e.past.years} 年的流年信号(只读,不改盘)
|
|
204
|
+
`+e.past.rows.map(z=>`· ${z.year} ${z.ganzhi} · ${z.theme}(${z.tier}${z.tenGod?`,${z.tenGod}`:""})`).join(`
|
|
199
205
|
`)+`
|
|
200
|
-
用法:在面板里勾「准 / 不准 / 不确定」后算贴合度;贴合度低时先核对出生时间、时区与晚子时口径。`),e.rectify&&Array.isArray(e.rectify.candidates)){const
|
|
201
|
-
`+
|
|
206
|
+
用法:在面板里勾「准 / 不准 / 不确定」后算贴合度;贴合度低时先核对出生时间、时区与晚子时口径。`),e.rectify&&Array.isArray(e.rectify.candidates)){const z=e.rectify;x.push(`【生时校正】候选时辰 ${z.candidates.length} 个(固定规则打分,只缩小范围)
|
|
207
|
+
`+z.candidates.slice(0,8).map(M=>`· ${M.label} 时柱 ${M.hourGanzhi} / 日柱 ${M.dayGanzhi} · 命中 ${M.hits}/${M.total}`).join(`
|
|
202
208
|
`)+`
|
|
203
|
-
${
|
|
209
|
+
${z.note}`)}return x.filter(Boolean).join(`
|
|
204
210
|
|
|
205
|
-
`)}const{buildEventPrompt:
|
|
211
|
+
`)}const{buildEventPrompt:Hn,ASK_KINDS:it}=J["event-prompt"]||{},{plainSummary:gt}=J["plain-summary"]||{};return{interpret:ve,DIRECTIONS:Ae,DIRECTION_DEFAULT:mn,BRIGHTNESS:Z,flowOf:j,parseDateTime:ne,geocodeAddress:r,resolveAddress:y,buildBazi:U,buildLiuyao:V,tossLines:ae,followup:ye,askPrompt:nn,pastSignals:be,verifyFit:je,rectifyBirth:Te,crossCheck:Gn,crossText:ze,crossSection:Nn,buildAlmanac:Ge,buildZeri:Ze,buildChenggu:Ie,buildXiaoliuren:Fe,buildStar:Se,buildNumerology:cn,buildConvert:gn,buildTrend:Dn,buildFengshui:l,buildName:S,buildTrace:v,traceMarkdown:X,encodeHandle:F,decodeHandle:oe,resolveHandle:ie,pruneForeignKeys:fe,ownedKeys:ke,askLink:W,parseAskLink:D,formOf:k,restNote:P,askPackages:ee,buildEventPrompt:Hn,ASK_KINDS:it,chartFingerprint:$t,shadowSnapshot:st,shadowDiff:vn,compute:Tn,interpretText:Fn,caliberCompare:dt,normalizeLongitudes:lt,renderText:zn}})(),{Engine:J.index}}});
|