diff --git a/FRONTEND_EXPORT_SETUP.md b/FRONTEND_EXPORT_SETUP.md
new file mode 100644
index 0000000..434b555
--- /dev/null
+++ b/FRONTEND_EXPORT_SETUP.md
@@ -0,0 +1,211 @@
+# 前端页面导出功能设置说明
+
+## 功能概述
+
+新增了前端页面直接导出为PDF和PNG的功能,用户可以直接从分析结果页面生成:
+- **PDF文档**:支持分页的专业格式文档
+- **PNG长图**:完整页面截图,适合社交媒体分享
+
+## 依赖安装
+
+需要安装以下依赖包:
+
+```bash
+npm install html2canvas jspdf
+```
+
+或使用yarn:
+
+```bash
+yarn add html2canvas jspdf
+```
+
+## 功能特性
+
+### PDF导出
+- ✅ A4纸张格式
+- ✅ 自动分页处理
+- ✅ 高质量输出
+- ✅ 保持原有样式和布局
+- ✅ 自动隐藏导出按钮等UI元素
+
+### PNG导出
+- ✅ 高分辨率长图(2倍缩放)
+- ✅ 完整页面内容
+- ✅ 保持颜色和样式
+- ✅ 适合移动端查看和分享
+
+## 已集成的组件
+
+1. **CompleteYijingAnalysis** - 易经占卜分析页面
+2. **CompleteBaziAnalysis** - 八字命理分析页面
+3. **CompleteZiweiAnalysis** - 紫微斗数分析页面
+
+## 使用方法
+
+### 在组件中使用
+
+```tsx
+import PageExportButton from './ui/PageExportButton';
+
+// 在JSX中使用
+
=h;--w)c.point(G[w],Q[w]);c.lineEnd(),c.areaEnd()}B&&(G[x]=+t(v,x,u),Q[x]=+e(v,x,u),c.point(a?+a(v,x,u):G[x],n?+n(v,x,u):Q[x]))}if(U)return c=null,U+""||null}function p(){return s8().defined(o).curve(s).context(r)}return A.x=function(u){return arguments.length?(t=typeof u=="function"?u:Rn(+u),a=null,A):t},A.x0=function(u){return arguments.length?(t=typeof u=="function"?u:Rn(+u),A):t},A.x1=function(u){return arguments.length?(a=u==null?null:typeof u=="function"?u:Rn(+u),A):a},A.y=function(u){return arguments.length?(e=typeof u=="function"?u:Rn(+u),n=null,A):e},A.y0=function(u){return arguments.length?(e=typeof u=="function"?u:Rn(+u),A):e},A.y1=function(u){return arguments.length?(n=u==null?null:typeof u=="function"?u:Rn(+u),A):n},A.lineX0=A.lineY0=function(){return p().x(t).y(e)},A.lineY1=function(){return p().x(t).y(n)},A.lineX1=function(){return p().x(a).y(e)},A.defined=function(u){return arguments.length?(o=typeof u=="function"?u:Rn(!!u),A):o},A.curve=function(u){return arguments.length?(s=u,r!=null&&(c=s(r)),A):s},A.context=function(u){return arguments.length?(u==null?r=c=null:c=s(r=u),A):r},A}class i8{constructor(e,n){this._context=e,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}}function dI(t){return new i8(t,!0)}function AI(t){return new i8(t,!1)}const z3={draw(t,e){const n=Ks(e/Vf);t.moveTo(n,0),t.arc(0,0,n,0,nh)}},uI={draw(t,e){const n=Ks(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},c8=Ks(1/3),pI=c8*2,fI={draw(t,e){const n=Ks(e/pI),a=n*c8;t.moveTo(0,-n),t.lineTo(a,0),t.lineTo(0,n),t.lineTo(-a,0),t.closePath()}},gI={draw(t,e){const n=Ks(e),a=-n/2;t.rect(a,a,n,n)}},hI=.8908130915292852,l8=Wf(Vf/10)/Wf(7*Vf/10),xI=Wf(nh/10)*l8,yI=-t8(nh/10)*l8,CI={draw(t,e){const n=Ks(e*hI),a=xI*n,o=yI*n;t.moveTo(0,-n),t.lineTo(a,o);for(let r=1;r<5;++r){const s=nh*r/5,c=t8(s),l=Wf(s);t.lineTo(l*n,-c*n),t.lineTo(c*a-l*o,l*a+c*o)}t.closePath()}},Vx=Ks(3),bI={draw(t,e){const n=-Ks(e/(Vx*3));t.moveTo(0,n*2),t.lineTo(-Vx*n,-n),t.lineTo(Vx*n,-n),t.closePath()}},ss=-.5,is=Ks(3)/2,L1=1/Ks(12),vI=(L1/2+1)*3,wI={draw(t,e){const n=Ks(e/vI),a=n/2,o=n*L1,r=a,s=n*L1+n,c=-r,l=s;t.moveTo(a,o),t.lineTo(r,s),t.lineTo(c,l),t.lineTo(ss*a-is*o,is*a+ss*o),t.lineTo(ss*r-is*s,is*r+ss*s),t.lineTo(ss*c-is*l,is*c+ss*l),t.lineTo(ss*a+is*o,ss*o-is*a),t.lineTo(ss*r+is*s,ss*s-is*r),t.lineTo(ss*c+is*l,ss*l-is*c),t.closePath()}};function BI(t,e){let n=null,a=R3(o);t=typeof t=="function"?t:Rn(t||z3),e=typeof e=="function"?e:Rn(e===void 0?64:+e);function o(){let r;if(n||(n=r=a()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),r)return n=null,r+""||null}return o.type=function(r){return arguments.length?(t=typeof r=="function"?r:Rn(r),o):t},o.size=function(r){return arguments.length?(e=typeof r=="function"?r:Rn(+r),o):e},o.context=function(r){return arguments.length?(n=r??null,o):n},o}function Xf(){}function Jf(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function m8(t){this._context=t}m8.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Jf(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Jf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function DI(t){return new m8(t)}function d8(t){this._context=t}d8.prototype={areaStart:Xf,areaEnd:Xf,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Jf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function UI(t){return new d8(t)}function A8(t){this._context=t}A8.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,a=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,a):this._context.moveTo(n,a);break;case 3:this._point=4;default:Jf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function HI(t){return new A8(t)}function u8(t){this._context=t}u8.prototype={areaStart:Xf,areaEnd:Xf,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function NI(t){return new u8(t)}function F5(t){return t<0?-1:1}function L5(t,e,n){var a=t._x1-t._x0,o=e-t._x1,r=(t._y1-t._y0)/(a||o<0&&-0),s=(n-t._y1)/(o||a<0&&-0),c=(r*o+s*a)/(a+o);return(F5(r)+F5(s))*Math.min(Math.abs(r),Math.abs(s),.5*Math.abs(c))||0}function Q5(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Xx(t,e,n){var a=t._x0,o=t._y0,r=t._x1,s=t._y1,c=(r-a)/3;t._context.bezierCurveTo(a+c,o+c*e,r-c,s-c*n,r,s)}function eg(t){this._context=t}eg.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Xx(this,this._t0,Q5(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Xx(this,Q5(this,n=L5(this,t,e)),n);break;default:Xx(this,this._t0,n=L5(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function p8(t){this._context=new f8(t)}(p8.prototype=Object.create(eg.prototype)).point=function(t,e){eg.prototype.point.call(this,e,t)};function f8(t){this._context=t}f8.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,a,o,r){this._context.bezierCurveTo(e,t,a,n,r,o)}};function jI(t){return new eg(t)}function GI(t){return new p8(t)}function g8(t){this._context=t}g8.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var a=I5(t),o=I5(e),r=0,s=1;s >>1;n(c[u],l)<0?A=u+1:p=u}while(A >>1;n(c[u],l)<=0?A=u+1:p=u}while(A A&&a(c[u-1],l)>-a(c[u],l)?u-1:u}return{left:o,center:s,right:r}}function r9(){return 0}function J8(t){return t===null?NaN:+t}function*s9(t,e){for(let n of t)n!=null&&(n=+n)>=n&&(yield n)}const i9=ew(Wl),i2=i9.right;ew(J8).center;class i7 extends Map{constructor(e,n=m9){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[a,o]of e)this.set(a,o)}get(e){return super.get(c7(this,e))}has(e){return super.has(c7(this,e))}set(e,n){return super.set(c9(this,e),n)}delete(e){return super.delete(l9(this,e))}}function c7({_intern:t,_key:e},n){const a=e(n);return t.has(a)?t.get(a):n}function c9({_intern:t,_key:e},n){const a=e(n);return t.has(a)?t.get(a):(t.set(a,n),n)}function l9({_intern:t,_key:e},n){const a=e(n);return t.has(a)&&(n=t.get(a),t.delete(a)),n}function m9(t){return t!==null&&typeof t=="object"?t.valueOf():t}function d9(t=Wl){if(t===Wl)return eG;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{const a=t(e,n);return a||a===0?a:(t(n,n)===0)-(t(e,e)===0)}}function eG(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(t=0;)n[e]=e;return n}function FI(t,e){return t[e]}function LI(t){const e=[];return e.key=t,e}function QI(){var t=Rn([]),e=Q1,n=wA,a=FI;function o(r){var s=Array.from(t.apply(this,arguments),LI),c,l=s.length,A=-1,p;for(const u of r)for(c=0,++A;ca||c&&l&&p&&!A&&!u||r&&l&&p||!o&&p||!s)return 1;if(!r&&!c&&!u&&n=A)return p;var u=o[r];return p*(u=="desc"?-1:1)}}return n.index-a.index}return DC=e,DC}var UC,bU;function bT(){if(bU)return UC;bU=1;var t=L3(),e=Q3(),n=Fi(),a=T8(),o=xT(),r=N8(),s=CT(),c=JA(),l=Br();function A(p,u,x){u.length?u=t(u,function(b){return l(b)?function(v){return e(v,b.length===1?b[0]:b)}:b}):u=[c];var h=-1;u=t(u,r(n));var w=a(p,function(b,v,B){var U=t(u,function(G){return G(b)});return{criteria:U,index:++h,value:b}});return o(w,function(b,v){return s(b,v,x)})}return UC=A,UC}var HC,vU;function vT(){if(vU)return HC;vU=1;function t(e,n,a){switch(a.length){case 0:return e.call(n);case 1:return e.call(n,a[0]);case 2:return e.call(n,a[0],a[1]);case 3:return e.call(n,a[0],a[1],a[2])}return e.apply(n,a)}return HC=t,HC}var NC,wU;function wT(){if(wU)return NC;wU=1;var t=vT(),e=Math.max;function n(a,o,r){return o=e(o===void 0?a.length-1:o,0),function(){for(var s=arguments,c=-1,l=e(s.length-o,0),A=Array(l);++c0;){if(A=$1(s,c,n),A===l)return a[o]=s,a[r]=c,e(a);if(A>0)s=Math.floor(s/A)*A,c=Math.ceil(c/A)*A;else if(A<0)s=Math.ceil(s*A)/A,c=Math.floor(c*A)/A;else break;l=A}return t},t}function Ag(){var t=rw();return t.copy=function(){return l2(t,Ag())},gs.apply(t,arguments),rm(t)}function lG(t){var e;function n(a){return a==null||isNaN(a=+a)?e:a}return n.invert=n,n.domain=n.range=function(a){return arguments.length?(t=Array.from(a,mg),n):t.slice()},n.unknown=function(a){return arguments.length?(e=a,n):e},n.copy=function(){return lG(t).unknown(e)},t=arguments.length?Array.from(t,mg):[0,1],rm(n)}function mG(t,e){t=t.slice();var n=0,a=t.length-1,o=t[n],r=t[a],s;return r0))return l;let A;do l.push(A=new Date(+r)),e(r,c),t(r);while(A53)return null;"w"in Be||(Be.w=1),"Z"in Be?(Ve=VC(Pu(Be.y,0,1)),je=Ve.getUTCDay(),Ve=je>4||je===0?fg.ceil(Ve):fg(Ve),Ve=mh.offset(Ve,(Be.V-1)*7),Be.y=Ve.getUTCFullYear(),Be.m=Ve.getUTCMonth(),Be.d=Ve.getUTCDate()+(Be.w+6)%7):(Ve=WC(Pu(Be.y,0,1)),je=Ve.getDay(),Ve=je>4||je===0?pg.ceil(Ve):pg(Ve),Ve=m2.offset(Ve,(Be.V-1)*7),Be.y=Ve.getFullYear(),Be.m=Ve.getMonth(),Be.d=Ve.getDate()+(Be.w+6)%7)}else("W"in Be||"U"in Be)&&("w"in Be||(Be.w="u"in Be?Be.u%7:"W"in Be?1:0),je="Z"in Be?VC(Pu(Be.y,0,1)).getUTCDay():WC(Pu(Be.y,0,1)).getDay(),Be.m=0,Be.d="W"in Be?(Be.w+6)%7+Be.W*7-(je+5)%7:Be.w+Be.U*7-(je+6)%7);return"Z"in Be?(Be.H+=Be.Z/100|0,Be.M+=Be.Z%100,VC(Be)):WC(Be)}}function O(de,Ge,Ee,Be){for(var Re=0,Ve=Ge.length,je=Ee.length,ce,dt;Ree(o/(t.length-1)))},n.quantiles=function(a){return Array.from({length:a+1},(o,r)=>f9(t,r/a))},n.copy=function(){return NG(e).domain(t)},Rc.apply(n,arguments)}function ph(){var t=0,e=.5,n=1,a=1,o,r,s,c,l,A=rr,p,u=!1,x;function h(b){return isNaN(b=+b)?x:(b=.5+((b=+p(b))-r)*(a*bn}return JC=t,JC}var eb,K7;function _M(){if(K7)return eb;K7=1;var t=fh(),e=EG(),n=JA();function a(o){return o&&o.length?t(o,n,e):void 0}return eb=a,eb}var EM=_M();const gh=Qn(EM);var tb,q7;function PG(){if(q7)return tb;q7=1;function t(e,n){return e0&&(o+1===s&&(r+="."),r+=kl(a))),t.s<0?"-"+r:r}function eH(t,e){if(t.length>e)return t.length=e,!0}function IG(t){var e,n,a;function o(r){var s=this;if(!(s instanceof o))return new o(r);if(s.constructor=o,r instanceof o){s.s=r.s,s.e=r.e,s.d=(r=r.d)?r.slice():r;return}if(typeof r=="number"){if(r*0!==0)throw Error(ad+r);if(r>0)s.s=1;else if(r<0)r=-r,s.s=-1;else{s.s=0,s.e=0,s.d=[0];return}if(r===~~r&&r<1e7){s.e=0,s.d=[r];return}return J7(s,r.toString())}else if(typeof r!="string")throw Error(ad+r);if(r.charCodeAt(0)===45?(r=r.slice(1),s.s=-1):s.s=1,RM.test(r))J7(s,r);else throw Error(ad+r)}if(o.prototype=xt,o.ROUND_UP=0,o.ROUND_DOWN=1,o.ROUND_CEIL=2,o.ROUND_FLOOR=3,o.ROUND_HALF_UP=4,o.ROUND_HALF_DOWN=5,o.ROUND_HALF_EVEN=6,o.ROUND_HALF_CEIL=7,o.ROUND_HALF_FLOOR=8,o.clone=IG,o.config=o.set=MM,t===void 0&&(t={}),t)for(a=["precision","rounding","toExpNeg","toExpPos","LN10"],e=0;e0&&a.handleDrag(o.changedTouches[0])}),Tr(a,"handleDragEnd",function(){a.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var o=a.props,r=o.endIndex,s=o.onDragEnd,c=o.startIndex;s==null||s({endIndex:r,startIndex:c})}),a.detachDragEndListener()}),Tr(a,"handleLeaveWrapper",function(){(a.state.isTravellerMoving||a.state.isSlideMoving)&&(a.leaveTimer=window.setTimeout(a.handleDragEnd,a.props.leaveTimeOut))}),Tr(a,"handleEnterSlideOrTraveller",function(){a.setState({isTextActive:!0})}),Tr(a,"handleLeaveSlideOrTraveller",function(){a.setState({isTextActive:!1})}),Tr(a,"handleSlideDragStart",function(o){var r=vN(o)?o.changedTouches[0]:o;a.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:r.pageX}),a.attachDragEndListener()}),a.travellerDragStartHandlers={startX:a.handleTravellerDragStart.bind(a,"startX"),endX:a.handleTravellerDragStart.bind(a,"endX")},a.state={},a}return L$(e,t),E$(e,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(a){var o=a.startX,r=a.endX,s=this.state.scaleValues,c=this.props,l=c.gap,A=c.data,p=A.length-1,u=Math.min(o,r),x=Math.max(o,r),h=e.getIndexInRange(s,u),w=e.getIndexInRange(s,x);return{startIndex:h-h%l,endIndex:w===p?p:w-w%l}}},{key:"getTextOfTick",value:function(a){var o=this.props,r=o.data,s=o.tickFormatter,c=o.dataKey,l=Qc(r[a],c,a);return an(s)?s(l,a):l}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(a){var o=this.state,r=o.slideMoveStartX,s=o.startX,c=o.endX,l=this.props,A=l.x,p=l.width,u=l.travellerWidth,x=l.startIndex,h=l.endIndex,w=l.onChange,b=a.pageX-r;b>0?b=Math.min(b,A+p-u-c,A+p-u-s):b<0&&(b=Math.max(b,A-s,A-c));var v=this.getIndex({startX:s+b,endX:c+b});(v.startIndex!==x||v.endIndex!==h)&&w&&w(v),this.setState({startX:s+b,endX:c+b,slideMoveStartX:a.pageX})}},{key:"handleTravellerDragStart",value:function(a,o){var r=vN(o)?o.changedTouches[0]:o;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:a,brushMoveStartX:r.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(a){var o=this.state,r=o.brushMoveStartX,s=o.movingTravellerId,c=o.endX,l=o.startX,A=this.state[s],p=this.props,u=p.x,x=p.width,h=p.travellerWidth,w=p.onChange,b=p.gap,v=p.data,B={startX:this.state.startX,endX:this.state.endX},U=a.pageX-r;U>0?U=Math.min(U,u+x-h-A):U<0&&(U=Math.max(U,u-A)),B[s]=A+U;var G=this.getIndex(B),Q=G.startIndex,_=G.endIndex,S=function(){var O=v.length-1;return s==="startX"&&(c>l?Q%b===0:_%b===0)||c=s&&(l[p/8|0]=A,Re=s),p=JE(l,p+1,t.subarray(R,Re))}r.i=s}return XE(c,0,a+kw(p)+o)},tP=function(){var t=1,e=0;return{p:function(n){for(var a=t,o=e,r=n.length|0,s=0;s!=r;){for(var c=Math.min(s+2655,r);s