var SubscriberFlags=(SubscriberFlags2=>{SubscriberFlags2[SubscriberFlags2["Computed"]=1]="Computed";SubscriberFlags2[SubscriberFlags2["Effect"]=2]="Effect";SubscriberFlags2[SubscriberFlags2["Tracking"]=4]="Tracking";SubscriberFlags2[SubscriberFlags2["Notified"]=8]="Notified";SubscriberFlags2[SubscriberFlags2["Recursed"]=16]="Recursed";SubscriberFlags2[SubscriberFlags2["Dirty"]=32]="Dirty";SubscriberFlags2[SubscriberFlags2["PendingComputed"]=64]="PendingComputed";SubscriberFlags2[SubscriberFlags2["PendingEffect"]=128]="PendingEffect";SubscriberFlags2[SubscriberFlags2["Propagated"]=224]="Propagated";return SubscriberFlags2})(SubscriberFlags||{});function createReactiveSystem({updateComputed,notifyEffect:notifyEffect2}){const notifyBuffer=[];let notifyIndex=0;let notifyBufferLength=0;return{link:link2,propagate:propagate2,updateDirtyFlag:updateDirtyFlag2,startTracking:startTracking2,endTracking:endTracking2,processEffectNotifications:processEffectNotifications2,processComputedUpdate:processComputedUpdate2,processPendingInnerEffects:processPendingInnerEffects2};function link2(dep,sub){const currentDep=sub.depsTail;if(currentDep!==void 0&¤tDep.dep===dep){return}const nextDep=currentDep!==void 0?currentDep.nextDep:sub.deps;if(nextDep!==void 0&&nextDep.dep===dep){sub.depsTail=nextDep;return}const depLastSub=dep.subsTail;if(depLastSub!==void 0&&depLastSub.sub===sub&&isValidLink(depLastSub,sub)){return}return linkNewDep(dep,sub,nextDep,currentDep)}function propagate2(current){let next=current.nextSub;let branchs;let branchDepth=0;let targetFlag=32;top:do{const sub=current.sub;const subFlags=sub.flags;let shouldNotify=false;if(!(subFlags&(4|16|224))){sub.flags=subFlags|targetFlag|8;shouldNotify=true}else if(subFlags&16&&!(subFlags&4)){sub.flags=subFlags&~16|targetFlag|8;shouldNotify=true}else if(!(subFlags&224)&&isValidLink(current,sub)){sub.flags=subFlags|16|targetFlag|8;shouldNotify=sub.subs!==void 0}if(shouldNotify){const subSubs=sub.subs;if(subSubs!==void 0){current=subSubs;if(subSubs.nextSub!==void 0){branchs={target:next,linked:branchs};++branchDepth;next=current.nextSub;targetFlag=64}else{targetFlag=subFlags&2?128:64}continue}if(subFlags&2){notifyBuffer[notifyBufferLength++]=sub}}else if(!(subFlags&(4|targetFlag))){sub.flags=subFlags|targetFlag|8;if((subFlags&(2|8))===2){notifyBuffer[notifyBufferLength++]=sub}}else if(!(subFlags&targetFlag)&&subFlags&224&&isValidLink(current,sub)){sub.flags=subFlags|targetFlag}if((current=next)!==void 0){next=current.nextSub;targetFlag=branchDepth?64:32;continue}while(branchDepth--){current=branchs.target;branchs=branchs.linked;if(current!==void 0){next=current.nextSub;targetFlag=branchDepth?64:32;continue top}}break}while(true)}function startTracking2(sub){sub.depsTail=void 0;sub.flags=sub.flags&~(8|16|224)|4}function endTracking2(sub){const depsTail=sub.depsTail;if(depsTail!==void 0){const nextDep=depsTail.nextDep;if(nextDep!==void 0){clearTracking(nextDep);depsTail.nextDep=void 0}}else if(sub.deps!==void 0){clearTracking(sub.deps);sub.deps=void 0}sub.flags&=~4}function updateDirtyFlag2(sub,flags){if(checkDirty(sub.deps)){sub.flags=flags|32;return true}else{sub.flags=flags&~64;return false}}function processComputedUpdate2(computed2,flags){if(flags&32||checkDirty(computed2.deps)){if(updateComputed(computed2)){const subs=computed2.subs;if(subs!==void 0){shallowPropagate(subs)}}}else{computed2.flags=flags&~64}}function processPendingInnerEffects2(sub,flags){if(flags&128){sub.flags=flags&~128;let link3=sub.deps;do{const dep=link3.dep;if("flags"in dep&&dep.flags&2&&dep.flags&224){notifyEffect2(dep)}link3=link3.nextDep}while(link3!==void 0)}}function processEffectNotifications2(){while(notifyIndex