effect 3.4.9 → 3.5.0
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/RcMap/package.json +6 -0
- package/RcRef/package.json +6 -0
- package/dist/cjs/Cause.js +22 -1
- package/dist/cjs/Cause.js.map +1 -1
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/Console.js.map +1 -1
- package/dist/cjs/Data.js +3 -1
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/Duration.js +23 -2
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Logger.js +11 -1
- package/dist/cjs/Logger.js.map +1 -1
- package/dist/cjs/PubSub.js.map +1 -1
- package/dist/cjs/Random.js +9 -1
- package/dist/cjs/Random.js.map +1 -1
- package/dist/cjs/RcMap.js +52 -0
- package/dist/cjs/RcMap.js.map +1 -0
- package/dist/cjs/RcRef.js +51 -0
- package/dist/cjs/RcRef.js.map +1 -0
- package/dist/cjs/Stream.js +29 -2
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/index.js +6 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/cause.js +21 -5
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +0 -5
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core.js +15 -10
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/defaultServices.js +1 -1
- package/dist/cjs/internal/defaultServices.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +3 -1
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/logger.js +128 -27
- package/dist/cjs/internal/logger.js.map +1 -1
- package/dist/cjs/internal/pubsub.js +216 -36
- package/dist/cjs/internal/pubsub.js.map +1 -1
- package/dist/cjs/internal/random.js +2 -1
- package/dist/cjs/internal/random.js.map +1 -1
- package/dist/cjs/internal/rcMap.js +129 -0
- package/dist/cjs/internal/rcMap.js.map +1 -0
- package/dist/cjs/internal/rcRef.js +122 -0
- package/dist/cjs/internal/rcRef.js.map +1 -0
- package/dist/cjs/internal/stream.js +57 -11
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Cause.d.ts +40 -1
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +3 -3
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +5 -0
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Console.d.ts +2 -4
- package/dist/dts/Console.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts +5 -0
- package/dist/dts/Duration.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +15 -0
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/PubSub.d.ts +15 -4
- package/dist/dts/PubSub.d.ts.map +1 -1
- package/dist/dts/Random.d.ts +8 -0
- package/dist/dts/Random.d.ts.map +1 -1
- package/dist/dts/RcMap.d.ts +93 -0
- package/dist/dts/RcMap.d.ts.map +1 -0
- package/dist/dts/RcRef.d.ts +83 -0
- package/dist/dts/RcRef.d.ts.map +1 -0
- package/dist/dts/Stream.d.ts +64 -26
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/index.d.ts +8 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/core-effect.d.ts.map +1 -1
- package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
- package/dist/dts/internal/logger.d.ts.map +1 -1
- package/dist/dts/internal/random.d.ts +1 -1
- package/dist/dts/internal/random.d.ts.map +1 -1
- package/dist/dts/internal/rcMap.d.ts +2 -0
- package/dist/dts/internal/rcMap.d.ts.map +1 -0
- package/dist/dts/internal/rcRef.d.ts +2 -0
- package/dist/dts/internal/rcRef.d.ts.map +1 -0
- package/dist/dts/internal/stream.d.ts +1 -0
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Cause.js +21 -0
- package/dist/esm/Cause.js.map +1 -1
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/Console.js.map +1 -1
- package/dist/esm/Data.js +3 -1
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/Duration.js +20 -0
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Logger.js +10 -0
- package/dist/esm/Logger.js.map +1 -1
- package/dist/esm/PubSub.js.map +1 -1
- package/dist/esm/Random.js +8 -0
- package/dist/esm/Random.js.map +1 -1
- package/dist/esm/RcMap.js +44 -0
- package/dist/esm/RcMap.js.map +1 -0
- package/dist/esm/RcRef.js +43 -0
- package/dist/esm/RcRef.js.map +1 -0
- package/dist/esm/Stream.js +27 -0
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/cause.js +21 -5
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/core-effect.js +0 -5
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core.js +11 -7
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/defaultServices.js +1 -1
- package/dist/esm/internal/defaultServices.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +2 -0
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/logger.js +126 -26
- package/dist/esm/internal/logger.js.map +1 -1
- package/dist/esm/internal/pubsub.js +216 -36
- package/dist/esm/internal/pubsub.js.map +1 -1
- package/dist/esm/internal/random.js +2 -1
- package/dist/esm/internal/random.js.map +1 -1
- package/dist/esm/internal/rcMap.js +120 -0
- package/dist/esm/internal/rcMap.js.map +1 -0
- package/dist/esm/internal/rcRef.js +112 -0
- package/dist/esm/internal/rcRef.js.map +1 -0
- package/dist/esm/internal/stream.js +53 -8
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +17 -1
- package/src/Cause.ts +47 -1
- package/src/Channel.ts +3 -3
- package/src/Config.ts +6 -0
- package/src/Console.ts +2 -4
- package/src/Data.ts +1 -1
- package/src/Duration.ts +18 -0
- package/src/Logger.ts +19 -0
- package/src/PubSub.ts +11 -4
- package/src/Random.ts +9 -0
- package/src/RcMap.ts +103 -0
- package/src/RcRef.ts +91 -0
- package/src/Stream.ts +83 -26
- package/src/index.ts +10 -0
- package/src/internal/cause.ts +26 -5
- package/src/internal/channel/channelExecutor.ts +1 -1
- package/src/internal/channel.ts +4 -3
- package/src/internal/core-effect.ts +0 -5
- package/src/internal/core.ts +19 -9
- package/src/internal/defaultServices.ts +1 -1
- package/src/internal/fiberRuntime.ts +6 -0
- package/src/internal/logger.ts +133 -27
- package/src/internal/pubsub.ts +249 -58
- package/src/internal/random.ts +2 -1
- package/src/internal/rcMap.ts +213 -0
- package/src/internal/rcRef.ts +172 -0
- package/src/internal/stream.ts +325 -111
- package/src/internal/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pubsub.js","names":["Chunk","dual","pipe","MutableQueue","MutableRef","nextPow2","Option","pipeArguments","core","executionStrategy","fiberRuntime","queue","AbsentValue","Symbol","for","addSubscribers","subscription","pollers","subscribers","has","set","Set","get","add","removeSubscribers","delete","size","bounded","requestedCapacity","sync","makeBoundedPubSub","flatMap","atomicPubSub","makePubSub","BackPressureStrategy","dropping","DroppingStrategy","sliding","SlidingStrategy","unbounded","makeUnboundedPubSub","capacity","self","isFull","isEmpty","shutdown","isShutdown","awaitShutdown","publish","value","publishAll","elements","subscribe","ensureCapacity","BoundedPubSubSingle","BoundedPubSubPow2","BoundedPubSubArb","UnboundedPubSub","makeSubscription","pubsub","strategy","map","deferredMake","deferred","unsafeMakeSubscription","make","shutdownHook","shutdownFlag","SubscriptionImpl","array","publisherIndex","subscriberCount","subscribersIndex","constructor","Array","from","length","index","empty","chunk","fromIterable","n","available","forPubSub","Math","min","iteratorIndex","publishAllIndex","a","unsafeGet","drop","slide","BoundedPubSubArbSubscription","subscriberIndex","unsubscribed","max","poll","default_","elem","pollUpTo","toPoll","builder","pollUpToIndex","push","unsubscribe","mask","BoundedPubSubPow2Subscription","arguments","unsafeHead","BoundedPubSubSingleSubscription","of","publisherHead","next","publisherTail","Number","MAX_SAFE_INTEGER","UnboundedPubSubSubscription","subscriberHead","loop","polled","i","DequeueTypeId","dequeueVariance","isActive","suspend","interrupt","succeed","unsafeSize","none","some","uninterruptible","withFiberRuntime","state","forEachParUnbounded","unsafePollAllQueue","d","deferredInterruptWith","id","zipRight","unsafeOnPubSubEmptySpace","whenEffect","deferredSucceed","asVoid","deferredAwait","take","message","EmptyMutableQueue","deferredUnsafeMake","offer","unsafeCompletePollers","onInterrupt","unsafeRemove","takeAll","as","unsafePollAllSubscription","takeUpTo","unsafePollN","takeBetween","takeRemainderLoop","acc","bs","remaining","b","appendAll","append","PubSubImpl","scope","EnqueueTypeId","enqueueVariance","close","exitInterrupt","unsafeCompleteSubscribers","handleSurplus","unsafeOffer","surplus","unsafePublishAll","acquire","tap","all","fork","sequential","tuple","addFinalizer","acquireRelease","exit","offerAll","scopeMake","unsafeMakePubSub","Map","InvalidPubSubCapacityException","unsafeCompleteDeferred","deferredUnsafeDone","unsafeOfferAll","POSITIVE_INFINITY","filter","publishers","fiberId","forEachConcurrentDiscard","_","last","void","keepPolling","publisher","published","prepend","unsafeStrategyCompletePollers","unsafeStrategyCompleteSubscribers","iterator","done","_pubsub","_subscribers","_elements","_isShutdown","unsafeSlidingPublish","it","pub","poller","pollResult","pollersSet"],"sources":["../../../src/internal/pubsub.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"pubsub.js","names":["Chunk","dual","pipe","MutableQueue","MutableRef","nextPow2","Option","pipeArguments","core","executionStrategy","fiberRuntime","queue","AbsentValue","Symbol","for","addSubscribers","subscription","pollers","subscribers","has","set","Set","get","add","removeSubscribers","delete","size","bounded","capacity","suspend","pubsub","makeBoundedPubSub","makePubSub","BackPressureStrategy","dropping","DroppingStrategy","sliding","SlidingStrategy","unbounded","options","makeUnboundedPubSub","self","isFull","isEmpty","shutdown","isShutdown","awaitShutdown","publish","value","publishAll","elements","subscribe","ensureCapacity","replayBuffer","replay","ReplayBuffer","Math","ceil","undefined","BoundedPubSubSingle","BoundedPubSubPow2","BoundedPubSubArb","UnboundedPubSub","makeSubscription","strategy","map","deferredMake","deferred","unsafeMakeSubscription","make","shutdownHook","shutdownFlag","SubscriptionImpl","replayWindow","array","publisherIndex","subscriberCount","subscribersIndex","constructor","Array","from","length","ReplayWindowImpl","emptyReplayWindow","index","offer","offerAll","empty","chunk","fromIterable","n","available","forPubSub","min","iteratorIndex","publishAllIndex","a","unsafeGet","drop","slide","BoundedPubSubArbSubscription","subscriberIndex","unsubscribed","max","poll","default_","elem","pollUpTo","toPoll","builder","pollUpToIndex","push","unsubscribe","mask","BoundedPubSubPow2Subscription","arguments","unsafeHead","BoundedPubSubSingleSubscription","of","publisherHead","next","publisherTail","Number","MAX_SAFE_INTEGER","UnboundedPubSubSubscription","subscriberHead","loop","polled","i","DequeueTypeId","dequeueVariance","isActive","interrupt","succeed","remaining","unsafeSize","none","some","uninterruptible","withFiberRuntime","state","forEachParUnbounded","unsafePollAllQueue","d","deferredInterruptWith","id","zipRight","sync","unsafeOnPubSubEmptySpace","whenEffect","deferredSucceed","asVoid","deferredAwait","take","message","EmptyMutableQueue","deferredUnsafeMake","unsafeCompletePollers","onInterrupt","unsafeRemove","takeAll","as","unsafePollAllSubscription","appendAll","takeUpTo","takeN","unsafePollN","takeBetween","takeRemainderLoop","acc","flatMap","bs","b","append","PubSubImpl","scope","EnqueueTypeId","enqueueVariance","close","exitInterrupt","unsafeCompleteSubscribers","handleSurplus","unsafeOffer","surplus","unsafePublishAll","acquire","tap","all","fork","sequential","tuple","addFinalizer","acquireRelease","exit","scopeMake","unsafeMakePubSub","Map","InvalidPubSubCapacityException","unsafeCompleteDeferred","deferredUnsafeDone","unsafeOfferAll","POSITIVE_INFINITY","filter","publishers","fiberId","forEachConcurrentDiscard","_","last","void","keepPolling","publisher","published","prepend","unsafeStrategyCompletePollers","unsafeStrategyCompleteSubscribers","iterator","done","_pubsub","_subscribers","_elements","_isShutdown","unsafeSlidingPublish","it","pub","poller","pollResult","pollersSet","head","tail","buffer","fastForward","len","items","unsafeFromArray"],"sources":["../../../src/internal/pubsub.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,aAAa;AAGpC,SAASC,IAAI,EAAEC,IAAI,QAAQ,gBAAgB;AAC3C,OAAO,KAAKC,YAAY,MAAM,oBAAoB;AAClD,OAAO,KAAKC,UAAU,MAAM,kBAAkB;AAC9C,SAASC,QAAQ,QAAQ,cAAc;AACvC,OAAO,KAAKC,MAAM,MAAM,cAAc;AACtC,SAASC,aAAa,QAAQ,gBAAgB;AAI9C,OAAO,KAAKC,IAAI,MAAM,WAAW;AACjC,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAC3D,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AACjD,OAAO,KAAKC,KAAK,MAAM,YAAY;AAEnC,MAAMC,WAAW,gBAAGC,MAAM,CAACC,GAAG,CAAC,2BAA2B,CAAC;AA+B3D,MAAMC,cAAc,GAAGA,CACrBC,YAA6B,EAC7BC,OAAwD,KAEzDC,WAA2B,IAAI;EAC9B,IAAI,CAACA,WAAW,CAACC,GAAG,CAACH,YAAY,CAAC,EAAE;IAClCE,WAAW,CAACE,GAAG,CAACJ,YAAY,EAAE,IAAIK,GAAG,EAAE,CAAC;EAC1C;EACA,MAAMD,GAAG,GAAGF,WAAW,CAACI,GAAG,CAACN,YAAY,CAAE;EAC1CI,GAAG,CAACG,GAAG,CAACN,OAAO,CAAC;AAClB,CAAC;AAED,MAAMO,iBAAiB,GAAGA,CACxBR,YAA6B,EAC7BC,OAAwD,KAEzDC,WAA2B,IAAI;EAC9B,IAAI,CAACA,WAAW,CAACC,GAAG,CAACH,YAAY,CAAC,EAAE;IAClC;EACF;EACA,MAAMI,GAAG,GAAGF,WAAW,CAACI,GAAG,CAACN,YAAY,CAAE;EAC1CI,GAAG,CAACK,MAAM,CAACR,OAAO,CAAC;EACnB,IAAIG,GAAG,CAACM,IAAI,KAAK,CAAC,EAAE;IAClBR,WAAW,CAACO,MAAM,CAACT,YAAY,CAAC;EAClC;AACF,CAAC;AAED;AACA,OAAO,MAAMW,OAAO,GAClBC,QAGC,IAEDpB,IAAI,CAACqB,OAAO,CAAC,MAAK;EAChB,MAAMC,MAAM,GAAGC,iBAAiB,CAAIH,QAAQ,CAAC;EAC7C,OAAOI,UAAU,CAACF,MAAM,EAAE,IAAIG,oBAAoB,EAAE,CAAC;AACvD,CAAC,CAAC;AAEJ;AACA,OAAO,MAAMC,QAAQ,GACnBN,QAGC,IAEDpB,IAAI,CAACqB,OAAO,CAAC,MAAK;EAChB,MAAMC,MAAM,GAAGC,iBAAiB,CAAIH,QAAQ,CAAC;EAC7C,OAAOI,UAAU,CAACF,MAAM,EAAE,IAAIK,gBAAgB,EAAE,CAAC;AACnD,CAAC,CAAC;AAEJ;AACA,OAAO,MAAMC,OAAO,GAClBR,QAGC,IAEDpB,IAAI,CAACqB,OAAO,CAAC,MAAK;EAChB,MAAMC,MAAM,GAAGC,iBAAiB,CAAIH,QAAQ,CAAC;EAC7C,OAAOI,UAAU,CAACF,MAAM,EAAE,IAAIO,eAAe,EAAE,CAAC;AAClD,CAAC,CAAC;AAEJ;AACA,OAAO,MAAMC,SAAS,GAAOC,OAE5B,IACC/B,IAAI,CAACqB,OAAO,CAAC,MAAK;EAChB,MAAMC,MAAM,GAAGU,mBAAmB,CAAID,OAAO,CAAC;EAC9C,OAAOP,UAAU,CAACF,MAAM,EAAE,IAAIK,gBAAgB,EAAE,CAAC;AACnD,CAAC,CAAC;AAEJ;AACA,OAAO,MAAMP,QAAQ,GAAOa,IAAsB,IAAaA,IAAI,CAACb,QAAQ,EAAE;AAE9E;AACA,OAAO,MAAMF,IAAI,GAAOe,IAAsB,IAA4BA,IAAI,CAACf,IAAI;AAEnF;AACA,OAAO,MAAMgB,MAAM,GAAOD,IAAsB,IAA6BA,IAAI,CAACC,MAAM;AAExF;AACA,OAAO,MAAMC,OAAO,GAAOF,IAAsB,IAA6BA,IAAI,CAACE,OAAO;AAE1F;AACA,OAAO,MAAMC,QAAQ,GAAOH,IAAsB,IAA0BA,IAAI,CAACG,QAAQ;AAEzF;AACA,OAAO,MAAMC,UAAU,GAAOJ,IAAsB,IAA6BA,IAAI,CAACI,UAAU;AAEhG;AACA,OAAO,MAAMC,aAAa,GAAOL,IAAsB,IAA0BA,IAAI,CAACK,aAAa;AAEnG;AACA,OAAO,MAAMC,OAAO,gBAAG9C,IAAI,CAGzB,CAAC,EAAE,CAACwC,IAAI,EAAEO,KAAK,KAAKP,IAAI,CAACM,OAAO,CAACC,KAAK,CAAC,CAAC;AAE1C;AACA,OAAO,MAAMC,UAAU,gBAAGhD,IAAI,CAG5B,CAAC,EAAE,CAACwC,IAAI,EAAES,QAAQ,KAAKT,IAAI,CAACQ,UAAU,CAACC,QAAQ,CAAC,CAAC;AAEnD;AACA,OAAO,MAAMC,SAAS,GAAOV,IAAsB,IACjDA,IAAI,CAACU,SAAS;AAEhB;AACA,MAAMpB,iBAAiB,GACrBH,QAGC,IACkB;EACnB,MAAMW,OAAO,GAAG,OAAOX,QAAQ,KAAK,QAAQ,GAAG;IAAEA;EAAQ,CAAE,GAAGA,QAAQ;EACtEwB,cAAc,CAACb,OAAO,CAACX,QAAQ,CAAC;EAChC,MAAMyB,YAAY,GAAGd,OAAO,CAACe,MAAM,IAAIf,OAAO,CAACe,MAAM,GAAG,CAAC,GAAG,IAAIC,YAAY,CAAIC,IAAI,CAACC,IAAI,CAAClB,OAAO,CAACe,MAAM,CAAC,CAAC,GAAGI,SAAS;EACtH,IAAInB,OAAO,CAACX,QAAQ,KAAK,CAAC,EAAE;IAC1B,OAAO,IAAI+B,mBAAmB,CAACN,YAAY,CAAC;EAC9C,CAAC,MAAM,IAAIhD,QAAQ,CAACkC,OAAO,CAACX,QAAQ,CAAC,KAAKW,OAAO,CAACX,QAAQ,EAAE;IAC1D,OAAO,IAAIgC,iBAAiB,CAACrB,OAAO,CAACX,QAAQ,EAAEyB,YAAY,CAAC;EAC9D,CAAC,MAAM;IACL,OAAO,IAAIQ,gBAAgB,CAACtB,OAAO,CAACX,QAAQ,EAAEyB,YAAY,CAAC;EAC7D;AACF,CAAC;AAED;AACA,MAAMb,mBAAmB,GAAOD,OAE/B,IAAsB,IAAIuB,eAAe,CAACvB,OAAO,EAAEe,MAAM,GAAG,IAAIC,YAAY,CAAChB,OAAO,CAACe,MAAM,CAAC,GAAGI,SAAS,CAAC;AAE1G;AACA,MAAMK,gBAAgB,GAAGA,CACvBjC,MAAuB,EACvBZ,WAA2B,EAC3B8C,QAA2B,KAE3BxD,IAAI,CAACyD,GAAG,CAACzD,IAAI,CAAC0D,YAAY,EAAQ,EAAGC,QAAQ,IAC3CC,sBAAsB,CACpBtC,MAAM,EACNZ,WAAW,EACXY,MAAM,CAACqB,SAAS,EAAE,EAClBhD,YAAY,CAACmC,SAAS,EAAwB,EAC9C6B,QAAQ,EACR/D,UAAU,CAACiE,IAAI,CAAC,KAAK,CAAC,EACtBL,QAAQ,CACT,CAAC;AAEN;AACA,OAAO,MAAMI,sBAAsB,GAAGA,CACpCtC,MAAuB,EACvBZ,WAA2B,EAC3BF,YAA6B,EAC7BC,OAAwD,EACxDqD,YAAqC,EACrCC,YAA4C,EAC5CP,QAA2B,KAE3B,IAAIQ,gBAAgB,CAClB1C,MAAM,EACNZ,WAAW,EACXF,YAAY,EACZC,OAAO,EACPqD,YAAY,EACZC,YAAY,EACZP,QAAQ,EACRlC,MAAM,CAAC2C,YAAY,EAAE,CACtB;AAEH;AACA,MAAMZ,gBAAgB;EAOCjC,QAAA;EAA2ByB,YAAA;EANhDqB,KAAK;EACLC,cAAc,GAAG,CAAC;EAClBzD,WAAW;EACX0D,eAAe,GAAG,CAAC;EACnBC,gBAAgB,GAAG,CAAC;EAEpBC,YAAqBlD,QAAgB,EAAWyB,YAAyC;IAApE,KAAAzB,QAAQ,GAARA,QAAQ;IAAmB,KAAAyB,YAAY,GAAZA,YAAY;IAC1D,IAAI,CAACqB,KAAK,GAAGK,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAErD;IAAQ,CAAE,CAAC;IAC7C,IAAI,CAACV,WAAW,GAAG6D,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAErD;IAAQ,CAAE,CAAC;EACrD;EAEA6C,YAAYA,CAAA;IACV,OAAO,IAAI,CAACpB,YAAY,GAAG,IAAI6B,gBAAgB,CAAC,IAAI,CAAC7B,YAAY,CAAC,GAAG8B,iBAAiB;EACxF;EAEAxC,OAAOA,CAAA;IACL,OAAO,IAAI,CAACgC,cAAc,KAAK,IAAI,CAACE,gBAAgB;EACtD;EAEAnC,MAAMA,CAAA;IACJ,OAAO,IAAI,CAACiC,cAAc,KAAK,IAAI,CAACE,gBAAgB,GAAG,IAAI,CAACjD,QAAQ;EACtE;EAEAF,IAAIA,CAAA;IACF,OAAO,IAAI,CAACiD,cAAc,GAAG,IAAI,CAACE,gBAAgB;EACpD;EAEA9B,OAAOA,CAACC,KAAQ;IACd,IAAI,IAAI,CAACN,MAAM,EAAE,EAAE;MACjB,OAAO,KAAK;IACd;IACA,IAAI,IAAI,CAACkC,eAAe,KAAK,CAAC,EAAE;MAC9B,MAAMQ,KAAK,GAAG,IAAI,CAACT,cAAc,GAAG,IAAI,CAAC/C,QAAQ;MACjD,IAAI,CAAC8C,KAAK,CAACU,KAAK,CAAC,GAAGpC,KAAK;MACzB,IAAI,CAAC9B,WAAW,CAACkE,KAAK,CAAC,GAAG,IAAI,CAACR,eAAe;MAC9C,IAAI,CAACD,cAAc,IAAI,CAAC;IAC1B;IACA,IAAI,IAAI,CAACtB,YAAY,EAAE;MACrB,IAAI,CAACA,YAAY,CAACgC,KAAK,CAACrC,KAAK,CAAC;IAChC;IACA,OAAO,IAAI;EACb;EAEAC,UAAUA,CAACC,QAAqB;IAC9B,IAAI,IAAI,CAAC0B,eAAe,KAAK,CAAC,EAAE;MAC9B,IAAI,IAAI,CAACvB,YAAY,EAAE;QACrB,IAAI,CAACA,YAAY,CAACiC,QAAQ,CAACpC,QAAQ,CAAC;MACtC;MACA,OAAOlD,KAAK,CAACuF,KAAK,EAAE;IACtB;IACA,MAAMC,KAAK,GAAGxF,KAAK,CAACyF,YAAY,CAACvC,QAAQ,CAAC;IAC1C,MAAMwC,CAAC,GAAGF,KAAK,CAACP,MAAM;IACtB,MAAMvD,IAAI,GAAG,IAAI,CAACiD,cAAc,GAAG,IAAI,CAACE,gBAAgB;IACxD,MAAMc,SAAS,GAAG,IAAI,CAAC/D,QAAQ,GAAGF,IAAI;IACtC,MAAMkE,SAAS,GAAGpC,IAAI,CAACqC,GAAG,CAACH,CAAC,EAAEC,SAAS,CAAC;IACxC,IAAIC,SAAS,KAAK,CAAC,EAAE;MACnB,OAAOJ,KAAK;IACd;IACA,IAAIM,aAAa,GAAG,CAAC;IACrB,MAAMC,eAAe,GAAG,IAAI,CAACpB,cAAc,GAAGiB,SAAS;IACvD,OAAO,IAAI,CAACjB,cAAc,KAAKoB,eAAe,EAAE;MAC9C,MAAMC,CAAC,GAAGhG,KAAK,CAACiG,SAAS,CAACT,KAAK,EAAEM,aAAa,EAAE,CAAC;MACjD,MAAMV,KAAK,GAAG,IAAI,CAACT,cAAc,GAAG,IAAI,CAAC/C,QAAQ;MACjD,IAAI,CAAC8C,KAAK,CAACU,KAAK,CAAC,GAAGY,CAAC;MACrB,IAAI,CAAC9E,WAAW,CAACkE,KAAK,CAAC,GAAG,IAAI,CAACR,eAAe;MAC9C,IAAI,CAACD,cAAc,IAAI,CAAC;MACxB,IAAI,IAAI,CAACtB,YAAY,EAAE;QACrB,IAAI,CAACA,YAAY,CAACgC,KAAK,CAACW,CAAC,CAAC;MAC5B;IACF;IACA,OAAOhG,KAAK,CAACkG,IAAI,CAACV,KAAK,EAAEM,aAAa,CAAC;EACzC;EAEAK,KAAKA,CAAA;IACH,IAAI,IAAI,CAACtB,gBAAgB,KAAK,IAAI,CAACF,cAAc,EAAE;MACjD,MAAMS,KAAK,GAAG,IAAI,CAACP,gBAAgB,GAAG,IAAI,CAACjD,QAAQ;MACnD,IAAI,CAAC8C,KAAK,CAACU,KAAK,CAAC,GAAGxE,WAA2B;MAC/C,IAAI,CAACM,WAAW,CAACkE,KAAK,CAAC,GAAG,CAAC;MAC3B,IAAI,CAACP,gBAAgB,IAAI,CAAC;IAC5B;IACA,IAAI,IAAI,CAACxB,YAAY,EAAE;MACrB,IAAI,CAACA,YAAY,CAAC8C,KAAK,EAAE;IAC3B;EACF;EAEAhD,SAASA,CAAA;IACP,IAAI,CAACyB,eAAe,IAAI,CAAC;IACzB,OAAO,IAAIwB,4BAA4B,CAAC,IAAI,EAAE,IAAI,CAACzB,cAAc,EAAE,KAAK,CAAC;EAC3E;;AAGF,MAAMyB,4BAA4B;EAEtB3D,IAAA;EACA4D,eAAA;EACAC,YAAA;EAHVxB,YACUrC,IAAyB,EACzB4D,eAAuB,EACvBC,YAAqB;IAFrB,KAAA7D,IAAI,GAAJA,IAAI;IACJ,KAAA4D,eAAe,GAAfA,eAAe;IACf,KAAAC,YAAY,GAAZA,YAAY;EAEtB;EAEA3D,OAAOA,CAAA;IACL,OACE,IAAI,CAAC2D,YAAY,IACjB,IAAI,CAAC7D,IAAI,CAACkC,cAAc,KAAK,IAAI,CAAC0B,eAAe,IACjD,IAAI,CAAC5D,IAAI,CAACkC,cAAc,KAAK,IAAI,CAAClC,IAAI,CAACoC,gBAAgB;EAE3D;EAEAnD,IAAIA,CAAA;IACF,IAAI,IAAI,CAAC4E,YAAY,EAAE;MACrB,OAAO,CAAC;IACV;IACA,OAAO,IAAI,CAAC7D,IAAI,CAACkC,cAAc,GAAGnB,IAAI,CAAC+C,GAAG,CAAC,IAAI,CAACF,eAAe,EAAE,IAAI,CAAC5D,IAAI,CAACoC,gBAAgB,CAAC;EAC9F;EAEA2B,IAAIA,CAAIC,QAAW;IACjB,IAAI,IAAI,CAACH,YAAY,EAAE;MACrB,OAAOG,QAAQ;IACjB;IACA,IAAI,CAACJ,eAAe,GAAG7C,IAAI,CAAC+C,GAAG,CAAC,IAAI,CAACF,eAAe,EAAE,IAAI,CAAC5D,IAAI,CAACoC,gBAAgB,CAAC;IACjF,IAAI,IAAI,CAACwB,eAAe,KAAK,IAAI,CAAC5D,IAAI,CAACkC,cAAc,EAAE;MACrD,MAAMS,KAAK,GAAG,IAAI,CAACiB,eAAe,GAAG,IAAI,CAAC5D,IAAI,CAACb,QAAQ;MACvD,MAAM8E,IAAI,GAAG,IAAI,CAACjE,IAAI,CAACiC,KAAK,CAACU,KAAK,CAAE;MACpC,IAAI,CAAC3C,IAAI,CAACvB,WAAW,CAACkE,KAAK,CAAC,IAAI,CAAC;MACjC,IAAI,IAAI,CAAC3C,IAAI,CAACvB,WAAW,CAACkE,KAAK,CAAC,KAAK,CAAC,EAAE;QACtC,IAAI,CAAC3C,IAAI,CAACiC,KAAK,CAACU,KAAK,CAAC,GAAGxE,WAA2B;QACpD,IAAI,CAAC6B,IAAI,CAACoC,gBAAgB,IAAI,CAAC;MACjC;MACA,IAAI,CAACwB,eAAe,IAAI,CAAC;MACzB,OAAOK,IAAI;IACb;IACA,OAAOD,QAAQ;EACjB;EAEAE,QAAQA,CAACjB,CAAS;IAChB,IAAI,IAAI,CAACY,YAAY,EAAE;MACrB,OAAOtG,KAAK,CAACuF,KAAK,EAAE;IACtB;IACA,IAAI,CAACc,eAAe,GAAG7C,IAAI,CAAC+C,GAAG,CAAC,IAAI,CAACF,eAAe,EAAE,IAAI,CAAC5D,IAAI,CAACoC,gBAAgB,CAAC;IACjF,MAAMnD,IAAI,GAAG,IAAI,CAACe,IAAI,CAACkC,cAAc,GAAG,IAAI,CAAC0B,eAAe;IAC5D,MAAMO,MAAM,GAAGpD,IAAI,CAACqC,GAAG,CAACH,CAAC,EAAEhE,IAAI,CAAC;IAChC,IAAIkF,MAAM,IAAI,CAAC,EAAE;MACf,OAAO5G,KAAK,CAACuF,KAAK,EAAE;IACtB;IACA,MAAMsB,OAAO,GAAa,EAAE;IAC5B,MAAMC,aAAa,GAAG,IAAI,CAACT,eAAe,GAAGO,MAAM;IACnD,OAAO,IAAI,CAACP,eAAe,KAAKS,aAAa,EAAE;MAC7C,MAAM1B,KAAK,GAAG,IAAI,CAACiB,eAAe,GAAG,IAAI,CAAC5D,IAAI,CAACb,QAAQ;MACvD,MAAMoE,CAAC,GAAG,IAAI,CAACvD,IAAI,CAACiC,KAAK,CAACU,KAAK,CAAM;MACrC,IAAI,CAAC3C,IAAI,CAACvB,WAAW,CAACkE,KAAK,CAAC,IAAI,CAAC;MACjC,IAAI,IAAI,CAAC3C,IAAI,CAACvB,WAAW,CAACkE,KAAK,CAAC,KAAK,CAAC,EAAE;QACtC,IAAI,CAAC3C,IAAI,CAACiC,KAAK,CAACU,KAAK,CAAC,GAAGxE,WAA2B;QACpD,IAAI,CAAC6B,IAAI,CAACoC,gBAAgB,IAAI,CAAC;MACjC;MACAgC,OAAO,CAACE,IAAI,CAACf,CAAC,CAAC;MACf,IAAI,CAACK,eAAe,IAAI,CAAC;IAC3B;IAEA,OAAOrG,KAAK,CAACyF,YAAY,CAACoB,OAAO,CAAC;EACpC;EAEAG,WAAWA,CAAA;IACT,IAAI,CAAC,IAAI,CAACV,YAAY,EAAE;MACtB,IAAI,CAACA,YAAY,GAAG,IAAI;MACxB,IAAI,CAAC7D,IAAI,CAACmC,eAAe,IAAI,CAAC;MAC9B,IAAI,CAACyB,eAAe,GAAG7C,IAAI,CAAC+C,GAAG,CAAC,IAAI,CAACF,eAAe,EAAE,IAAI,CAAC5D,IAAI,CAACoC,gBAAgB,CAAC;MACjF,OAAO,IAAI,CAACwB,eAAe,KAAK,IAAI,CAAC5D,IAAI,CAACkC,cAAc,EAAE;QACxD,MAAMS,KAAK,GAAG,IAAI,CAACiB,eAAe,GAAG,IAAI,CAAC5D,IAAI,CAACb,QAAQ;QACvD,IAAI,CAACa,IAAI,CAACvB,WAAW,CAACkE,KAAK,CAAC,IAAI,CAAC;QACjC,IAAI,IAAI,CAAC3C,IAAI,CAACvB,WAAW,CAACkE,KAAK,CAAC,KAAK,CAAC,EAAE;UACtC,IAAI,CAAC3C,IAAI,CAACiC,KAAK,CAACU,KAAK,CAAC,GAAGxE,WAA2B;UACpD,IAAI,CAAC6B,IAAI,CAACoC,gBAAgB,IAAI,CAAC;QACjC;QACA,IAAI,CAACwB,eAAe,IAAI,CAAC;MAC3B;IACF;EACF;;AAGF;AACA,MAAMzC,iBAAiB;EAQAhC,QAAA;EAA2ByB,YAAA;EAPhDqB,KAAK;EACLuC,IAAI;EACJtC,cAAc,GAAG,CAAC;EAClBzD,WAAW;EACX0D,eAAe,GAAG,CAAC;EACnBC,gBAAgB,GAAG,CAAC;EAEpBC,YAAqBlD,QAAgB,EAAWyB,YAAyC;IAApE,KAAAzB,QAAQ,GAARA,QAAQ;IAAmB,KAAAyB,YAAY,GAAZA,YAAY;IAC1D,IAAI,CAACqB,KAAK,GAAGK,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAErD;IAAQ,CAAE,CAAC;IAC7C,IAAI,CAACqF,IAAI,GAAGrF,QAAQ,GAAG,CAAC;IACxB,IAAI,CAACV,WAAW,GAAG6D,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAErD;IAAQ,CAAE,CAAC;EACrD;EAEA6C,YAAYA,CAAA;IACV,OAAO,IAAI,CAACpB,YAAY,GAAG,IAAI6B,gBAAgB,CAAC,IAAI,CAAC7B,YAAY,CAAC,GAAG8B,iBAAiB;EACxF;EAEAxC,OAAOA,CAAA;IACL,OAAO,IAAI,CAACgC,cAAc,KAAK,IAAI,CAACE,gBAAgB;EACtD;EAEAnC,MAAMA,CAAA;IACJ,OAAO,IAAI,CAACiC,cAAc,KAAK,IAAI,CAACE,gBAAgB,GAAG,IAAI,CAACjD,QAAQ;EACtE;EAEAF,IAAIA,CAAA;IACF,OAAO,IAAI,CAACiD,cAAc,GAAG,IAAI,CAACE,gBAAgB;EACpD;EAEA9B,OAAOA,CAACC,KAAQ;IACd,IAAI,IAAI,CAACN,MAAM,EAAE,EAAE;MACjB,OAAO,KAAK;IACd;IACA,IAAI,IAAI,CAACkC,eAAe,KAAK,CAAC,EAAE;MAC9B,MAAMQ,KAAK,GAAG,IAAI,CAACT,cAAc,GAAG,IAAI,CAACsC,IAAI;MAC7C,IAAI,CAACvC,KAAK,CAACU,KAAK,CAAC,GAAGpC,KAAK;MACzB,IAAI,CAAC9B,WAAW,CAACkE,KAAK,CAAC,GAAG,IAAI,CAACR,eAAe;MAC9C,IAAI,CAACD,cAAc,IAAI,CAAC;IAC1B;IACA,IAAI,IAAI,CAACtB,YAAY,EAAE;MACrB,IAAI,CAACA,YAAY,CAACgC,KAAK,CAACrC,KAAK,CAAC;IAChC;IACA,OAAO,IAAI;EACb;EAEAC,UAAUA,CAACC,QAAqB;IAC9B,IAAI,IAAI,CAAC0B,eAAe,KAAK,CAAC,EAAE;MAC9B,IAAI,IAAI,CAACvB,YAAY,EAAE;QACrB,IAAI,CAACA,YAAY,CAACiC,QAAQ,CAACpC,QAAQ,CAAC;MACtC;MACA,OAAOlD,KAAK,CAACuF,KAAK,EAAE;IACtB;IACA,MAAMC,KAAK,GAAGxF,KAAK,CAACyF,YAAY,CAACvC,QAAQ,CAAC;IAC1C,MAAMwC,CAAC,GAAGF,KAAK,CAACP,MAAM;IACtB,MAAMvD,IAAI,GAAG,IAAI,CAACiD,cAAc,GAAG,IAAI,CAACE,gBAAgB;IACxD,MAAMc,SAAS,GAAG,IAAI,CAAC/D,QAAQ,GAAGF,IAAI;IACtC,MAAMkE,SAAS,GAAGpC,IAAI,CAACqC,GAAG,CAACH,CAAC,EAAEC,SAAS,CAAC;IACxC,IAAIC,SAAS,KAAK,CAAC,EAAE;MACnB,OAAOJ,KAAK;IACd;IACA,IAAIM,aAAa,GAAG,CAAC;IACrB,MAAMC,eAAe,GAAG,IAAI,CAACpB,cAAc,GAAGiB,SAAS;IACvD,OAAO,IAAI,CAACjB,cAAc,KAAKoB,eAAe,EAAE;MAC9C,MAAMW,IAAI,GAAG1G,KAAK,CAACiG,SAAS,CAACT,KAAK,EAAEM,aAAa,EAAE,CAAC;MACpD,MAAMV,KAAK,GAAG,IAAI,CAACT,cAAc,GAAG,IAAI,CAACsC,IAAI;MAC7C,IAAI,CAACvC,KAAK,CAACU,KAAK,CAAC,GAAGsB,IAAI;MACxB,IAAI,CAACxF,WAAW,CAACkE,KAAK,CAAC,GAAG,IAAI,CAACR,eAAe;MAC9C,IAAI,CAACD,cAAc,IAAI,CAAC;MACxB,IAAI,IAAI,CAACtB,YAAY,EAAE;QACrB,IAAI,CAACA,YAAY,CAACgC,KAAK,CAACqB,IAAI,CAAC;MAC/B;IACF;IACA,OAAO1G,KAAK,CAACkG,IAAI,CAACV,KAAK,EAAEM,aAAa,CAAC;EACzC;EAEAK,KAAKA,CAAA;IACH,IAAI,IAAI,CAACtB,gBAAgB,KAAK,IAAI,CAACF,cAAc,EAAE;MACjD,MAAMS,KAAK,GAAG,IAAI,CAACP,gBAAgB,GAAG,IAAI,CAACoC,IAAI;MAC/C,IAAI,CAACvC,KAAK,CAACU,KAAK,CAAC,GAAGxE,WAA2B;MAC/C,IAAI,CAACM,WAAW,CAACkE,KAAK,CAAC,GAAG,CAAC;MAC3B,IAAI,CAACP,gBAAgB,IAAI,CAAC;IAC5B;IACA,IAAI,IAAI,CAACxB,YAAY,EAAE;MACrB,IAAI,CAACA,YAAY,CAAC8C,KAAK,EAAE;IAC3B;EACF;EAEAhD,SAASA,CAAA;IACP,IAAI,CAACyB,eAAe,IAAI,CAAC;IACzB,OAAO,IAAIsC,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAACvC,cAAc,EAAE,KAAK,CAAC;EAC5E;;AAGF;AACA,MAAMuC,6BAA6B;EAEvBzE,IAAA;EACA4D,eAAA;EACAC,YAAA;EAHVxB,YACUrC,IAA0B,EAC1B4D,eAAuB,EACvBC,YAAqB;IAFrB,KAAA7D,IAAI,GAAJA,IAAI;IACJ,KAAA4D,eAAe,GAAfA,eAAe;IACf,KAAAC,YAAY,GAAZA,YAAY;EAEtB;EAEA3D,OAAOA,CAAA;IACL,OACE,IAAI,CAAC2D,YAAY,IACjB,IAAI,CAAC7D,IAAI,CAACkC,cAAc,KAAK,IAAI,CAAC0B,eAAe,IACjD,IAAI,CAAC5D,IAAI,CAACkC,cAAc,KAAK,IAAI,CAAClC,IAAI,CAACoC,gBAAgB;EAE3D;EAEAnD,IAAIA,CAAA;IACF,IAAI,IAAI,CAAC4E,YAAY,EAAE;MACrB,OAAO,CAAC;IACV;IACA,OAAO,IAAI,CAAC7D,IAAI,CAACkC,cAAc,GAAGnB,IAAI,CAAC+C,GAAG,CAAC,IAAI,CAACF,eAAe,EAAE,IAAI,CAAC5D,IAAI,CAACoC,gBAAgB,CAAC;EAC9F;EAEA2B,IAAIA,CAAIC,QAAW;IACjB,IAAI,IAAI,CAACH,YAAY,EAAE;MACrB,OAAOG,QAAQ;IACjB;IACA,IAAI,CAACJ,eAAe,GAAG7C,IAAI,CAAC+C,GAAG,CAAC,IAAI,CAACF,eAAe,EAAE,IAAI,CAAC5D,IAAI,CAACoC,gBAAgB,CAAC;IACjF,IAAI,IAAI,CAACwB,eAAe,KAAK,IAAI,CAAC5D,IAAI,CAACkC,cAAc,EAAE;MACrD,MAAMS,KAAK,GAAG,IAAI,CAACiB,eAAe,GAAG,IAAI,CAAC5D,IAAI,CAACwE,IAAI;MACnD,MAAMP,IAAI,GAAG,IAAI,CAACjE,IAAI,CAACiC,KAAK,CAACU,KAAK,CAAE;MACpC,IAAI,CAAC3C,IAAI,CAACvB,WAAW,CAACkE,KAAK,CAAC,IAAI,CAAC;MACjC,IAAI,IAAI,CAAC3C,IAAI,CAACvB,WAAW,CAACkE,KAAK,CAAC,KAAK,CAAC,EAAE;QACtC,IAAI,CAAC3C,IAAI,CAACiC,KAAK,CAACU,KAAK,CAAC,GAAGxE,WAA2B;QACpD,IAAI,CAAC6B,IAAI,CAACoC,gBAAgB,IAAI,CAAC;MACjC;MACA,IAAI,CAACwB,eAAe,IAAI,CAAC;MACzB,OAAOK,IAAI;IACb;IACA,OAAOD,QAAQ;EACjB;EAEAE,QAAQA,CAACjB,CAAS;IAChB,IAAI,IAAI,CAACY,YAAY,EAAE;MACrB,OAAOtG,KAAK,CAACuF,KAAK,EAAE;IACtB;IACA,IAAI,CAACc,eAAe,GAAG7C,IAAI,CAAC+C,GAAG,CAAC,IAAI,CAACF,eAAe,EAAE,IAAI,CAAC5D,IAAI,CAACoC,gBAAgB,CAAC;IACjF,MAAMnD,IAAI,GAAG,IAAI,CAACe,IAAI,CAACkC,cAAc,GAAG,IAAI,CAAC0B,eAAe;IAC5D,MAAMO,MAAM,GAAGpD,IAAI,CAACqC,GAAG,CAACH,CAAC,EAAEhE,IAAI,CAAC;IAChC,IAAIkF,MAAM,IAAI,CAAC,EAAE;MACf,OAAO5G,KAAK,CAACuF,KAAK,EAAE;IACtB;IACA,MAAMsB,OAAO,GAAa,EAAE;IAC5B,MAAMC,aAAa,GAAG,IAAI,CAACT,eAAe,GAAGO,MAAM;IACnD,OAAO,IAAI,CAACP,eAAe,KAAKS,aAAa,EAAE;MAC7C,MAAM1B,KAAK,GAAG,IAAI,CAACiB,eAAe,GAAG,IAAI,CAAC5D,IAAI,CAACwE,IAAI;MACnD,MAAMP,IAAI,GAAG,IAAI,CAACjE,IAAI,CAACiC,KAAK,CAACU,KAAK,CAAM;MACxC,IAAI,CAAC3C,IAAI,CAACvB,WAAW,CAACkE,KAAK,CAAC,IAAI,CAAC;MACjC,IAAI,IAAI,CAAC3C,IAAI,CAACvB,WAAW,CAACkE,KAAK,CAAC,KAAK,CAAC,EAAE;QACtC,IAAI,CAAC3C,IAAI,CAACiC,KAAK,CAACU,KAAK,CAAC,GAAGxE,WAA2B;QACpD,IAAI,CAAC6B,IAAI,CAACoC,gBAAgB,IAAI,CAAC;MACjC;MACAgC,OAAO,CAACE,IAAI,CAACL,IAAI,CAAC;MAClB,IAAI,CAACL,eAAe,IAAI,CAAC;IAC3B;IACA,OAAOrG,KAAK,CAACyF,YAAY,CAACoB,OAAO,CAAC;EACpC;EAEAG,WAAWA,CAAA;IACT,IAAI,CAAC,IAAI,CAACV,YAAY,EAAE;MACtB,IAAI,CAACA,YAAY,GAAG,IAAI;MACxB,IAAI,CAAC7D,IAAI,CAACmC,eAAe,IAAI,CAAC;MAC9B,IAAI,CAACyB,eAAe,GAAG7C,IAAI,CAAC+C,GAAG,CAAC,IAAI,CAACF,eAAe,EAAE,IAAI,CAAC5D,IAAI,CAACoC,gBAAgB,CAAC;MACjF,OAAO,IAAI,CAACwB,eAAe,KAAK,IAAI,CAAC5D,IAAI,CAACkC,cAAc,EAAE;QACxD,MAAMS,KAAK,GAAG,IAAI,CAACiB,eAAe,GAAG,IAAI,CAAC5D,IAAI,CAACwE,IAAI;QACnD,IAAI,CAACxE,IAAI,CAACvB,WAAW,CAACkE,KAAK,CAAC,IAAI,CAAC;QACjC,IAAI,IAAI,CAAC3C,IAAI,CAACvB,WAAW,CAACkE,KAAK,CAAC,KAAK,CAAC,EAAE;UACtC,IAAI,CAAC3C,IAAI,CAACiC,KAAK,CAACU,KAAK,CAAC,GAAGxE,WAA2B;UACpD,IAAI,CAAC6B,IAAI,CAACoC,gBAAgB,IAAI,CAAC;QACjC;QACA,IAAI,CAACwB,eAAe,IAAI,CAAC;MAC3B;IACF;EACF;;AAGF;AACA,MAAM1C,mBAAmB;EAOFN,YAAA;EANrBsB,cAAc,GAAG,CAAC;EAClBC,eAAe,GAAG,CAAC;EACnB1D,WAAW,GAAG,CAAC;EACf8B,KAAK,GAAMpC,WAA2B;EAE7BgB,QAAQ,GAAG,CAAC;EACrBkD,YAAqBzB,YAAyC;IAAzC,KAAAA,YAAY,GAAZA,YAAY;EAAgC;EAEjEoB,YAAYA,CAAA;IACV,OAAO,IAAI,CAACpB,YAAY,GAAG,IAAI6B,gBAAgB,CAAC,IAAI,CAAC7B,YAAY,CAAC,GAAG8B,iBAAiB;EACxF;EAEAjF,IAAIA,CAAA;IACF,OAAOK,aAAa,CAAC,IAAI,EAAE4G,SAAS,CAAC;EACvC;EAEAxE,OAAOA,CAAA;IACL,OAAO,IAAI,CAACzB,WAAW,KAAK,CAAC;EAC/B;EAEAwB,MAAMA,CAAA;IACJ,OAAO,CAAC,IAAI,CAACC,OAAO,EAAE;EACxB;EAEAjB,IAAIA,CAAA;IACF,OAAO,IAAI,CAACiB,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC;EAC/B;EAEAI,OAAOA,CAACC,KAAQ;IACd,IAAI,IAAI,CAACN,MAAM,EAAE,EAAE;MACjB,OAAO,KAAK;IACd;IACA,IAAI,IAAI,CAACkC,eAAe,KAAK,CAAC,EAAE;MAC9B,IAAI,CAAC5B,KAAK,GAAGA,KAAK;MAClB,IAAI,CAAC9B,WAAW,GAAG,IAAI,CAAC0D,eAAe;MACvC,IAAI,CAACD,cAAc,IAAI,CAAC;IAC1B;IACA,IAAI,IAAI,CAACtB,YAAY,EAAE;MACrB,IAAI,CAACA,YAAY,CAACgC,KAAK,CAACrC,KAAK,CAAC;IAChC;IACA,OAAO,IAAI;EACb;EAEAC,UAAUA,CAACC,QAAqB;IAC9B,IAAI,IAAI,CAAC0B,eAAe,KAAK,CAAC,EAAE;MAC9B,IAAI,IAAI,CAACvB,YAAY,EAAE;QACrB,IAAI,CAACA,YAAY,CAACiC,QAAQ,CAACpC,QAAQ,CAAC;MACtC;MACA,OAAOlD,KAAK,CAACuF,KAAK,EAAE;IACtB;IACA,MAAMC,KAAK,GAAGxF,KAAK,CAACyF,YAAY,CAACvC,QAAQ,CAAC;IAC1C,IAAIlD,KAAK,CAAC2C,OAAO,CAAC6C,KAAK,CAAC,EAAE;MACxB,OAAOA,KAAK;IACd;IACA,IAAI,IAAI,CAACzC,OAAO,CAAC/C,KAAK,CAACoH,UAAU,CAAC5B,KAAK,CAAC,CAAC,EAAE;MACzC,OAAOxF,KAAK,CAACkG,IAAI,CAACV,KAAK,EAAE,CAAC,CAAC;IAC7B,CAAC,MAAM;MACL,OAAOA,KAAK;IACd;EACF;EAEAW,KAAKA,CAAA;IACH,IAAI,IAAI,CAACzD,MAAM,EAAE,EAAE;MACjB,IAAI,CAACxB,WAAW,GAAG,CAAC;MACpB,IAAI,CAAC8B,KAAK,GAAGpC,WAA2B;IAC1C;IACA,IAAI,IAAI,CAACyC,YAAY,EAAE;MACrB,IAAI,CAACA,YAAY,CAAC8C,KAAK,EAAE;IAC3B;EACF;EAEAhD,SAASA,CAAA;IACP,IAAI,CAACyB,eAAe,IAAI,CAAC;IACzB,OAAO,IAAIyC,+BAA+B,CAAC,IAAI,EAAE,IAAI,CAAC1C,cAAc,EAAE,KAAK,CAAC;EAC9E;;AAGF;AACA,MAAM0C,+BAA+B;EAEzB5E,IAAA;EACA4D,eAAA;EACAC,YAAA;EAHVxB,YACUrC,IAA4B,EAC5B4D,eAAuB,EACvBC,YAAqB;IAFrB,KAAA7D,IAAI,GAAJA,IAAI;IACJ,KAAA4D,eAAe,GAAfA,eAAe;IACf,KAAAC,YAAY,GAAZA,YAAY;EAEtB;EAEA3D,OAAOA,CAAA;IACL,OACE,IAAI,CAAC2D,YAAY,IACjB,IAAI,CAAC7D,IAAI,CAACvB,WAAW,KAAK,CAAC,IAC3B,IAAI,CAACmF,eAAe,KAAK,IAAI,CAAC5D,IAAI,CAACkC,cAAc;EAErD;EAEAjD,IAAIA,CAAA;IACF,OAAO,IAAI,CAACiB,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC;EAC/B;EAEA6D,IAAIA,CAAIC,QAAW;IACjB,IAAI,IAAI,CAAC9D,OAAO,EAAE,EAAE;MAClB,OAAO8D,QAAQ;IACjB;IACA,MAAMC,IAAI,GAAG,IAAI,CAACjE,IAAI,CAACO,KAAK;IAC5B,IAAI,CAACP,IAAI,CAACvB,WAAW,IAAI,CAAC;IAC1B,IAAI,IAAI,CAACuB,IAAI,CAACvB,WAAW,KAAK,CAAC,EAAE;MAC/B,IAAI,CAACuB,IAAI,CAACO,KAAK,GAAGpC,WAA2B;IAC/C;IACA,IAAI,CAACyF,eAAe,IAAI,CAAC;IACzB,OAAOK,IAAI;EACb;EAEAC,QAAQA,CAACjB,CAAS;IAChB,IAAI,IAAI,CAAC/C,OAAO,EAAE,IAAI+C,CAAC,GAAG,CAAC,EAAE;MAC3B,OAAO1F,KAAK,CAACuF,KAAK,EAAE;IACtB;IACA,MAAMS,CAAC,GAAG,IAAI,CAACvD,IAAI,CAACO,KAAK;IACzB,IAAI,CAACP,IAAI,CAACvB,WAAW,IAAI,CAAC;IAC1B,IAAI,IAAI,CAACuB,IAAI,CAACvB,WAAW,KAAK,CAAC,EAAE;MAC/B,IAAI,CAACuB,IAAI,CAACO,KAAK,GAAGpC,WAA2B;IAC/C;IACA,IAAI,CAACyF,eAAe,IAAI,CAAC;IACzB,OAAOrG,KAAK,CAACsH,EAAE,CAACtB,CAAC,CAAC;EACpB;EAEAgB,WAAWA,CAAA;IACT,IAAI,CAAC,IAAI,CAACV,YAAY,EAAE;MACtB,IAAI,CAACA,YAAY,GAAG,IAAI;MACxB,IAAI,CAAC7D,IAAI,CAACmC,eAAe,IAAI,CAAC;MAC9B,IAAI,IAAI,CAACyB,eAAe,KAAK,IAAI,CAAC5D,IAAI,CAACkC,cAAc,EAAE;QACrD,IAAI,CAAClC,IAAI,CAACvB,WAAW,IAAI,CAAC;QAC1B,IAAI,IAAI,CAACuB,IAAI,CAACvB,WAAW,KAAK,CAAC,EAAE;UAC/B,IAAI,CAACuB,IAAI,CAACO,KAAK,GAAGpC,WAA2B;QAC/C;MACF;IACF;EACF;;AAUF;AACA,MAAMkD,eAAe;EAWET,YAAA;EAVrBkE,aAAa,GAAY;IACvBvE,KAAK,EAAEpC,WAAW;IAClBM,WAAW,EAAE,CAAC;IACdsG,IAAI,EAAE;GACP;EACDC,aAAa,GAAG,IAAI,CAACF,aAAa;EAClC5C,cAAc,GAAG,CAAC;EAClBE,gBAAgB,GAAG,CAAC;EAEXjD,QAAQ,GAAG8F,MAAM,CAACC,gBAAgB;EAC3C7C,YAAqBzB,YAAyC;IAAzC,KAAAA,YAAY,GAAZA,YAAY;EAAgC;EAEjEoB,YAAYA,CAAA;IACV,OAAO,IAAI,CAACpB,YAAY,GAAG,IAAI6B,gBAAgB,CAAC,IAAI,CAAC7B,YAAY,CAAC,GAAG8B,iBAAiB;EACxF;EAEAxC,OAAOA,CAAA;IACL,OAAO,IAAI,CAAC4E,aAAa,KAAK,IAAI,CAACE,aAAa;EAClD;EAEA/E,MAAMA,CAAA;IACJ,OAAO,KAAK;EACd;EAEAhB,IAAIA,CAAA;IACF,OAAO,IAAI,CAACiD,cAAc,GAAG,IAAI,CAACE,gBAAgB;EACpD;EAEA9B,OAAOA,CAACC,KAAQ;IACd,MAAM9B,WAAW,GAAG,IAAI,CAACuG,aAAa,CAACvG,WAAW;IAClD,IAAIA,WAAW,KAAK,CAAC,EAAE;MACrB,IAAI,CAACuG,aAAa,CAACD,IAAI,GAAG;QACxBxE,KAAK;QACL9B,WAAW;QACXsG,IAAI,EAAE;OACP;MACD,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACD,IAAI;MAC5C,IAAI,CAAC7C,cAAc,IAAI,CAAC;IAC1B;IACA,IAAI,IAAI,CAACtB,YAAY,EAAE;MACrB,IAAI,CAACA,YAAY,CAACgC,KAAK,CAACrC,KAAK,CAAC;IAChC;IACA,OAAO,IAAI;EACb;EAEAC,UAAUA,CAACC,QAAqB;IAC9B,IAAI,IAAI,CAACuE,aAAa,CAACvG,WAAW,KAAK,CAAC,EAAE;MACxC,KAAK,MAAM8E,CAAC,IAAI9C,QAAQ,EAAE;QACxB,IAAI,CAACH,OAAO,CAACiD,CAAC,CAAC;MACjB;IACF,CAAC,MAAM,IAAI,IAAI,CAAC3C,YAAY,EAAE;MAC5B,IAAI,CAACA,YAAY,CAACiC,QAAQ,CAACpC,QAAQ,CAAC;IACtC;IACA,OAAOlD,KAAK,CAACuF,KAAK,EAAE;EACtB;EAEAY,KAAKA,CAAA;IACH,IAAI,IAAI,CAACoB,aAAa,KAAK,IAAI,CAACE,aAAa,EAAE;MAC7C,IAAI,CAACF,aAAa,GAAG,IAAI,CAACA,aAAa,CAACC,IAAK;MAC7C,IAAI,CAACD,aAAa,CAACvE,KAAK,GAAGpC,WAAW;MACtC,IAAI,CAACiE,gBAAgB,IAAI,CAAC;IAC5B;IACA,IAAI,IAAI,CAACxB,YAAY,EAAE;MACrB,IAAI,CAACA,YAAY,CAAC8C,KAAK,EAAE;IAC3B;EACF;EAEAhD,SAASA,CAAA;IACP,IAAI,CAACsE,aAAa,CAACvG,WAAW,IAAI,CAAC;IACnC,OAAO,IAAI0G,2BAA2B,CACpC,IAAI,EACJ,IAAI,CAACH,aAAa,EAClB,IAAI,CAAC9C,cAAc,EACnB,KAAK,CACN;EACH;;AAGF;AACA,MAAMiD,2BAA2B;EAErBnF,IAAA;EACAoF,cAAA;EACAxB,eAAA;EACAC,YAAA;EAJVxB,YACUrC,IAAwB,EACxBoF,cAAuB,EACvBxB,eAAuB,EACvBC,YAAqB;IAHrB,KAAA7D,IAAI,GAAJA,IAAI;IACJ,KAAAoF,cAAc,GAAdA,cAAc;IACd,KAAAxB,eAAe,GAAfA,eAAe;IACf,KAAAC,YAAY,GAAZA,YAAY;EAEtB;EAEA3D,OAAOA,CAAA;IACL,IAAI,IAAI,CAAC2D,YAAY,EAAE;MACrB,OAAO,IAAI;IACb;IACA,IAAIf,KAAK,GAAG,IAAI;IAChB,IAAIuC,IAAI,GAAG,IAAI;IACf,OAAOA,IAAI,EAAE;MACX,IAAI,IAAI,CAACD,cAAc,KAAK,IAAI,CAACpF,IAAI,CAACgF,aAAa,EAAE;QACnDK,IAAI,GAAG,KAAK;MACd,CAAC,MAAM;QACL,IAAI,IAAI,CAACD,cAAc,CAACL,IAAK,CAACxE,KAAK,KAAKpC,WAAW,EAAE;UACnD2E,KAAK,GAAG,KAAK;UACbuC,IAAI,GAAG,KAAK;QACd,CAAC,MAAM;UACL,IAAI,CAACD,cAAc,GAAG,IAAI,CAACA,cAAc,CAACL,IAAK;UAC/C,IAAI,CAACnB,eAAe,IAAI,CAAC;QAC3B;MACF;IACF;IACA,OAAOd,KAAK;EACd;EAEA7D,IAAIA,CAAA;IACF,IAAI,IAAI,CAAC4E,YAAY,EAAE;MACrB,OAAO,CAAC;IACV;IACA,OAAO,IAAI,CAAC7D,IAAI,CAACkC,cAAc,GAAGnB,IAAI,CAAC+C,GAAG,CAAC,IAAI,CAACF,eAAe,EAAE,IAAI,CAAC5D,IAAI,CAACoC,gBAAgB,CAAC;EAC9F;EAEA2B,IAAIA,CAAIC,QAAW;IACjB,IAAI,IAAI,CAACH,YAAY,EAAE;MACrB,OAAOG,QAAQ;IACjB;IACA,IAAIqB,IAAI,GAAG,IAAI;IACf,IAAIC,MAAM,GAAUtB,QAAQ;IAC5B,OAAOqB,IAAI,EAAE;MACX,IAAI,IAAI,CAACD,cAAc,KAAK,IAAI,CAACpF,IAAI,CAACgF,aAAa,EAAE;QACnDK,IAAI,GAAG,KAAK;MACd,CAAC,MAAM;QACL,MAAMpB,IAAI,GAAG,IAAI,CAACmB,cAAc,CAACL,IAAK,CAACxE,KAAK;QAC5C,IAAI0D,IAAI,KAAK9F,WAAW,EAAE;UACxBmH,MAAM,GAAGrB,IAAI;UACb,IAAI,CAACmB,cAAc,CAAC3G,WAAW,IAAI,CAAC;UACpC,IAAI,IAAI,CAAC2G,cAAc,CAAC3G,WAAW,KAAK,CAAC,EAAE;YACzC,IAAI,CAACuB,IAAI,CAAC8E,aAAa,GAAG,IAAI,CAAC9E,IAAI,CAAC8E,aAAa,CAACC,IAAK;YACvD,IAAI,CAAC/E,IAAI,CAAC8E,aAAa,CAACvE,KAAK,GAAGpC,WAAW;YAC3C,IAAI,CAAC6B,IAAI,CAACoC,gBAAgB,IAAI,CAAC;UACjC;UACAiD,IAAI,GAAG,KAAK;QACd;QACA,IAAI,CAACD,cAAc,GAAG,IAAI,CAACA,cAAc,CAACL,IAAK;QAC/C,IAAI,CAACnB,eAAe,IAAI,CAAC;MAC3B;IACF;IACA,OAAO0B,MAAM;EACf;EAEApB,QAAQA,CAACjB,CAAS;IAChB,MAAMmB,OAAO,GAAa,EAAE;IAC5B,MAAMJ,QAAQ,GAAG7F,WAAW;IAC5B,IAAIoH,CAAC,GAAG,CAAC;IACT,OAAOA,CAAC,KAAKtC,CAAC,EAAE;MACd,MAAMM,CAAC,GAAG,IAAI,CAACQ,IAAI,CAACC,QAAwB,CAAC;MAC7C,IAAIT,CAAC,KAAKS,QAAQ,EAAE;QAClBuB,CAAC,GAAGtC,CAAC;MACP,CAAC,MAAM;QACLmB,OAAO,CAACE,IAAI,CAACf,CAAC,CAAC;QACfgC,CAAC,IAAI,CAAC;MACR;IACF;IACA,OAAOhI,KAAK,CAACyF,YAAY,CAACoB,OAAO,CAAC;EACpC;EAEAG,WAAWA,CAAA;IACT,IAAI,CAAC,IAAI,CAACV,YAAY,EAAE;MACtB,IAAI,CAACA,YAAY,GAAG,IAAI;MACxB,IAAI,CAAC7D,IAAI,CAACgF,aAAa,CAACvG,WAAW,IAAI,CAAC;MACxC,OAAO,IAAI,CAAC2G,cAAc,KAAK,IAAI,CAACpF,IAAI,CAACgF,aAAa,EAAE;QACtD,IAAI,IAAI,CAACI,cAAc,CAACL,IAAK,CAACxE,KAAK,KAAKpC,WAAW,EAAE;UACnD,IAAI,CAACiH,cAAc,CAAC3G,WAAW,IAAI,CAAC;UACpC,IAAI,IAAI,CAAC2G,cAAc,CAAC3G,WAAW,KAAK,CAAC,EAAE;YACzC,IAAI,CAACuB,IAAI,CAAC8E,aAAa,GAAG,IAAI,CAAC9E,IAAI,CAAC8E,aAAa,CAACC,IAAK;YACvD,IAAI,CAAC/E,IAAI,CAAC8E,aAAa,CAACvE,KAAK,GAAGpC,WAAW;YAC3C,IAAI,CAAC6B,IAAI,CAACoC,gBAAgB,IAAI,CAAC;UACjC;QACF;QACA,IAAI,CAACgD,cAAc,GAAG,IAAI,CAACA,cAAc,CAACL,IAAK;MACjD;IACF;EACF;;AAGF;AACA,MAAMhD,gBAAgB;EAIT1C,MAAA;EACAZ,WAAA;EACAF,YAAA;EACAC,OAAA;EACAqD,YAAA;EACAC,YAAA;EACAP,QAAA;EACAS,YAAA;EAVX,CAAC9D,KAAK,CAACsH,aAAa,IAAItH,KAAK,CAACuH,eAAe;EAE7CpD,YACWhD,MAAuB,EACvBZ,WAA2B,EAC3BF,YAA6B,EAC7BC,OAAwD,EACxDqD,YAAqC,EACrCC,YAA4C,EAC5CP,QAA2B,EAC3BS,YAA6B;IAP7B,KAAA3C,MAAM,GAANA,MAAM;IACN,KAAAZ,WAAW,GAAXA,WAAW;IACX,KAAAF,YAAY,GAAZA,YAAY;IACZ,KAAAC,OAAO,GAAPA,OAAO;IACP,KAAAqD,YAAY,GAAZA,YAAY;IACZ,KAAAC,YAAY,GAAZA,YAAY;IACZ,KAAAP,QAAQ,GAARA,QAAQ;IACR,KAAAS,YAAY,GAAZA,YAAY;EACpB;EAEHvE,IAAIA,CAAA;IACF,OAAOK,aAAa,CAAC,IAAI,EAAE4G,SAAS,CAAC;EACvC;EAEAvF,QAAQA,CAAA;IACN,OAAO,IAAI,CAACE,MAAM,CAACF,QAAQ;EAC7B;EAEAuG,QAAQA,CAAA;IACN,OAAO,CAAC/H,UAAU,CAACkB,GAAG,CAAC,IAAI,CAACiD,YAAY,CAAC;EAC3C;EAEA,IAAI7C,IAAIA,CAAA;IACN,OAAOlB,IAAI,CAACqB,OAAO,CAAC,MAClBzB,UAAU,CAACkB,GAAG,CAAC,IAAI,CAACiD,YAAY,CAAC,GAC7B/D,IAAI,CAAC4H,SAAS,GACd5H,IAAI,CAAC6H,OAAO,CAAC,IAAI,CAACrH,YAAY,CAACU,IAAI,EAAE,GAAG,IAAI,CAAC+C,YAAY,CAAC6D,SAAS,CAAC,CACzE;EACH;EAEAC,UAAUA,CAAA;IACR,IAAInI,UAAU,CAACkB,GAAG,CAAC,IAAI,CAACiD,YAAY,CAAC,EAAE;MACrC,OAAOjE,MAAM,CAACkI,IAAI,EAAE;IACtB;IACA,OAAOlI,MAAM,CAACmI,IAAI,CAAC,IAAI,CAACzH,YAAY,CAACU,IAAI,EAAE,GAAG,IAAI,CAAC+C,YAAY,CAAC6D,SAAS,CAAC;EAC5E;EAEA,IAAI5F,MAAMA,CAAA;IACR,OAAOlC,IAAI,CAACqB,OAAO,CAAC,MAClBzB,UAAU,CAACkB,GAAG,CAAC,IAAI,CAACiD,YAAY,CAAC,GAC7B/D,IAAI,CAAC4H,SAAS,GACd5H,IAAI,CAAC6H,OAAO,CAAC,IAAI,CAACrH,YAAY,CAACU,IAAI,EAAE,KAAK,IAAI,CAACE,QAAQ,EAAE,CAAC,CAC/D;EACH;EAEA,IAAIe,OAAOA,CAAA;IACT,OAAOnC,IAAI,CAACyD,GAAG,CAAC,IAAI,CAACvC,IAAI,EAAGA,IAAI,IAAKA,IAAI,KAAK,CAAC,CAAC;EAClD;EAEA,IAAIkB,QAAQA,CAAA;IACV,OAAOpC,IAAI,CAACkI,eAAe,CACzBlI,IAAI,CAACmI,gBAAgB,CAAQC,KAAK,IAAI;MACpCxI,UAAU,CAACgB,GAAG,CAAC,IAAI,CAACmD,YAAY,EAAE,IAAI,CAAC;MACvC,OAAOrE,IAAI,CACTQ,YAAY,CAACmI,mBAAmB,CAC9BC,kBAAkB,CAAC,IAAI,CAAC7H,OAAO,CAAC,EAC/B8H,CAAC,IAAKvI,IAAI,CAACwI,qBAAqB,CAACD,CAAC,EAAEH,KAAK,CAACK,EAAE,EAAE,CAAC,EAChD,KAAK,CACN,EACDzI,IAAI,CAAC0I,QAAQ,CAAC1I,IAAI,CAAC2I,IAAI,CAAC,MAAK;QAC3B,IAAI,CAACjI,WAAW,CAACO,MAAM,CAAC,IAAI,CAACT,YAAY,CAAC;QAC1C,IAAI,CAACA,YAAY,CAACgG,WAAW,EAAE;QAC/B,IAAI,CAAChD,QAAQ,CAACoF,wBAAwB,CAAC,IAAI,CAACtH,MAAM,EAAE,IAAI,CAACZ,WAAW,CAAC;MACvE,CAAC,CAAC,CAAC,EACHV,IAAI,CAAC6I,UAAU,CAAC7I,IAAI,CAAC8I,eAAe,CAAC,IAAI,CAAChF,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,EAChE9D,IAAI,CAAC+I,MAAM,CACZ;IACH,CAAC,CAAC,CACH;EACH;EAEA,IAAI1G,UAAUA,CAAA;IACZ,OAAOrC,IAAI,CAAC2I,IAAI,CAAC,MAAM/I,UAAU,CAACkB,GAAG,CAAC,IAAI,CAACiD,YAAY,CAAC,CAAC;EAC3D;EAEA,IAAIzB,aAAaA,CAAA;IACf,OAAOtC,IAAI,CAACgJ,aAAa,CAAC,IAAI,CAAClF,YAAY,CAAC;EAC9C;EAEA,IAAImF,IAAIA,CAAA;IACN,OAAOjJ,IAAI,CAACmI,gBAAgB,CAAEC,KAAK,IAAI;MACrC,IAAIxI,UAAU,CAACkB,GAAG,CAAC,IAAI,CAACiD,YAAY,CAAC,EAAE;QACrC,OAAO/D,IAAI,CAAC4H,SAAS;MACvB;MACA,IAAI,IAAI,CAAC3D,YAAY,CAAC6D,SAAS,GAAG,CAAC,EAAE;QACnC,MAAMoB,OAAO,GAAG,IAAI,CAACjF,YAAY,CAACgF,IAAI,EAAG;QACzC,OAAOjJ,IAAI,CAAC6H,OAAO,CAACqB,OAAO,CAAC;MAC9B;MACA,MAAMA,OAAO,GAAGvJ,YAAY,CAACwC,OAAO,CAAC,IAAI,CAAC1B,OAAO,CAAC,GAC9C,IAAI,CAACD,YAAY,CAACwF,IAAI,CAACrG,YAAY,CAACwJ,iBAAiB,CAAC,GACtDxJ,YAAY,CAACwJ,iBAAiB;MAClC,IAAID,OAAO,KAAKvJ,YAAY,CAACwJ,iBAAiB,EAAE;QAC9C,MAAMxF,QAAQ,GAAG3D,IAAI,CAACoJ,kBAAkB,CAAIhB,KAAK,CAACK,EAAE,EAAE,CAAC;QACvD,OAAO/I,IAAI,CACTM,IAAI,CAACqB,OAAO,CAAC,MAAK;UAChB3B,IAAI,CAAC,IAAI,CAACe,OAAO,EAAEd,YAAY,CAACkF,KAAK,CAAClB,QAAQ,CAAC,CAAC;UAChDjE,IAAI,CAAC,IAAI,CAACgB,WAAW,EAAEH,cAAc,CAAC,IAAI,CAACC,YAAY,EAAE,IAAI,CAACC,OAAO,CAAC,CAAC;UACvE,IAAI,CAAC+C,QAAQ,CAAC6F,qBAAqB,CACjC,IAAI,CAAC/H,MAAM,EACX,IAAI,CAACZ,WAAW,EAChB,IAAI,CAACF,YAAY,EACjB,IAAI,CAACC,OAAO,CACb;UACD,OAAOb,UAAU,CAACkB,GAAG,CAAC,IAAI,CAACiD,YAAY,CAAC,GAAG/D,IAAI,CAAC4H,SAAS,GAAG5H,IAAI,CAACgJ,aAAa,CAACrF,QAAQ,CAAC;QAC1F,CAAC,CAAC,EACF3D,IAAI,CAACsJ,WAAW,CAAC,MAAMtJ,IAAI,CAAC2I,IAAI,CAAC,MAAMY,YAAY,CAAC,IAAI,CAAC9I,OAAO,EAAEkD,QAAQ,CAAC,CAAC,CAAC,CAC9E;MACH,CAAC,MAAM;QACL,IAAI,CAACH,QAAQ,CAACoF,wBAAwB,CAAC,IAAI,CAACtH,MAAM,EAAE,IAAI,CAACZ,WAAW,CAAC;QACrE,OAAOV,IAAI,CAAC6H,OAAO,CAACqB,OAAO,CAAC;MAC9B;IACF,CAAC,CAAC;EACJ;EAEA,IAAIM,OAAOA,CAAA;IACT,OAAOxJ,IAAI,CAACqB,OAAO,CAAC,MAAK;MACvB,IAAIzB,UAAU,CAACkB,GAAG,CAAC,IAAI,CAACiD,YAAY,CAAC,EAAE;QACrC,OAAO/D,IAAI,CAAC4H,SAAS;MACvB;MACA,MAAM6B,EAAE,GAAG9J,YAAY,CAACwC,OAAO,CAAC,IAAI,CAAC1B,OAAO,CAAC,GACzCiJ,yBAAyB,CAAC,IAAI,CAAClJ,YAAY,CAAC,GAC5ChB,KAAK,CAACuF,KAAK,EAAE;MACjB,IAAI,CAACvB,QAAQ,CAACoF,wBAAwB,CAAC,IAAI,CAACtH,MAAM,EAAE,IAAI,CAACZ,WAAW,CAAC;MACrE,IAAI,IAAI,CAACuD,YAAY,CAAC6D,SAAS,GAAG,CAAC,EAAE;QACnC,OAAO9H,IAAI,CAAC6H,OAAO,CAACrI,KAAK,CAACmK,SAAS,CAAC,IAAI,CAAC1F,YAAY,CAACuF,OAAO,EAAE,EAAEC,EAAE,CAAC,CAAC;MACvE;MACA,OAAOzJ,IAAI,CAAC6H,OAAO,CAAC4B,EAAE,CAAC;IACzB,CAAC,CAAC;EACJ;EAEAG,QAAQA,CAAa7D,GAAW;IAC9B,OAAO/F,IAAI,CAACqB,OAAO,CAAC,MAAK;MACvB,IAAIzB,UAAU,CAACkB,GAAG,CAAC,IAAI,CAACiD,YAAY,CAAC,EAAE;QACrC,OAAO/D,IAAI,CAAC4H,SAAS;MACvB;MACA,IAAI9E,MAAM,GAA+BI,SAAS;MAClD,IAAI,IAAI,CAACe,YAAY,CAAC6D,SAAS,IAAI/B,GAAG,EAAE;QACtC,MAAM0D,EAAE,GAAG,IAAI,CAACxF,YAAY,CAAC4F,KAAK,CAAC9D,GAAG,CAAC;QACvC,OAAO/F,IAAI,CAAC6H,OAAO,CAAC4B,EAAE,CAAC;MACzB,CAAC,MAAM,IAAI,IAAI,CAACxF,YAAY,CAAC6D,SAAS,GAAG,CAAC,EAAE;QAC1ChF,MAAM,GAAG,IAAI,CAACmB,YAAY,CAACuF,OAAO,EAAE;QACpCzD,GAAG,GAAGA,GAAG,GAAGjD,MAAM,CAAC2B,MAAM;MAC3B;MACA,MAAMgF,EAAE,GAAG9J,YAAY,CAACwC,OAAO,CAAC,IAAI,CAAC1B,OAAO,CAAC,GACzCqJ,WAAW,CAAC,IAAI,CAACtJ,YAAY,EAAEuF,GAAG,CAAC,GACnCvG,KAAK,CAACuF,KAAK,EAAE;MACjB,IAAI,CAACvB,QAAQ,CAACoF,wBAAwB,CAAC,IAAI,CAACtH,MAAM,EAAE,IAAI,CAACZ,WAAW,CAAC;MACrE,OAAOoC,MAAM,GAAG9C,IAAI,CAAC6H,OAAO,CAACrI,KAAK,CAACmK,SAAS,CAAC7G,MAAM,EAAE2G,EAAE,CAAC,CAAC,GAAGzJ,IAAI,CAAC6H,OAAO,CAAC4B,EAAE,CAAC;IAC9E,CAAC,CAAC;EACJ;EAEAM,WAAWA,CAAC1E,GAAW,EAAEU,GAAW;IAClC,OAAO/F,IAAI,CAACqB,OAAO,CAAC,MAAM2I,iBAAiB,CAAC,IAAI,EAAE3E,GAAG,EAAEU,GAAG,EAAEvG,KAAK,CAACuF,KAAK,EAAE,CAAC,CAAC;EAC7E;;AAGF;AACA,MAAMiF,iBAAiB,GAAGA,CACxB/H,IAAsB,EACtBoD,GAAW,EACXU,GAAW,EACXkE,GAAmB,KACc;EACjC,IAAIlE,GAAG,GAAGV,GAAG,EAAE;IACb,OAAOrF,IAAI,CAAC6H,OAAO,CAACoC,GAAG,CAAC;EAC1B;EACA,OAAOvK,IAAI,CACTuC,IAAI,CAAC2H,QAAQ,CAAC7D,GAAG,CAAC,EAClB/F,IAAI,CAACkK,OAAO,CAAEC,EAAE,IAAI;IAClB,MAAMrC,SAAS,GAAGzC,GAAG,GAAG8E,EAAE,CAAC1F,MAAM;IACjC,IAAIqD,SAAS,KAAK,CAAC,EAAE;MACnB,OAAOpI,IAAI,CAACuC,IAAI,CAACgH,IAAI,EAAEjJ,IAAI,CAACyD,GAAG,CAAE2G,CAAC,IAAK1K,IAAI,CAACuK,GAAG,EAAEzK,KAAK,CAACmK,SAAS,CAACQ,EAAE,CAAC,EAAE3K,KAAK,CAAC6K,MAAM,CAACD,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F;IACA,IAAItC,SAAS,GAAG,CAAC,EAAE;MACjB,OAAOpI,IAAI,CACTuC,IAAI,CAACgH,IAAI,EACTjJ,IAAI,CAACkK,OAAO,CAAEE,CAAC,IACbJ,iBAAiB,CACf/H,IAAI,EACJ6F,SAAS,GAAG,CAAC,EACb/B,GAAG,GAAGoE,EAAE,CAAC1F,MAAM,GAAG,CAAC,EACnB/E,IAAI,CAACuK,GAAG,EAAEzK,KAAK,CAACmK,SAAS,CAACQ,EAAE,CAAC,EAAE3K,KAAK,CAAC6K,MAAM,CAACD,CAAC,CAAC,CAAC,CAChD,CACF,CACF;IACH;IACA,OAAOpK,IAAI,CAAC6H,OAAO,CAACnI,IAAI,CAACuK,GAAG,EAAEzK,KAAK,CAACmK,SAAS,CAACQ,EAAE,CAAC,CAAC,CAAC;EACrD,CAAC,CAAC,CACH;AACH,CAAC;AAED;AACA,MAAMG,UAAU;EAKHhJ,MAAA;EACAZ,WAAA;EACA6J,KAAA;EACAzG,YAAA;EACAC,YAAA;EACAP,QAAA;EATF,CAACrD,KAAK,CAACqK,aAAa,IAAIrK,KAAK,CAACsK,eAAe;EAC7C,CAACtK,KAAK,CAACsH,aAAa,IAAItH,KAAK,CAACuH,eAAe;EAEtDpD,YACWhD,MAAuB,EACvBZ,WAA2B,EAC3B6J,KAA4B,EAC5BzG,YAAqC,EACrCC,YAA4C,EAC5CP,QAA2B;IAL3B,KAAAlC,MAAM,GAANA,MAAM;IACN,KAAAZ,WAAW,GAAXA,WAAW;IACX,KAAA6J,KAAK,GAALA,KAAK;IACL,KAAAzG,YAAY,GAAZA,YAAY;IACZ,KAAAC,YAAY,GAAZA,YAAY;IACZ,KAAAP,QAAQ,GAARA,QAAQ;EAChB;EAEHpC,QAAQA,CAAA;IACN,OAAO,IAAI,CAACE,MAAM,CAACF,QAAQ;EAC7B;EAEA,IAAIF,IAAIA,CAAA;IACN,OAAOlB,IAAI,CAACqB,OAAO,CAAC,MAClBzB,UAAU,CAACkB,GAAG,CAAC,IAAI,CAACiD,YAAY,CAAC,GAC/B/D,IAAI,CAAC4H,SAAS,GACd5H,IAAI,CAAC2I,IAAI,CAAC,MAAM,IAAI,CAACrH,MAAM,CAACJ,IAAI,EAAE,CAAC,CACtC;EACH;EAEA6G,UAAUA,CAAA;IACR,IAAInI,UAAU,CAACkB,GAAG,CAAC,IAAI,CAACiD,YAAY,CAAC,EAAE;MACrC,OAAOjE,MAAM,CAACkI,IAAI,EAAE;IACtB;IACA,OAAOlI,MAAM,CAACmI,IAAI,CAAC,IAAI,CAAC3G,MAAM,CAACJ,IAAI,EAAE,CAAC;EACxC;EAEA,IAAIgB,MAAMA,CAAA;IACR,OAAOlC,IAAI,CAACyD,GAAG,CAAC,IAAI,CAACvC,IAAI,EAAGA,IAAI,IAAKA,IAAI,KAAK,IAAI,CAACE,QAAQ,EAAE,CAAC;EAChE;EAEA,IAAIe,OAAOA,CAAA;IACT,OAAOnC,IAAI,CAACyD,GAAG,CAAC,IAAI,CAACvC,IAAI,EAAGA,IAAI,IAAKA,IAAI,KAAK,CAAC,CAAC;EAClD;EAEA,IAAIoB,aAAaA,CAAA;IACf,OAAOtC,IAAI,CAACgJ,aAAa,CAAC,IAAI,CAAClF,YAAY,CAAC;EAC9C;EAEA,IAAIzB,UAAUA,CAAA;IACZ,OAAOrC,IAAI,CAAC2I,IAAI,CAAC,MAAM/I,UAAU,CAACkB,GAAG,CAAC,IAAI,CAACiD,YAAY,CAAC,CAAC;EAC3D;EAEA,IAAI3B,QAAQA,CAAA;IACV,OAAOpC,IAAI,CAACkI,eAAe,CAAClI,IAAI,CAACmI,gBAAgB,CAAEC,KAAK,IAAI;MAC1D1I,IAAI,CAAC,IAAI,CAACqE,YAAY,EAAEnE,UAAU,CAACgB,GAAG,CAAC,IAAI,CAAC,CAAC;MAC7C,OAAOlB,IAAI,CACT,IAAI,CAAC6K,KAAK,CAACG,KAAK,CAAC1K,IAAI,CAAC2K,aAAa,CAACvC,KAAK,CAACK,EAAE,EAAE,CAAC,CAAC,EAChDzI,IAAI,CAAC0I,QAAQ,CAAC,IAAI,CAAClF,QAAQ,CAACpB,QAAQ,CAAC,EACrCpC,IAAI,CAAC6I,UAAU,CAAC7I,IAAI,CAAC8I,eAAe,CAAC,IAAI,CAAChF,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,EAChE9D,IAAI,CAAC+I,MAAM,CACZ;IACH,CAAC,CAAC,CAAC;EACL;EAEAxG,OAAOA,CAACC,KAAQ;IACd,OAAOxC,IAAI,CAACqB,OAAO,CAAC,MAAK;MACvB,IAAIzB,UAAU,CAACkB,GAAG,CAAC,IAAI,CAACiD,YAAY,CAAC,EAAE;QACrC,OAAO/D,IAAI,CAAC4H,SAAS;MACvB;MAEA,IAAI,IAAI,CAACtG,MAAM,CAACiB,OAAO,CAACC,KAAK,CAAC,EAAE;QAC9B,IAAI,CAACgB,QAAQ,CAACoH,yBAAyB,CAAC,IAAI,CAACtJ,MAAM,EAAE,IAAI,CAACZ,WAAW,CAAC;QACtE,OAAOV,IAAI,CAAC6H,OAAO,CAAC,IAAI,CAAC;MAC3B;MAEA,OAAO,IAAI,CAACrE,QAAQ,CAACqH,aAAa,CAChC,IAAI,CAACvJ,MAAM,EACX,IAAI,CAACZ,WAAW,EAChBlB,KAAK,CAACsH,EAAE,CAACtE,KAAK,CAAC,EACf,IAAI,CAACuB,YAAY,CAClB;IACH,CAAC,CAAC;EACJ;EAEA4D,QAAQA,CAAA;IACN,OAAO,CAAC/H,UAAU,CAACkB,GAAG,CAAC,IAAI,CAACiD,YAAY,CAAC;EAC3C;EAEA+G,WAAWA,CAACtI,KAAQ;IAClB,IAAI5C,UAAU,CAACkB,GAAG,CAAC,IAAI,CAACiD,YAAY,CAAC,EAAE;MACrC,OAAO,KAAK;IACd;IAEA,IAAK,IAAI,CAACzC,MAAgC,CAACiB,OAAO,CAACC,KAAK,CAAC,EAAE;MACzD,IAAI,CAACgB,QAAQ,CAACoH,yBAAyB,CAAC,IAAI,CAACtJ,MAAM,EAAE,IAAI,CAACZ,WAAW,CAAC;MACtE,OAAO,IAAI;IACb;IAEA,OAAO,KAAK;EACd;EAEA+B,UAAUA,CAACC,QAAqB;IAC9B,OAAO1C,IAAI,CAACqB,OAAO,CAAC,MAAK;MACvB,IAAIzB,UAAU,CAACkB,GAAG,CAAC,IAAI,CAACiD,YAAY,CAAC,EAAE;QACrC,OAAO/D,IAAI,CAAC4H,SAAS;MACvB;MACA,MAAMmD,OAAO,GAAGC,gBAAgB,CAAC,IAAI,CAAC1J,MAAM,EAAEoB,QAAQ,CAAC;MACvD,IAAI,CAACc,QAAQ,CAACoH,yBAAyB,CAAC,IAAI,CAACtJ,MAAM,EAAE,IAAI,CAACZ,WAAW,CAAC;MACtE,IAAIlB,KAAK,CAAC2C,OAAO,CAAC4I,OAAO,CAAC,EAAE;QAC1B,OAAO/K,IAAI,CAAC6H,OAAO,CAAC,IAAI,CAAC;MAC3B;MACA,OAAO,IAAI,CAACrE,QAAQ,CAACqH,aAAa,CAChC,IAAI,CAACvJ,MAAM,EACX,IAAI,CAACZ,WAAW,EAChBqK,OAAO,EACP,IAAI,CAAChH,YAAY,CAClB;IACH,CAAC,CAAC;EACJ;EAEA,IAAIpB,SAASA,CAAA;IACX,MAAMsI,OAAO,GAAGjL,IAAI,CAACkL,GAAG,CACtBhL,YAAY,CAACiL,GAAG,CAAC,CACf,IAAI,CAACZ,KAAK,CAACa,IAAI,CAACnL,iBAAiB,CAACoL,UAAU,CAAC,EAC7C9H,gBAAgB,CAAC,IAAI,CAACjC,MAAM,EAAE,IAAI,CAACZ,WAAW,EAAE,IAAI,CAAC8C,QAAQ,CAAC,CAC/D,CAAC,EACD8H,KAAK,IAAKA,KAAK,CAAC,CAAC,CAAC,CAACC,YAAY,CAAC,MAAMD,KAAK,CAAC,CAAC,CAAC,CAAClJ,QAAQ,CAAC,CAC1D;IACD,OAAOpC,IAAI,CAACyD,GAAG,CACbvD,YAAY,CAACsL,cAAc,CAACP,OAAO,EAAE,CAACK,KAAK,EAAEG,IAAI,KAAKH,KAAK,CAAC,CAAC,CAAC,CAACZ,KAAK,CAACe,IAAI,CAAC,CAAC,EAC1EH,KAAK,IAAKA,KAAK,CAAC,CAAC,CAAC,CACpB;EACH;EAEAzG,KAAKA,CAACrC,KAAQ;IACZ,OAAO,IAAI,CAACD,OAAO,CAACC,KAAK,CAAC;EAC5B;EAEAsC,QAAQA,CAACpC,QAAqB;IAC5B,OAAO,IAAI,CAACD,UAAU,CAACC,QAAQ,CAAC;EAClC;EAEAhD,IAAIA,CAAA;IACF,OAAOK,aAAa,CAAC,IAAI,EAAE4G,SAAS,CAAC;EACvC;;AAGF;AACA,OAAO,MAAMnF,UAAU,GAAGA,CACxBF,MAAuB,EACvBkC,QAA2B,KAE3BxD,IAAI,CAACkK,OAAO,CACVhK,YAAY,CAACwL,SAAS,EAAE,EACvBnB,KAAK,IACJvK,IAAI,CAACyD,GAAG,CAACzD,IAAI,CAAC0D,YAAY,EAAQ,EAAGC,QAAQ,IAC3CgI,gBAAgB,CACdrK,MAAM,EACN,IAAIsK,GAAG,EAAE,EACTrB,KAAK,EACL5G,QAAQ,EACR/D,UAAU,CAACiE,IAAI,CAAC,KAAK,CAAC,EACtBL,QAAQ,CACT,CAAC,CACP;AAEH;AACA,OAAO,MAAMmI,gBAAgB,GAAGA,CAC9BrK,MAAuB,EACvBZ,WAA2B,EAC3B6J,KAA4B,EAC5BzG,YAAqC,EACrCC,YAA4C,EAC5CP,QAA2B,KACN,IAAI8G,UAAU,CAAChJ,MAAM,EAAEZ,WAAW,EAAE6J,KAAK,EAAEzG,YAAY,EAAEC,YAAY,EAAEP,QAAQ,CAAC;AAEvG;AACA,MAAMZ,cAAc,GAAIxB,QAAgB,IAAU;EAChD,IAAIA,QAAQ,IAAI,CAAC,EAAE;IACjB,MAAM,IAAIpB,IAAI,CAAC6L,8BAA8B,CAAC,4CAA4CzK,QAAQ,EAAE,CAAC;EACvG;AACF,CAAC;AAED;AACA,MAAM0K,sBAAsB,GAAGA,CAAInI,QAA8B,EAAE6B,CAAI,KAAU;EAC/ExF,IAAI,CAAC+L,kBAAkB,CAACpI,QAAQ,EAAE3D,IAAI,CAAC6H,OAAO,CAACrC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;AACA,MAAMwG,cAAc,GAAGA,CAAI7L,KAAmC,EAAEsJ,EAAe,KAAoB;EACjG,OAAO/J,IAAI,CAACS,KAAK,EAAER,YAAY,CAACmF,QAAQ,CAAC2E,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;AACA,MAAMnB,kBAAkB,GAAOnI,KAAmC,IAAoB;EACpF,OAAOT,IAAI,CAACS,KAAK,EAAER,YAAY,CAACwG,QAAQ,CAACe,MAAM,CAAC+E,iBAAiB,CAAC,CAAC;AACrE,CAAC;AAED;AACA,MAAMvC,yBAAyB,GAAOlJ,YAA6B,IAAoB;EACrF,OAAOA,YAAY,CAAC2F,QAAQ,CAACe,MAAM,CAAC+E,iBAAiB,CAAC;AACxD,CAAC;AAED;AACA,MAAMnC,WAAW,GAAGA,CAAItJ,YAA6B,EAAEuF,GAAW,KAAoB;EACpF,OAAOvF,YAAY,CAAC2F,QAAQ,CAACJ,GAAG,CAAC;AACnC,CAAC;AAED;AACA,MAAMiF,gBAAgB,GAAGA,CAAI1J,MAAuB,EAAEmI,EAAe,KAAoB;EACvF,OAAOnI,MAAM,CAACmB,UAAU,CAACgH,EAAE,CAAC;AAC9B,CAAC;AAED;AACA,MAAMF,YAAY,GAAGA,CAAIpJ,KAAmC,EAAEqC,KAAQ,KAAU;EAC9EwJ,cAAc,CACZ7L,KAAK,EACLT,IAAI,CAAC4I,kBAAkB,CAACnI,KAAK,CAAC,EAAEX,KAAK,CAAC0M,MAAM,CAAEhG,IAAI,IAAKA,IAAI,KAAK1D,KAAK,CAAC,CAAC,CACxE;AACH,CAAC;AA4DD;;;;;;;;;AASA,MAAMf,oBAAoB;EACxB0K,UAAU,GAENxM,YAAY,CAACmC,SAAS,EAAE;EAE5B,IAAIM,QAAQA,CAAA;IACV,OAAOpC,IAAI,CAACkK,OAAO,CAAClK,IAAI,CAACoM,OAAO,EAAGA,OAAO,IACxCpM,IAAI,CAACkK,OAAO,CACVlK,IAAI,CAAC2I,IAAI,CAAC,MAAML,kBAAkB,CAAC,IAAI,CAAC6D,UAAU,CAAC,CAAC,EACnDA,UAAU,IACTjM,YAAY,CAACmM,wBAAwB,CACnCF,UAAU,EACV,CAAC,CAACG,CAAC,EAAE3I,QAAQ,EAAE4I,IAAI,CAAC,KAClBA,IAAI,GACF7M,IAAI,CAACM,IAAI,CAACwI,qBAAqB,CAAC7E,QAAQ,EAAEyI,OAAO,CAAC,EAAEpM,IAAI,CAAC+I,MAAM,CAAC,GAChE/I,IAAI,CAACwM,IAAI,EACb,KAAK,EACL,KAAK,CACN,CACJ,CAAC;EACN;EAEA3B,aAAaA,CACXvJ,MAAuB,EACvBZ,WAA2B,EAC3BgC,QAAqB,EACrBL,UAA0C;IAE1C,OAAOrC,IAAI,CAACmI,gBAAgB,CAAEC,KAAK,IAAI;MACrC,MAAMzE,QAAQ,GAAG3D,IAAI,CAACoJ,kBAAkB,CAAUhB,KAAK,CAACK,EAAE,EAAE,CAAC;MAC7D,OAAO/I,IAAI,CACTM,IAAI,CAACqB,OAAO,CAAC,MAAK;QAChB,IAAI,CAACyJ,WAAW,CAACpI,QAAQ,EAAEiB,QAAQ,CAAC;QACpC,IAAI,CAACiF,wBAAwB,CAACtH,MAAM,EAAEZ,WAAW,CAAC;QAClD,IAAI,CAACkK,yBAAyB,CAACtJ,MAAM,EAAEZ,WAAW,CAAC;QACnD,OAAOd,UAAU,CAACkB,GAAG,CAACuB,UAAU,CAAC,GAC/BrC,IAAI,CAAC4H,SAAS,GACd5H,IAAI,CAACgJ,aAAa,CAACrF,QAAQ,CAAC;MAChC,CAAC,CAAC,EACF3D,IAAI,CAACsJ,WAAW,CAAC,MAAMtJ,IAAI,CAAC2I,IAAI,CAAC,MAAM,IAAI,CAACY,YAAY,CAAC5F,QAAQ,CAAC,CAAC,CAAC,CACrE;IACH,CAAC,CAAC;EACJ;EAEAiF,wBAAwBA,CACtBtH,MAAuB,EACvBZ,WAA2B;IAE3B,IAAI+L,WAAW,GAAG,IAAI;IACtB,OAAOA,WAAW,IAAI,CAACnL,MAAM,CAACY,MAAM,EAAE,EAAE;MACtC,MAAMwK,SAAS,GAAGhN,IAAI,CAAC,IAAI,CAACyM,UAAU,EAAExM,YAAY,CAACqG,IAAI,CAACrG,YAAY,CAACwJ,iBAAiB,CAAC,CAAC;MAC1F,IAAIuD,SAAS,KAAK/M,YAAY,CAACwJ,iBAAiB,EAAE;QAChDsD,WAAW,GAAG,KAAK;MACrB,CAAC,MAAM;QACL,MAAME,SAAS,GAAGrL,MAAM,CAACiB,OAAO,CAACmK,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAIC,SAAS,IAAID,SAAS,CAAC,CAAC,CAAC,EAAE;UAC7BZ,sBAAsB,CAACY,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QAC5C,CAAC,MAAM,IAAI,CAACC,SAAS,EAAE;UACrBX,cAAc,CACZ,IAAI,CAACG,UAAU,EACfzM,IAAI,CAAC4I,kBAAkB,CAAC,IAAI,CAAC6D,UAAU,CAAC,EAAE3M,KAAK,CAACoN,OAAO,CAACF,SAAS,CAAC,CAAC,CACpE;QACH;QACA,IAAI,CAAC9B,yBAAyB,CAACtJ,MAAM,EAAEZ,WAAW,CAAC;MACrD;IACF;EACF;EAEA2I,qBAAqBA,CACnB/H,MAAuB,EACvBZ,WAA2B,EAC3BF,YAA6B,EAC7BC,OAAwD;IAExD,OAAOoM,6BAA6B,CAAC,IAAI,EAAEvL,MAAM,EAAEZ,WAAW,EAAEF,YAAY,EAAEC,OAAO,CAAC;EACxF;EAEAmK,yBAAyBA,CAACtJ,MAAuB,EAAEZ,WAA2B;IAC5E,OAAOoM,iCAAiC,CAAC,IAAI,EAAExL,MAAM,EAAEZ,WAAW,CAAC;EACrE;EAEQoK,WAAWA,CAACpI,QAAqB,EAAEiB,QAAoC;IAC7E,MAAMoJ,QAAQ,GAAGrK,QAAQ,CAACrC,MAAM,CAAC0M,QAAQ,CAAC,EAAE;IAC5C,IAAI/F,IAAI,GAAsB+F,QAAQ,CAAC/F,IAAI,EAAE;IAC7C,IAAI,CAACA,IAAI,CAACgG,IAAI,EAAE;MACd;MACA,OAAO,CAAC,EAAE;QACR,MAAMxK,KAAK,GAAGwE,IAAI,CAACxE,KAAK;QACxBwE,IAAI,GAAG+F,QAAQ,CAAC/F,IAAI,EAAE;QACtB,IAAIA,IAAI,CAACgG,IAAI,EAAE;UACbtN,IAAI,CACF,IAAI,CAACyM,UAAU,EACfxM,YAAY,CAACkF,KAAK,CAAC,CAACrC,KAAK,EAAEmB,QAAQ,EAAE,IAAe,CAAU,CAAC,CAChE;UACD;QACF;QACAjE,IAAI,CACF,IAAI,CAACyM,UAAU,EACfxM,YAAY,CAACkF,KAAK,CAAC,CAACrC,KAAK,EAAEmB,QAAQ,EAAE,KAAgB,CAAU,CAAC,CACjE;MACH;IACF;EACF;EAEA4F,YAAYA,CAAC5F,QAAoC;IAC/CqI,cAAc,CACZ,IAAI,CAACG,UAAU,EACfzM,IAAI,CAAC4I,kBAAkB,CAAC,IAAI,CAAC6D,UAAU,CAAC,EAAE3M,KAAK,CAAC0M,MAAM,CAAC,CAAC,CAACI,CAAC,EAAE9G,CAAC,CAAC,KAAKA,CAAC,KAAK7B,QAAQ,CAAC,CAAC,CACpF;EACH;;AAGF;;;;;;;;;;AAUA,OAAM,MAAOhC,gBAAgB;EAC3B,IAAIS,QAAQA,CAAA;IACV,OAAOpC,IAAI,CAACwM,IAAI;EAClB;EAEA3B,aAAaA,CACXoC,OAAwB,EACxBC,YAA4B,EAC5BC,SAAsB,EACtBC,WAA2C;IAE3C,OAAOpN,IAAI,CAAC6H,OAAO,CAAC,KAAK,CAAC;EAC5B;EAEAe,wBAAwBA,CACtBqE,OAAwB,EACxBC,YAA4B;IAE5B;EAAA;EAGF7D,qBAAqBA,CACnB/H,MAAuB,EACvBZ,WAA2B,EAC3BF,YAA6B,EAC7BC,OAAwD;IAExD,OAAOoM,6BAA6B,CAAC,IAAI,EAAEvL,MAAM,EAAEZ,WAAW,EAAEF,YAAY,EAAEC,OAAO,CAAC;EACxF;EAEAmK,yBAAyBA,CAACtJ,MAAuB,EAAEZ,WAA2B;IAC5E,OAAOoM,iCAAiC,CAAC,IAAI,EAAExL,MAAM,EAAEZ,WAAW,CAAC;EACrE;;AAGF;;;;;;;;;AASA,OAAM,MAAOmB,eAAe;EAC1B,IAAIO,QAAQA,CAAA;IACV,OAAOpC,IAAI,CAACwM,IAAI;EAClB;EAEA3B,aAAaA,CACXvJ,MAAuB,EACvBZ,WAA2B,EAC3BgC,QAAqB,EACrB0K,WAA2C;IAE3C,OAAOpN,IAAI,CAAC2I,IAAI,CAAC,MAAK;MACpB,IAAI,CAAC0E,oBAAoB,CAAC/L,MAAM,EAAEoB,QAAQ,CAAC;MAC3C,IAAI,CAACkI,yBAAyB,CAACtJ,MAAM,EAAEZ,WAAW,CAAC;MACnD,OAAO,IAAI;IACb,CAAC,CAAC;EACJ;EAEAkI,wBAAwBA,CACtBqE,OAAwB,EACxBC,YAA4B;IAE5B;EAAA;EAGF7D,qBAAqBA,CACnB/H,MAAuB,EACvBZ,WAA2B,EAC3BF,YAA6B,EAC7BC,OAAwD;IAExD,OAAOoM,6BAA6B,CAAC,IAAI,EAAEvL,MAAM,EAAEZ,WAAW,EAAEF,YAAY,EAAEC,OAAO,CAAC;EACxF;EAEAmK,yBAAyBA,CAACtJ,MAAuB,EAAEZ,WAA2B;IAC5E,OAAOoM,iCAAiC,CAAC,IAAI,EAAExL,MAAM,EAAEZ,WAAW,CAAC;EACrE;EAEA2M,oBAAoBA,CAAC/L,MAAuB,EAAEoB,QAAqB;IACjE,MAAM4K,EAAE,GAAG5K,QAAQ,CAACrC,MAAM,CAAC0M,QAAQ,CAAC,EAAE;IACtC,IAAI/F,IAAI,GAAGsG,EAAE,CAACtG,IAAI,EAAE;IACpB,IAAI,CAACA,IAAI,CAACgG,IAAI,IAAI1L,MAAM,CAACF,QAAQ,GAAG,CAAC,EAAE;MACrC,IAAIoE,CAAC,GAAGwB,IAAI,CAACxE,KAAK;MAClB,IAAI8E,IAAI,GAAG,IAAI;MACf,OAAOA,IAAI,EAAE;QACXhG,MAAM,CAACqE,KAAK,EAAE;QACd,MAAM4H,GAAG,GAAGjM,MAAM,CAACiB,OAAO,CAACiD,CAAC,CAAC;QAC7B,IAAI+H,GAAG,KAAKvG,IAAI,GAAGsG,EAAE,CAACtG,IAAI,EAAE,CAAC,IAAI,CAACA,IAAI,CAACgG,IAAI,EAAE;UAC3CxH,CAAC,GAAGwB,IAAI,CAACxE,KAAK;QAChB,CAAC,MAAM,IAAI+K,GAAG,EAAE;UACdjG,IAAI,GAAG,KAAK;QACd;MACF;IACF;EACF;;AAGF;AACA,MAAMuF,6BAA6B,GAAGA,CACpCrJ,QAA2B,EAC3BlC,MAAuB,EACvBZ,WAA2B,EAC3BF,YAA6B,EAC7BC,OAAwD,KAChD;EACR,IAAIgM,WAAW,GAAG,IAAI;EACtB,OAAOA,WAAW,IAAI,CAACjM,YAAY,CAAC2B,OAAO,EAAE,EAAE;IAC7C,MAAMqL,MAAM,GAAG9N,IAAI,CAACe,OAAO,EAAEd,YAAY,CAACqG,IAAI,CAACrG,YAAY,CAACwJ,iBAAiB,CAAC,CAAC;IAC/E,IAAIqE,MAAM,KAAK7N,YAAY,CAACwJ,iBAAiB,EAAE;MAC7CzJ,IAAI,CAACgB,WAAW,EAAEM,iBAAiB,CAACR,YAAY,EAAEC,OAAO,CAAC,CAAC;MAC3D,IAAId,YAAY,CAACwC,OAAO,CAAC1B,OAAO,CAAC,EAAE;QACjCgM,WAAW,GAAG,KAAK;MACrB,CAAC,MAAM;QACL/M,IAAI,CAACgB,WAAW,EAAEH,cAAc,CAACC,YAAY,EAAEC,OAAO,CAAC,CAAC;MAC1D;IACF,CAAC,MAAM;MACL,MAAMgN,UAAU,GAAGjN,YAAY,CAACwF,IAAI,CAACrG,YAAY,CAACwJ,iBAAiB,CAAC;MACpE,IAAIsE,UAAU,KAAK9N,YAAY,CAACwJ,iBAAiB,EAAE;QACjD6C,cAAc,CAACvL,OAAO,EAAEf,IAAI,CAAC4I,kBAAkB,CAAC7H,OAAO,CAAC,EAAEjB,KAAK,CAACoN,OAAO,CAACY,MAAM,CAAC,CAAC,CAAC;MACnF,CAAC,MAAM;QACL1B,sBAAsB,CAAC0B,MAAM,EAAEC,UAAU,CAAC;QAC1CjK,QAAQ,CAACoF,wBAAwB,CAACtH,MAAM,EAAEZ,WAAW,CAAC;MACxD;IACF;EACF;AACF,CAAC;AAED;AACA,MAAMoM,iCAAiC,GAAGA,CACxCtJ,QAA2B,EAC3BlC,MAAuB,EACvBZ,WAA2B,KACnB;EACR,KACE,MAAM,CAACF,YAAY,EAAEkN,UAAU,CAAC,IAAIhN,WAAW,EAC/C;IACA,KAAK,MAAMD,OAAO,IAAIiN,UAAU,EAAE;MAChClK,QAAQ,CAAC6F,qBAAqB,CAAC/H,MAAM,EAAEZ,WAAW,EAAEF,YAAY,EAAEC,OAAO,CAAC;IAC5E;EACF;AACF,CAAC;AAOD,MAAMsC,YAAY;EACK3B,QAAA;EAArBkD,YAAqBlD,QAAgB;IAAhB,KAAAA,QAAQ,GAARA,QAAQ;EAAW;EAExCuM,IAAI,GAAkB;IAAEnL,KAAK,EAAEpC,WAAW;IAAE4G,IAAI,EAAE;EAAI,CAAE;EACxD4G,IAAI,GAAkB,IAAI,CAACD,IAAI;EAC/BzM,IAAI,GAAG,CAAC;EACR0D,KAAK,GAAG,CAAC;EAETe,KAAKA,CAAA;IACH,IAAI,CAACf,KAAK,EAAE;EACd;EACAC,KAAKA,CAACW,CAAI;IACR,IAAI,CAACoI,IAAI,CAACpL,KAAK,GAAGgD,CAAC;IACnB,IAAI,CAACoI,IAAI,CAAC5G,IAAI,GAAG;MACfxE,KAAK,EAAEpC,WAAW;MAClB4G,IAAI,EAAE;KACP;IACD,IAAI,CAAC4G,IAAI,GAAG,IAAI,CAACA,IAAI,CAAC5G,IAAI;IAC1B,IAAI,IAAI,CAAC9F,IAAI,KAAK,IAAI,CAACE,QAAQ,EAAE;MAC/B,IAAI,CAACuM,IAAI,GAAG,IAAI,CAACA,IAAI,CAAC3G,IAAK;IAC7B,CAAC,MAAM;MACL,IAAI,CAAC9F,IAAI,IAAI,CAAC;IAChB;EACF;EACA4D,QAAQA,CAAC2E,EAAe;IACtB,KAAK,MAAMjE,CAAC,IAAIiE,EAAE,EAAE;MAClB,IAAI,CAAC5E,KAAK,CAACW,CAAC,CAAC;IACf;EACF;;AAUF,MAAMd,gBAAgB;EAICmJ,MAAA;EAHrBF,IAAI;EACJ/I,KAAK;EACLkD,SAAS;EACTxD,YAAqBuJ,MAAuB;IAAvB,KAAAA,MAAM,GAANA,MAAM;IACzB,IAAI,CAACjJ,KAAK,GAAGiJ,MAAM,CAACjJ,KAAK;IACzB,IAAI,CAACkD,SAAS,GAAG+F,MAAM,CAAC3M,IAAI;IAC5B,IAAI,CAACyM,IAAI,GAAGE,MAAM,CAACF,IAAI;EACzB;EACAG,WAAWA,CAAA;IACT,OAAO,IAAI,CAAClJ,KAAK,GAAG,IAAI,CAACiJ,MAAM,CAACjJ,KAAK,EAAE;MACrC,IAAI,CAAC+I,IAAI,GAAG,IAAI,CAACA,IAAI,CAAC3G,IAAK;MAC3B,IAAI,CAACpC,KAAK,EAAE;IACd;EACF;EACAqE,IAAIA,CAAA;IACF,IAAI,IAAI,CAACnB,SAAS,KAAK,CAAC,EAAE;MACxB,OAAO5E,SAAS;IAClB,CAAC,MAAM,IAAI,IAAI,CAAC0B,KAAK,GAAG,IAAI,CAACiJ,MAAM,CAACjJ,KAAK,EAAE;MACzC,IAAI,CAACkJ,WAAW,EAAE;IACpB;IACA,IAAI,CAAChG,SAAS,EAAE;IAChB,MAAMtF,KAAK,GAAG,IAAI,CAACmL,IAAI,CAACnL,KAAK;IAC7B,IAAI,CAACmL,IAAI,GAAG,IAAI,CAACA,IAAI,CAAC3G,IAAK;IAC3B,OAAOxE,KAAU;EACnB;EACAqH,KAAKA,CAAC3E,CAAS;IACb,IAAI,IAAI,CAAC4C,SAAS,KAAK,CAAC,EAAE;MACxB,OAAOtI,KAAK,CAACuF,KAAK,EAAE;IACtB,CAAC,MAAM,IAAI,IAAI,CAACH,KAAK,GAAG,IAAI,CAACiJ,MAAM,CAACjJ,KAAK,EAAE;MACzC,IAAI,CAACkJ,WAAW,EAAE;IACpB;IACA,MAAMC,GAAG,GAAG/K,IAAI,CAACqC,GAAG,CAACH,CAAC,EAAE,IAAI,CAAC4C,SAAS,CAAC;IACvC,MAAMkG,KAAK,GAAG,IAAIzJ,KAAK,CAACwJ,GAAG,CAAC;IAC5B,KAAK,IAAIvG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGuG,GAAG,EAAEvG,CAAC,EAAE,EAAE;MAC5B,MAAMhF,KAAK,GAAG,IAAI,CAACmL,IAAI,CAACnL,KAAU;MAClC,IAAI,CAACmL,IAAI,GAAG,IAAI,CAACA,IAAI,CAAC3G,IAAK;MAC3BgH,KAAK,CAACxG,CAAC,CAAC,GAAGhF,KAAK;IAClB;IACA,IAAI,CAACsF,SAAS,IAAIiG,GAAG;IACrB,OAAOvO,KAAK,CAACyO,eAAe,CAACD,KAAK,CAAC;EACrC;EACAxE,OAAOA,CAAA;IACL,OAAO,IAAI,CAACK,KAAK,CAAC,IAAI,CAAC/B,SAAS,CAAC;EACnC;;AAGF,MAAMnD,iBAAiB,GAAwB;EAC7CmD,SAAS,EAAE,CAAC;EACZmB,IAAI,EAAEA,CAAA,KAAM/F,SAAS;EACrB2G,KAAK,EAAEA,CAAA,KAAMrK,KAAK,CAACuF,KAAK,EAAE;EAC1ByE,OAAO,EAAEA,CAAA,KAAMhK,KAAK,CAACuF,KAAK;CAC3B","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as Chunk from "../Chunk.js";
|
|
2
2
|
import * as Context from "../Context.js";
|
|
3
3
|
import { pipe } from "../Function.js";
|
|
4
|
+
import * as Hash from "../Hash.js";
|
|
4
5
|
import * as PCGRandom from "../Utils.js";
|
|
5
6
|
import * as core from "./core.js";
|
|
6
7
|
/** @internal */
|
|
@@ -52,5 +53,5 @@ const swap = (buffer, index1, index2) => {
|
|
|
52
53
|
buffer[index2] = tmp;
|
|
53
54
|
return buffer;
|
|
54
55
|
};
|
|
55
|
-
export const make = seed => new RandomImpl(seed);
|
|
56
|
+
export const make = seed => new RandomImpl(Hash.hash(seed));
|
|
56
57
|
//# sourceMappingURL=random.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random.js","names":["Chunk","Context","pipe","PCGRandom","core","RandomSymbolKey","RandomTypeId","Symbol","for","randomTag","GenericTag","RandomImpl","seed","PRNG","constructor","next","sync","number","nextBoolean","map","n","nextInt","integer","Number","MAX_SAFE_INTEGER","nextRange","min","max","nextIntBetween","shuffle","elements","shuffleWith","nextIntBounded","suspend","Array","from","flatMap","buffer","numbers","i","length","push","forEachSequentialDiscard","k","swap","as","fromIterable","index1","index2","tmp","make"],"sources":["../../../src/internal/random.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,aAAa;AACpC,OAAO,KAAKC,OAAO,MAAM,eAAe;AAExC,SAASC,IAAI,QAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"file":"random.js","names":["Chunk","Context","pipe","Hash","PCGRandom","core","RandomSymbolKey","RandomTypeId","Symbol","for","randomTag","GenericTag","RandomImpl","seed","PRNG","constructor","next","sync","number","nextBoolean","map","n","nextInt","integer","Number","MAX_SAFE_INTEGER","nextRange","min","max","nextIntBetween","shuffle","elements","shuffleWith","nextIntBounded","suspend","Array","from","flatMap","buffer","numbers","i","length","push","forEachSequentialDiscard","k","swap","as","fromIterable","index1","index2","tmp","make","hash"],"sources":["../../../src/internal/random.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import * as Context from "../Context.js";
|
|
2
|
+
import * as Duration from "../Duration.js";
|
|
3
|
+
import { dual, identity } from "../Function.js";
|
|
4
|
+
import * as MutableHashMap from "../MutableHashMap.js";
|
|
5
|
+
import { pipeArguments } from "../Pipeable.js";
|
|
6
|
+
import * as coreEffect from "./core-effect.js";
|
|
7
|
+
import * as core from "./core.js";
|
|
8
|
+
import * as circular from "./effect/circular.js";
|
|
9
|
+
import * as fiberRuntime from "./fiberRuntime.js";
|
|
10
|
+
/** @internal */
|
|
11
|
+
export const TypeId = /*#__PURE__*/Symbol.for("effect/RcMap");
|
|
12
|
+
const variance = {
|
|
13
|
+
_K: identity,
|
|
14
|
+
_A: identity,
|
|
15
|
+
_E: identity
|
|
16
|
+
};
|
|
17
|
+
class RcMapImpl {
|
|
18
|
+
lookup;
|
|
19
|
+
context;
|
|
20
|
+
scope;
|
|
21
|
+
idleTimeToLive;
|
|
22
|
+
capacity;
|
|
23
|
+
[TypeId];
|
|
24
|
+
state = {
|
|
25
|
+
_tag: "Open",
|
|
26
|
+
map: MutableHashMap.empty()
|
|
27
|
+
};
|
|
28
|
+
semaphore = circular.unsafeMakeSemaphore(1);
|
|
29
|
+
constructor(lookup, context, scope, idleTimeToLive, capacity) {
|
|
30
|
+
this.lookup = lookup;
|
|
31
|
+
this.context = context;
|
|
32
|
+
this.scope = scope;
|
|
33
|
+
this.idleTimeToLive = idleTimeToLive;
|
|
34
|
+
this.capacity = capacity;
|
|
35
|
+
this[TypeId] = variance;
|
|
36
|
+
}
|
|
37
|
+
pipe() {
|
|
38
|
+
return pipeArguments(this, arguments);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** @internal */
|
|
42
|
+
export const make = options => core.withFiberRuntime(fiber => {
|
|
43
|
+
const context = fiber.getFiberRef(core.currentContext);
|
|
44
|
+
const scope = Context.get(context, fiberRuntime.scopeTag);
|
|
45
|
+
const self = new RcMapImpl(options.lookup, context, scope, options.idleTimeToLive ? Duration.decode(options.idleTimeToLive) : undefined, Math.max(options.capacity ?? Number.POSITIVE_INFINITY, 0));
|
|
46
|
+
return core.as(scope.addFinalizer(() => core.suspend(() => {
|
|
47
|
+
if (self.state._tag === "Closed") {
|
|
48
|
+
return core.void;
|
|
49
|
+
}
|
|
50
|
+
const map = self.state.map;
|
|
51
|
+
self.state = {
|
|
52
|
+
_tag: "Closed"
|
|
53
|
+
};
|
|
54
|
+
return core.forEachSequentialDiscard(map, ([, entry]) => core.scopeClose(entry.scope, core.exitVoid)).pipe(core.tap(() => {
|
|
55
|
+
MutableHashMap.clear(map);
|
|
56
|
+
}), self.semaphore.withPermits(1));
|
|
57
|
+
})), self);
|
|
58
|
+
});
|
|
59
|
+
/** @internal */
|
|
60
|
+
export const get = /*#__PURE__*/dual(2, (self_, key) => {
|
|
61
|
+
const self = self_;
|
|
62
|
+
return core.uninterruptibleMask(restore => core.suspend(() => {
|
|
63
|
+
if (self.state._tag === "Closed") {
|
|
64
|
+
return core.interrupt;
|
|
65
|
+
}
|
|
66
|
+
const state = self.state;
|
|
67
|
+
const o = MutableHashMap.get(state.map, key);
|
|
68
|
+
if (o._tag === "Some") {
|
|
69
|
+
const entry = o.value;
|
|
70
|
+
entry.refCount++;
|
|
71
|
+
return entry.fiber ? core.as(core.interruptFiber(entry.fiber), entry) : core.succeed(entry);
|
|
72
|
+
} else if (Number.isFinite(self.capacity) && MutableHashMap.size(self.state.map) >= self.capacity) {
|
|
73
|
+
return core.fail(new core.ExceededCapacityException(`RcMap attempted to exceed capacity of ${self.capacity}`));
|
|
74
|
+
}
|
|
75
|
+
const acquire = self.lookup(key);
|
|
76
|
+
return fiberRuntime.scopeMake().pipe(coreEffect.bindTo("scope"), coreEffect.bind("deferred", () => core.deferredMake()), core.tap(({
|
|
77
|
+
deferred,
|
|
78
|
+
scope
|
|
79
|
+
}) => restore(core.fiberRefLocally(acquire, core.currentContext, Context.add(self.context, fiberRuntime.scopeTag, scope))).pipe(core.exit, core.flatMap(exit => core.deferredDone(deferred, exit)), circular.forkIn(scope))), core.map(({
|
|
80
|
+
deferred,
|
|
81
|
+
scope
|
|
82
|
+
}) => {
|
|
83
|
+
const entry = {
|
|
84
|
+
deferred,
|
|
85
|
+
scope,
|
|
86
|
+
fiber: undefined,
|
|
87
|
+
refCount: 1
|
|
88
|
+
};
|
|
89
|
+
MutableHashMap.set(state.map, key, entry);
|
|
90
|
+
return entry;
|
|
91
|
+
}));
|
|
92
|
+
}).pipe(self.semaphore.withPermits(1), coreEffect.bindTo("entry"), coreEffect.bind("scope", () => fiberRuntime.scopeTag), core.tap(({
|
|
93
|
+
entry,
|
|
94
|
+
scope
|
|
95
|
+
}) => scope.addFinalizer(() => core.suspend(() => {
|
|
96
|
+
entry.refCount--;
|
|
97
|
+
if (entry.refCount > 0) {
|
|
98
|
+
return core.void;
|
|
99
|
+
} else if (self.idleTimeToLive === undefined) {
|
|
100
|
+
if (self.state._tag === "Open") {
|
|
101
|
+
MutableHashMap.remove(self.state.map, key);
|
|
102
|
+
}
|
|
103
|
+
return core.scopeClose(entry.scope, core.exitVoid);
|
|
104
|
+
}
|
|
105
|
+
return coreEffect.sleep(self.idleTimeToLive).pipe(core.interruptible, core.zipRight(core.suspend(() => {
|
|
106
|
+
if (self.state._tag === "Open" && entry.refCount === 0) {
|
|
107
|
+
MutableHashMap.remove(self.state.map, key);
|
|
108
|
+
return core.scopeClose(entry.scope, core.exitVoid);
|
|
109
|
+
}
|
|
110
|
+
return core.void;
|
|
111
|
+
})), fiberRuntime.ensuring(core.sync(() => {
|
|
112
|
+
entry.fiber = undefined;
|
|
113
|
+
})), circular.forkIn(self.scope), core.tap(fiber => {
|
|
114
|
+
entry.fiber = fiber;
|
|
115
|
+
}), self.semaphore.withPermits(1));
|
|
116
|
+
}))), core.flatMap(({
|
|
117
|
+
entry
|
|
118
|
+
}) => restore(core.deferredAwait(entry.deferred)))));
|
|
119
|
+
});
|
|
120
|
+
//# sourceMappingURL=rcMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rcMap.js","names":["Context","Duration","dual","identity","MutableHashMap","pipeArguments","coreEffect","core","circular","fiberRuntime","TypeId","Symbol","for","variance","_K","_A","_E","RcMapImpl","lookup","context","scope","idleTimeToLive","capacity","state","_tag","map","empty","semaphore","unsafeMakeSemaphore","constructor","pipe","arguments","make","options","withFiberRuntime","fiber","getFiberRef","currentContext","get","scopeTag","self","decode","undefined","Math","max","Number","POSITIVE_INFINITY","as","addFinalizer","suspend","void","forEachSequentialDiscard","entry","scopeClose","exitVoid","tap","clear","withPermits","self_","key","uninterruptibleMask","restore","interrupt","o","value","refCount","interruptFiber","succeed","isFinite","size","fail","ExceededCapacityException","acquire","scopeMake","bindTo","bind","deferredMake","deferred","fiberRefLocally","add","exit","flatMap","deferredDone","forkIn","set","remove","sleep","interruptible","zipRight","ensuring","sync","deferredAwait"],"sources":["../../../src/internal/rcMap.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import * as Context from "../Context.js";
|
|
2
|
+
import * as Duration from "../Duration.js";
|
|
3
|
+
import { identity } from "../Function.js";
|
|
4
|
+
import { pipeArguments } from "../Pipeable.js";
|
|
5
|
+
import * as coreEffect from "./core-effect.js";
|
|
6
|
+
import * as core from "./core.js";
|
|
7
|
+
import * as circular from "./effect/circular.js";
|
|
8
|
+
import * as fiberRuntime from "./fiberRuntime.js";
|
|
9
|
+
/** @internal */
|
|
10
|
+
export const TypeId = /*#__PURE__*/Symbol.for("effect/RcRef");
|
|
11
|
+
const stateEmpty = {
|
|
12
|
+
_tag: "Empty"
|
|
13
|
+
};
|
|
14
|
+
const stateClosed = {
|
|
15
|
+
_tag: "Closed"
|
|
16
|
+
};
|
|
17
|
+
const variance = {
|
|
18
|
+
_A: identity,
|
|
19
|
+
_E: identity
|
|
20
|
+
};
|
|
21
|
+
class RcRefImpl {
|
|
22
|
+
acquire;
|
|
23
|
+
context;
|
|
24
|
+
scope;
|
|
25
|
+
idleTimeToLive;
|
|
26
|
+
[TypeId];
|
|
27
|
+
state = stateEmpty;
|
|
28
|
+
semaphore = circular.unsafeMakeSemaphore(1);
|
|
29
|
+
constructor(acquire, context, scope, idleTimeToLive) {
|
|
30
|
+
this.acquire = acquire;
|
|
31
|
+
this.context = context;
|
|
32
|
+
this.scope = scope;
|
|
33
|
+
this.idleTimeToLive = idleTimeToLive;
|
|
34
|
+
this[TypeId] = variance;
|
|
35
|
+
}
|
|
36
|
+
pipe() {
|
|
37
|
+
return pipeArguments(this, arguments);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/** @internal */
|
|
41
|
+
export const make = options => core.withFiberRuntime(fiber => {
|
|
42
|
+
const context = fiber.getFiberRef(core.currentContext);
|
|
43
|
+
const scope = Context.get(context, fiberRuntime.scopeTag);
|
|
44
|
+
const ref = new RcRefImpl(options.acquire, context, scope, options.idleTimeToLive ? Duration.decode(options.idleTimeToLive) : undefined);
|
|
45
|
+
return core.as(scope.addFinalizer(() => ref.semaphore.withPermits(1)(core.suspend(() => {
|
|
46
|
+
const close = ref.state._tag === "Acquired" ? core.scopeClose(ref.state.scope, core.exitVoid) : core.void;
|
|
47
|
+
ref.state = stateClosed;
|
|
48
|
+
return close;
|
|
49
|
+
}))), ref);
|
|
50
|
+
});
|
|
51
|
+
/** @internal */
|
|
52
|
+
export const get = self_ => {
|
|
53
|
+
const self = self_;
|
|
54
|
+
return core.uninterruptibleMask(restore => core.suspend(() => {
|
|
55
|
+
switch (self.state._tag) {
|
|
56
|
+
case "Closed":
|
|
57
|
+
{
|
|
58
|
+
return core.interrupt;
|
|
59
|
+
}
|
|
60
|
+
case "Acquired":
|
|
61
|
+
{
|
|
62
|
+
self.state.refCount++;
|
|
63
|
+
return self.state.fiber ? core.as(core.interruptFiber(self.state.fiber), self.state) : core.succeed(self.state);
|
|
64
|
+
}
|
|
65
|
+
case "Empty":
|
|
66
|
+
{
|
|
67
|
+
return fiberRuntime.scopeMake().pipe(coreEffect.bindTo("scope"), coreEffect.bind("value", ({
|
|
68
|
+
scope
|
|
69
|
+
}) => restore(core.fiberRefLocally(self.acquire, core.currentContext, Context.add(self.context, fiberRuntime.scopeTag, scope)))), core.map(({
|
|
70
|
+
scope,
|
|
71
|
+
value
|
|
72
|
+
}) => {
|
|
73
|
+
const state = {
|
|
74
|
+
_tag: "Acquired",
|
|
75
|
+
value,
|
|
76
|
+
scope,
|
|
77
|
+
fiber: undefined,
|
|
78
|
+
refCount: 1
|
|
79
|
+
};
|
|
80
|
+
self.state = state;
|
|
81
|
+
return state;
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
})).pipe(self.semaphore.withPermits(1), coreEffect.bindTo("state"), coreEffect.bind("scope", () => fiberRuntime.scopeTag), core.tap(({
|
|
86
|
+
scope,
|
|
87
|
+
state
|
|
88
|
+
}) => scope.addFinalizer(() => core.suspend(() => {
|
|
89
|
+
state.refCount--;
|
|
90
|
+
if (state.refCount > 0) {
|
|
91
|
+
return core.void;
|
|
92
|
+
}
|
|
93
|
+
if (self.idleTimeToLive === undefined) {
|
|
94
|
+
self.state = stateEmpty;
|
|
95
|
+
return core.scopeClose(state.scope, core.exitVoid);
|
|
96
|
+
}
|
|
97
|
+
return coreEffect.sleep(self.idleTimeToLive).pipe(core.interruptible, core.zipRight(core.suspend(() => {
|
|
98
|
+
if (self.state._tag === "Acquired" && self.state.refCount === 0) {
|
|
99
|
+
self.state = stateEmpty;
|
|
100
|
+
return core.scopeClose(state.scope, core.exitVoid);
|
|
101
|
+
}
|
|
102
|
+
return core.void;
|
|
103
|
+
})), fiberRuntime.ensuring(core.sync(() => {
|
|
104
|
+
state.fiber = undefined;
|
|
105
|
+
})), circular.forkIn(self.scope), core.tap(fiber => {
|
|
106
|
+
state.fiber = fiber;
|
|
107
|
+
}), self.semaphore.withPermits(1));
|
|
108
|
+
}))), core.map(({
|
|
109
|
+
state
|
|
110
|
+
}) => state.value));
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=rcRef.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rcRef.js","names":["Context","Duration","identity","pipeArguments","coreEffect","core","circular","fiberRuntime","TypeId","Symbol","for","stateEmpty","_tag","stateClosed","variance","_A","_E","RcRefImpl","acquire","context","scope","idleTimeToLive","state","semaphore","unsafeMakeSemaphore","constructor","pipe","arguments","make","options","withFiberRuntime","fiber","getFiberRef","currentContext","get","scopeTag","ref","decode","undefined","as","addFinalizer","withPermits","suspend","close","scopeClose","exitVoid","void","self_","self","uninterruptibleMask","restore","interrupt","refCount","interruptFiber","succeed","scopeMake","bindTo","bind","fiberRefLocally","add","map","value","tap","sleep","interruptible","zipRight","ensuring","sync","forkIn"],"sources":["../../../src/internal/rcRef.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|