callskit
Version:
A toolkit for building call experience using Cloudflare Realtime
1 lines • 80.3 kB
Source Map (JSON)
{"version":3,"sources":["../src/utils/events-handler.ts","../src/utils/logger.ts","../src/lib/call-context.ts","../src/lib/call-chat/call-chat.ts","../src/utils/tracks.ts","../src/lib/call-participant/call-participant.ts","../src/lib/call-participant-map/call-participant-map.ts","../src/lib/participants-controller/participants-controller.ts","../src/lib/call-self/call-self.ts","../src/lib/call-socket.ts","../src/lib/call-self/call-self-data.ts","../src/lib/call-client/call-client.ts","../src/index.ts"],"names":["invariant","Observable","_ctx","BehaviorSubject","filter","switchMap","of","_micEnabled","_micTrack","_cameraEnabled","_cameraTrack","_screenshareEnabled","_screenshareVideoTrack","_screenshareAudioTrack","getMic","getCamera","devices$","getScreenshare","PartySocket","setLogLevel","_logger","PartyTracks"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,aAAA,EAAA,gBAAA;AAOO,IAAM,gBAAN,MAAsE;AAAA,EAI5E,WAAc,GAAA;AAHd,IAAA,YAAA,CAAA,IAAA,EAAA,aAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,gBAAA,CAAA;AAGC,IAAK,YAAA,CAAA,IAAA,EAAA,aAAA,sBAAoB,GAAI,EAAA,CAAA;AAC7B,IAAK,YAAA,CAAA,IAAA,EAAA,gBAAA,sBAAuB,GAAI,EAAA,CAAA;AAAA;AACjC,EAEA,IAAA,CACC,UACG,IACF,EAAA;AAnBH,IAAA,IAAA,EAAA;AAoBE,IAAK,CAAA,EAAA,GAAA,YAAA,CAAA,IAAA,EAAA,aAAA,CAAA,CAAc,GAAI,CAAA,KAAK,CAA5B,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAA+B,QAAQ,CAAC,QAAA,KAAa,QAAS,CAAA,GAAG,IAAI,CAAA,CAAA;AACrE,IAAK,YAAA,CAAA,IAAA,EAAA,gBAAA,CAAA,CAAiB,QAAQ,CAAC,QAAA,KAAa,SAAS,KAAO,EAAA,GAAG,IAAI,CAAC,CAAA;AAAA;AACrE,EAEA,gBAAA,CACC,OACA,QACC,EAAA;AACD,IAAA,IAAI,CAAC,YAAA,CAAA,IAAA,EAAK,aAAc,CAAA,CAAA,GAAA,CAAI,KAAK,CAAG,EAAA;AACnC,MAAA,YAAA,CAAA,IAAA,EAAK,aAAc,CAAA,CAAA,GAAA,CAAI,KAAO,kBAAA,IAAI,KAAK,CAAA;AAAA;AAExC,IAAA,YAAA,CAAA,IAAA,EAAK,aAAc,CAAA,CAAA,GAAA,CAAI,KAAK,CAAA,CAAG,IAAI,QAAQ,CAAA;AAAA;AAC5C,EAEA,mBAAA,CACC,OACA,QACC,EAAA;AArCH,IAAA,IAAA,EAAA;AAsCE,IAAA,CAAA,EAAA,GAAA,YAAA,CAAA,IAAA,EAAK,aAAc,CAAA,CAAA,GAAA,CAAI,KAAK,CAAA,KAA5B,mBAA+B,MAAO,CAAA,QAAA,CAAA;AAAA;AACvC,EAEA,SAAA,CACC,OACA,QACC,EAAA;AACD,IAAK,IAAA,CAAA,gBAAA,CAAiB,OAAO,QAAQ,CAAA;AACrC,IAAA,OAAO,MAAM,IAAA,CAAK,mBAAoB,CAAA,KAAA,EAAO,QAAQ,CAAA;AAAA;AACtD,EAEA,aACC,QACC,EAAA;AACD,IAAK,YAAA,CAAA,IAAA,EAAA,gBAAA,CAAA,CAAiB,IAAI,QAAQ,CAAA;AAClC,IAAA,OAAO,MAAM;AACZ,MAAK,YAAA,CAAA,IAAA,EAAA,gBAAA,CAAA,CAAiB,OAAO,QAAQ,CAAA;AAAA,KACtC;AAAA;AACD,EAEA,eAA2C,QAAyB,EAAA;AACnE,IAAK,YAAA,CAAA,IAAA,EAAA,gBAAA,CAAA,CAAiB,OAAO,QAAQ,CAAA;AAAA;AACtC,EAEA,IAAA,CACC,OACA,QACa,EAAA;AACb,IAAM,MAAA,OAAA,GAAU,IAAI,IAAoC,KAAA;AACvD,MAAK,IAAA,CAAA,mBAAA,CAAoB,OAAO,OAAwB,CAAA;AACxD,MAAA,QAAA,CAAS,GAAG,IAAI,CAAA;AAAA,KACjB;AAEA,IAAK,IAAA,CAAA,gBAAA,CAAiB,OAAO,OAAwB,CAAA;AAErD,IAAA,OAAO,MAAM;AACZ,MAAK,IAAA,CAAA,mBAAA,CAAoB,OAAO,OAAwB,CAAA;AAAA,KACzD;AAAA;AACD,EAEA,QAAW,GAAA;AACV,IAAA,YAAA,CAAA,IAAA,EAAK,eAAc,KAAM,EAAA;AACzB,IAAA,YAAA,CAAA,IAAA,EAAK,kBAAiB,KAAM,EAAA;AAAA;AAE9B,CAAA;AA1EC,aAAA,GAAA,IAAA,OAAA,EAAA;AACA,gBAAA,GAAA,IAAA,OAAA,EAAA;;;ACDM,IAAM,OAAA,GAAN,MAAM,OAAO,CAAA;AAAA,EAYnB,WAAA,CAAY,OAAyB,GAAA,EAAI,EAAA;AApB1C,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAqBE,IAAK,IAAA,CAAA,KAAA,GAAA,CAAQ,EAAQ,GAAA,OAAA,CAAA,KAAA,KAAR,IAAiB,GAAA,EAAA,GAAA,MAAA;AAC9B,IAAK,IAAA,CAAA,MAAA,GAAA,CAAS,EAAQ,GAAA,OAAA,CAAA,MAAA,KAAR,IAAkB,GAAA,EAAA,GAAA,EAAA;AAChC,IAAK,IAAA,CAAA,OAAA,GAAA,CAAU,EAAQ,GAAA,OAAA,CAAA,OAAA,KAAR,IAAmB,GAAA,EAAA,GAAA,IAAA;AAAA;AACnC,EAEQ,UAAU,KAA0B,EAAA;AAC3C,IAAO,OAAA,IAAA,CAAK,WAAW,OAAO,CAAA,MAAA,CAAO,KAAK,CAAK,IAAA,OAAA,CAAO,MAAO,CAAA,IAAA,CAAK,KAAK,CAAA;AAAA;AACxE,EAEQ,aAAA,CAAc,OAAiB,IAAoB,EAAA;AAE1D,IAAA,MAAM,SAAS,IAAK,CAAA,MAAA,GAAS,CAAI,CAAA,EAAA,IAAA,CAAK,MAAM,CAAM,CAAA,CAAA,GAAA,EAAA;AAElD,IAAO,OAAA,CAAC,MAAQ,EAAA,GAAG,IAAI,CAAA;AAAA;AAExB,EAEA,SAAS,IAAa,EAAA;AACrB,IAAI,IAAA,IAAA,CAAK,SAAU,CAAA,OAAO,CAAG,EAAA;AAC5B,MAAA,OAAA,CAAQ,MAAM,GAAG,IAAA,CAAK,aAAc,CAAA,OAAA,EAAS,IAAI,CAAC,CAAA;AAAA;AACnD;AACD,EAEA,QAAQ,IAAa,EAAA;AACpB,IAAI,IAAA,IAAA,CAAK,SAAU,CAAA,MAAM,CAAG,EAAA;AAC3B,MAAA,OAAA,CAAQ,KAAK,GAAG,IAAA,CAAK,aAAc,CAAA,MAAA,EAAQ,IAAI,CAAC,CAAA;AAAA;AACjD;AACD,EAEA,QAAQ,IAAa,EAAA;AACpB,IAAI,IAAA,IAAA,CAAK,SAAU,CAAA,MAAM,CAAG,EAAA;AAC3B,MAAA,OAAA,CAAQ,KAAK,GAAG,IAAA,CAAK,aAAc,CAAA,MAAA,EAAQ,IAAI,CAAC,CAAA;AAAA;AACjD;AACD,EAEA,SAAS,IAAa,EAAA;AACrB,IAAI,IAAA,IAAA,CAAK,SAAU,CAAA,OAAO,CAAG,EAAA;AAC5B,MAAA,OAAA,CAAQ,MAAM,GAAG,IAAA,CAAK,aAAc,CAAA,OAAA,EAAS,IAAI,CAAC,CAAA;AAAA;AACnD;AACD,EAEA,SAAS,KAAiB,EAAA;AACzB,IAAA,IAAA,CAAK,KAAQ,GAAA,KAAA;AAAA;AACd,EAEA,MAAS,GAAA;AACR,IAAA,IAAA,CAAK,OAAU,GAAA,IAAA;AAAA;AAChB,EAEA,OAAU,GAAA;AACT,IAAA,IAAA,CAAK,OAAU,GAAA,KAAA;AAAA;AAEjB,CAAA;AAjEa,OAAA,CAKG,MAAmC,GAAA;AAAA,EACjD,KAAO,EAAA,CAAA;AAAA,EACP,IAAM,EAAA,CAAA;AAAA,EACN,IAAM,EAAA,CAAA;AAAA,EACN,KAAO,EAAA;AACR,CAAA;AAVM,IAAM,MAAN,GAAA,OAAA;ACUP,IAAM,eAA8B,EAAC;AAE9B,SAAS,cAAA,CAAkB,SAAsB,EAAgB,EAAA;AACvE,EAAA,YAAA,CAAa,KAAK,OAAO,CAAA;AACzB,EAAI,IAAA;AACH,IAAA,OAAO,EAAG,EAAA;AAAA,GACT,SAAA;AACD,IAAA,YAAA,CAAa,GAAI,EAAA;AAAA;AAEnB;AAEO,SAAS,qBAAqC,GAAA;AACpD,EAAA,MAAM,GAAM,GAAA,YAAA,CAAa,YAAa,CAAA,MAAA,GAAS,CAAC,CAAA;AAChD,EAAAA,0BAAA,CAAU,KAAK,uBAAuB,CAAA;AACtC,EAAO,OAAA,GAAA;AACR;;;ACjCA,IAAA,IAAA,EAAA,mBAAA,EAAA,cAAA;AA6BO,IAAM,QAAA,GAAN,cAAuB,aAA8B,CAAA;AAAA,EAK3D,WAAc,GAAA;AACb,IAAM,KAAA,EAAA;AAND,IAAA,YAAA,CAAA,IAAA,EAAA,mBAAA,CAAA;AACN,IAAA,IAAA,CAAA,QAAA,GAA0B,EAAC;AAE3B,IAAA,YAAA,CAAA,IAAA,EAAA,IAAA,CAAA;AAIC,IAAA,YAAA,CAAA,IAAA,EAAK,MAAO,qBAAsB,EAAA,CAAA;AAAA;AACnC,EAEA,gBAAgB,OAAiB,EAAA;AAChC,IAAK,eAAA,CAAA,IAAA,EAAA,mBAAA,EAAA,cAAA,CAAA,CAAL,WAAkB,EAAE,IAAA,EAAM,QAAQ,OAAS,EAAA,OAAA,CAAQ,MAAO,EAAA,CAAA;AAAA;AAC3D,EAMA,WAAW,OAAsB,EAAA;AAChC,IAAM,MAAA,aAAA,GAAgB,iCAClB,OADkB,CAAA,EAAA;AAAA,MAErB,UAAY,EAAA,IAAI,IAAK,CAAA,OAAA,CAAQ,UAAU;AAAA,KACxC,CAAA;AACA,IAAA,IAAA,CAAK,QAAW,GAAA,CAAC,GAAG,IAAA,CAAK,UAAU,aAAa,CAAA;AAChD,IAAK,IAAA,CAAA,IAAA,CAAK,WAAW,aAAa,CAAA;AAAA;AACnC,EAEA,kBAAkB,QAAyB,EAAA;AAC1C,IAAA,MAAM,SAAS,QAAS,CAAA,GAAA,CAAI,CAAC,OAAA,KAAa,iCACtC,OADsC,CAAA,EAAA;AAAA,MAEzC,UAAY,EAAA,IAAI,IAAK,CAAA,OAAA,CAAQ,UAAU;AAAA,KACtC,CAAA,CAAA;AACF,IAAA,IAAA,CAAK,WAAW,CAAC,GAAG,IAAK,CAAA,QAAA,EAAU,GAAG,MAAM,CAAA;AAC5C,IAAK,IAAA,CAAA,IAAA,CAAK,UAAU,MAAM,CAAA;AAAA;AAE5B,CAAA;AAhCC,IAAA,GAAA,IAAA,OAAA,EAAA;AAHM,mBAAA,GAAA,IAAA,OAAA,EAAA;AAcN,cAAA,GAAY,SAAC,OAA6B,EAAA;AACzC,EAAA,YAAA,CAAA,IAAA,EAAK,MAAK,MAAO,CAAA,UAAA,CAAW,EAAE,MAAQ,EAAA,cAAA,EAAgB,SAAS,CAAA;AAChE,CAAA;ACzCsC,IAAIC,eAAA;AAAA,EAC1C,CAAC,UAAe,KAAA;AACf,IAAM,MAAA,MAAA,GAAS,QAAS,CAAA,aAAA,CAAc,QAAQ,CAAA;AAC9C,IAAA,MAAA,CAAO,MAAS,GAAA,GAAA;AAChB,IAAA,MAAA,CAAO,KAAQ,GAAA,IAAA;AACf,IAAM,MAAA,GAAA,GAAM,MAAO,CAAA,UAAA,CAAW,IAAI,CAAA;AAClC,IAAAD,2BAAU,GAAG,CAAA;AACb,IAAA,GAAA,CAAI,SAAY,GAAA,OAAA;AAChB,IAAA,GAAA,CAAI,SAAS,CAAG,EAAA,CAAA,EAAG,MAAO,CAAA,KAAA,EAAO,OAAO,MAAM,CAAA;AAG9C,IAAM,MAAA,QAAA,GAAW,YAAY,MAAM;AAClC,MAAA,GAAA,CAAI,SAAY,GAAA,OAAA;AAChB,MAAA,GAAA,CAAI,SAAS,CAAG,EAAA,CAAA,EAAG,MAAO,CAAA,KAAA,EAAO,OAAO,MAAM,CAAA;AAAA,OAC5C,GAAI,CAAA;AACP,IAAA,UAAA,CAAW,KAAK,MAAO,CAAA,aAAA,GAAgB,cAAe,EAAA,CAAE,CAAC,CAAE,CAAA;AAC3D,IAAA,OAAO,MAAM;AACZ,MAAA,aAAA,CAAc,QAAQ,CAAA;AAAA,KACvB;AAAA;AAEF;AAmBO,SAAS,iBAAoB,GAAA;AACnC,EAAM,MAAA,YAAA,GAAe,IAAI,YAAa,EAAA;AACtC,EAAA,YAAA,CAAa,MAAO,EAAA;AAEpB,EAAM,MAAA,UAAA,GAAa,aAAa,gBAAiB,EAAA;AACjD,EAAA,UAAA,CAAW,IAAO,GAAA,UAAA;AAElB,EAAA,UAAA,CAAW,SAAU,CAAA,cAAA,CAAe,EAAI,EAAA,YAAA,CAAa,WAAW,CAAA;AAEhE,EAAM,MAAA,QAAA,GAAW,aAAa,UAAW,EAAA;AAEzC,EAAA,QAAA,CAAS,IAAK,CAAA,cAAA,CAAe,CAAG,EAAA,YAAA,CAAa,WAAW,CAAA;AAExD,EAAA,UAAA,CAAW,QAAQ,QAAQ,CAAA;AAE3B,EAAM,MAAA,WAAA,GAAc,aAAa,4BAA6B,EAAA;AAC9D,EAAA,QAAA,CAAS,QAAQ,WAAW,CAAA;AAE5B,EAAA,UAAA,CAAW,KAAM,EAAA;AAEjB,EAAA,MAAM,KAAQ,GAAA,WAAA,CAAY,MAAO,CAAA,cAAA,GAAiB,CAAC,CAAA;AACnD,EAAO,OAAA,EAAE,OAAO,YAAa,EAAA;AAC9B;AAEoC,IAAIC,eAAA;AAAA,EACvC,CAAC,UAAe,KAAA;AACf,IAAA,MAAM,EAAE,YAAA,EAAc,KAAM,EAAA,GAAI,iBAAkB,EAAA;AAClD,IAAA,UAAA,CAAW,KAAK,KAAK,CAAA;AACrB,IAAA,OAAO,MAAM;AACZ,MAAA,KAAA,CAAM,IAAK,EAAA;AACX,MAAA,YAAA,CAAa,KAAM,EAAA;AAAA,KACpB;AAAA;AAEF;AAEO,SAAS,cAAc,QAAyB,EAAA;AACtD,EAAA,OAAO,CAAG,EAAA,QAAA,CAAS,SAAS,CAAA,CAAA,EAAI,SAAS,SAAS,CAAA,CAAA;AACnD;AAEO,SAAS,aAAa,OAAiB,EAAA;AAC7C,EAAA,MAAM,CAAC,SAAW,EAAA,SAAS,CAAI,GAAA,OAAA,CAAQ,MAAM,GAAG,CAAA;AAChD,EAAO,OAAA,EAAE,WAAW,SAAU,EAAA;AAC/B;;;ACrFA,IAAAC,KAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,eAAA,EAAA,eAAA,EAAA,cAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,yBAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,sBAAA;AAuBO,IAAM,gBAAA,GAAN,MAAM,gBAAA,SAAwB,aAAqC,CAAA;AAAA,EA0BzE,YAAY,OAAiC,EAAA;AAC5C,IAAM,KAAA,EAAA;AAvBP,IAAAA,YAAAA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA;AAEA,IAAA,YAAA,CAAA,IAAA,EAAA,YAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,YAAA,CAAA;AAEA,IAAuB,YAAA,CAAA,IAAA,EAAA,WAAA,EAAA,KAAA,CAAA;AACvB,IAAA,YAAA,CAAA,IAAA,EAAA,SAAA,CAAA;AAEA,IAAA,YAAA,CAAA,IAAA,EAAA,eAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,eAAA,CAAA;AAEA,IAA0B,YAAA,CAAA,IAAA,EAAA,cAAA,EAAA,KAAA,CAAA;AAC1B,IAAA,YAAA,CAAA,IAAA,EAAA,YAAA,CAAA;AAEA,IAAiD,YAAA,CAAA,IAAA,EAAA,oBAAA,EAAA,IAAIC,qBAAgB,KAAK,CAAA,CAAA;AAC1E,IAAA,YAAA,CAAA,IAAA,EAAA,yBAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,yBAAA,CAAA;AAEA,IAA+B,YAAA,CAAA,IAAA,EAAA,mBAAA,EAAA,KAAA,CAAA;AAC/B,IAAA,YAAA,CAAA,IAAA,EAAA,sBAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,sBAAA,CAAA;AAIC,IAAA,IAAA,CAAK,KAAK,OAAQ,CAAA,EAAA;AAClB,IAAA,IAAA,CAAK,OAAO,OAAQ,CAAA,IAAA;AAEpB,IAAA,YAAA,CAAA,IAAA,EAAKD,OAAO,qBAAsB,EAAA,CAAA;AAElC,IAAA,YAAA,CAAA,IAAA,EAAK,cAAe,IAAIC,oBAAA;AAAA,MACvB,QAAQ,UAAc,IAAA;AAAA,KACvB,CAAA;AAEA,IAAA,YAAA,CAAA,IAAA,EAAK,cAAe,IAAIA,oBAAA;AAAA,MACvB,OAAA,CAAQ,UAAa,GAAA,OAAA,CAAQ,UAAa,GAAA;AAAA,KAC3C,CAAA;AAEA,IAAA,YAAA,CAAA,IAAA,EAAK,iBAAkB,IAAIA,oBAAA;AAAA,MAC1B,QAAQ,aAAiB,IAAA;AAAA,KAC1B,CAAA;AAEA,IAAA,YAAA,CAAA,IAAA,EAAK,iBAAkB,IAAIA,oBAAA;AAAA,MAC1B,OAAA,CAAQ,aAAgB,GAAA,OAAA,CAAQ,aAAgB,GAAA;AAAA,KACjD,CAAA;AAEA,IAAK,YAAA,CAAA,IAAA,EAAA,mBAAA,EAAsB,QAAQ,kBAAsB,IAAA,KAAA,CAAA;AAEzD,IAAA,YAAA,CAAA,IAAA,EAAK,2BAA4B,IAAIA,oBAAA;AAAA,MACpC,OAAA,CAAQ,kBAAqB,GAAA,OAAA,CAAQ,uBAA0B,GAAA;AAAA,KAChE,CAAA;AAEA,IAAA,YAAA,CAAA,IAAA,EAAK,2BAA4B,IAAIA,oBAAA;AAAA,MACpC,OAAA,CAAQ,kBAAqB,GAAA,OAAA,CAAQ,uBAA0B,GAAA;AAAA,KAChE,CAAA;AAEA,IAAK,YAAA,CAAA,IAAA,EAAA,YAAA,CAAA,CAAa,SAAU,CAAA,CAAC,OAAY,KAAA;AACxC,MAAA,IAAI,CAAC,OAAS,EAAA;AACb,QAAA,YAAA,CAAA,IAAA,EAAK,WAAc,EAAA,KAAA,CAAA;AACnB,QAAA,IAAA,CAAK,IAAK,CAAA,WAAA,EAAa,EAAE,UAAA,EAAY,OAAO,CAAA;AAC5C,QAAA,YAAA,CAAA,IAAA,EAAKD,OAAK,IAAK,CAAA,YAAA,CAAa,MAAO,CAAA,IAAA,CAAK,aAAa,IAAI,CAAA;AAAA,OAC1D,MAAA,IAAW,OAAW,IAAA,YAAA,CAAA,IAAA,EAAK,SAAW,CAAA,EAAA;AACrC,QAAA,YAAA,CAAA,IAAA,EAAK,WAAc,EAAA,IAAA,CAAA;AACnB,QAAA,IAAA,CAAK,KAAK,WAAa,EAAA;AAAA,UACtB,UAAY,EAAA,IAAA;AAAA,UACZ,UAAU,YAAK,CAAA,IAAA,EAAA,SAAA;AAAA,SACf,CAAA;AACD,QAAA,YAAA,CAAA,IAAA,EAAKA,OAAK,IAAK,CAAA,YAAA,CAAa,MAAO,CAAA,IAAA,CAAK,aAAa,IAAI,CAAA;AACzD,QAAA,YAAA,CAAA,IAAA,EAAKA,KAAK,CAAA,CAAA,IAAA,CAAK,YAAa,CAAA,IAAA,CAAK,aAAa,IAAI,CAAA;AAAA;AACnD,KACA,CAAA;AAED,IAAM,MAAA,YAAA,GAAe,mBAAK,YAAa,CAAA,CAAA,IAAA;AAAA,MACtCE,WAAO,CAAA,CAAC,EAAO,KAAA,OAAO,OAAO,QAAQ,CAAA;AAAA,MACrCC,cAAA,CAAU,CAAC,EAAO,KAAA;AACjB,QAAA,MAAM,EAAE,SAAA,EAAW,SAAU,EAAA,GAAI,aAAa,EAAE,CAAA;AAChD,QAAA,OAAOC,OAAG,CAAA;AAAA,UACT,SAAA;AAAA,UACA,SAAA;AAAA,UACA,QAAU,EAAA;AAAA,SACc,CAAA;AAAA,OACzB;AAAA,KACF;AAEA,IAAA,MAAM,SAAY,GAAA,YAAA,CAAA,IAAA,EAAKJ,KAAK,CAAA,CAAA,WAAA,CAAY,KAAK,YAAY,CAAA;AAEzD,IAAU,SAAA,CAAA,SAAA,CAAU,CAAC,KAAU,KAAA;AAC9B,MAAA,YAAA,CAAA,IAAA,EAAK,WAAc,EAAA,IAAA,CAAA;AACnB,MAAA,YAAA,CAAA,IAAA,EAAK,SAAY,EAAA,KAAA,CAAA;AACjB,MAAA,IAAA,CAAK,KAAK,WAAa,EAAA,EAAE,YAAY,IAAM,EAAA,QAAA,EAAU,OAAO,CAAA;AAC5D,MAAA,YAAA,CAAA,IAAA,EAAKA,OAAK,IAAK,CAAA,YAAA,CAAa,MAAO,CAAA,IAAA,CAAK,aAAa,IAAI,CAAA;AACzD,MAAA,YAAA,CAAA,IAAA,EAAKA,KAAK,CAAA,CAAA,IAAA,CAAK,YAAa,CAAA,IAAA,CAAK,aAAa,IAAI,CAAA;AAAA,KAClD,CAAA;AAED,IAAK,YAAA,CAAA,IAAA,EAAA,eAAA,CAAA,CAAgB,SAAU,CAAA,CAAC,OAAY,KAAA;AAC3C,MAAA,IAAI,CAAC,OAAS,EAAA;AACb,QAAA,YAAA,CAAA,IAAA,EAAK,cAAiB,EAAA,KAAA,CAAA;AACtB,QAAA,IAAA,CAAK,IAAK,CAAA,cAAA,EAAgB,EAAE,aAAA,EAAe,OAAO,CAAA;AAClD,QAAA,YAAA,CAAA,IAAA,EAAKA,OAAK,IAAK,CAAA,YAAA,CAAa,MAAO,CAAA,IAAA,CAAK,gBAAgB,IAAI,CAAA;AAC5D,QAAA,YAAA,CAAA,IAAA,EAAKA,KAAK,CAAA,CAAA,IAAA,CAAK,YAAa,CAAA,IAAA,CAAK,gBAAgB,IAAI,CAAA;AAAA,OACtD,MAAA,IAAW,OAAW,IAAA,YAAA,CAAA,IAAA,EAAK,YAAc,CAAA,EAAA;AACxC,QAAA,YAAA,CAAA,IAAA,EAAK,cAAiB,EAAA,IAAA,CAAA;AACtB,QAAA,IAAA,CAAK,KAAK,cAAgB,EAAA;AAAA,UACzB,aAAe,EAAA,IAAA;AAAA,UACf,aAAa,YAAK,CAAA,IAAA,EAAA,YAAA;AAAA,SAClB,CAAA;AACD,QAAA,YAAA,CAAA,IAAA,EAAKA,OAAK,IAAK,CAAA,YAAA,CAAa,MAAO,CAAA,IAAA,CAAK,gBAAgB,IAAI,CAAA;AAC5D,QAAA,YAAA,CAAA,IAAA,EAAKA,KAAK,CAAA,CAAA,IAAA,CAAK,YAAa,CAAA,IAAA,CAAK,gBAAgB,IAAI,CAAA;AAAA;AACtD,KACA,CAAA;AAED,IAAM,MAAA,eAAA,GAAkB,mBAAK,eAAgB,CAAA,CAAA,IAAA;AAAA,MAC5CE,WAAO,CAAA,CAAC,EAAO,KAAA,OAAO,OAAO,QAAQ,CAAA;AAAA,MACrCC,cAAA,CAAU,CAAC,EAAO,KAAA;AACjB,QAAA,MAAM,EAAE,SAAA,EAAW,SAAU,EAAA,GAAI,aAAa,EAAE,CAAA;AAChD,QAAA,OAAOC,OAAG,CAAA;AAAA,UACT,SAAA;AAAA,UACA,SAAA;AAAA,UACA,QAAU,EAAA;AAAA,SACc,CAAA;AAAA,OACzB;AAAA,KACF;AAEA,IAAA,MAAM,YAAe,GAAA,YAAA,CAAA,IAAA,EAAKJ,KAAK,CAAA,CAAA,WAAA,CAAY,KAAK,eAAiB,EAAA;AAAA,MAChE,SAAW,EAAA,EAAE,aAAe,EAAA,YAAA,CAAA,IAAA,EAAKA,OAAK,UAAW;AAAA,KACjD,CAAA;AAED,IAAa,YAAA,CAAA,SAAA,CAAU,CAAC,KAAU,KAAA;AACjC,MAAA,YAAA,CAAA,IAAA,EAAK,cAAiB,EAAA,IAAA,CAAA;AACtB,MAAA,YAAA,CAAA,IAAA,EAAK,YAAe,EAAA,KAAA,CAAA;AACpB,MAAA,IAAA,CAAK,KAAK,cAAgB,EAAA,EAAE,eAAe,IAAM,EAAA,WAAA,EAAa,OAAO,CAAA;AACrE,MAAA,YAAA,CAAA,IAAA,EAAKA,OAAK,IAAK,CAAA,YAAA,CAAa,MAAO,CAAA,IAAA,CAAK,gBAAgB,IAAI,CAAA;AAC5D,MAAA,YAAA,CAAA,IAAA,EAAKA,KAAK,CAAA,CAAA,IAAA,CAAK,YAAa,CAAA,IAAA,CAAK,gBAAgB,IAAI,CAAA;AAAA,KACrD,CAAA;AAED,IAAM,MAAA,yBAAA,GAA4B,mBAAK,yBAA0B,CAAA,CAAA,IAAA;AAAA,MAChEE,WAAO,CAAA,CAAC,EAAO,KAAA,OAAO,OAAO,QAAQ,CAAA;AAAA,MACrCC,cAAA,CAAU,CAAC,EAAO,KAAA;AACjB,QAAA,MAAM,EAAE,SAAA,EAAW,SAAU,EAAA,GAAI,aAAa,EAAE,CAAA;AAChD,QAAA,OAAOC,OAAG,CAAA;AAAA,UACT,SAAA;AAAA,UACA,SAAA;AAAA,UACA,QAAU,EAAA;AAAA,SACc,CAAA;AAAA,OACzB;AAAA,KACF;AAEA,IAAM,MAAA,sBAAA,GAAyB,YAAKJ,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,WAAY,CAAA,IAAA;AAAA,MACpD;AAAA,KACD;AAEA,IAAuB,sBAAA,CAAA,SAAA,CAAU,CAAC,KAAU,KAAA;AAC3C,MAAA,YAAA,CAAA,IAAA,EAAK,sBAAyB,EAAA,KAAA,CAAA;AAC9B,MAAA,IAAA,CAAK,KAAK,mBAAqB,EAAA;AAAA,QAC9B,kBAAoB,EAAA,IAAA;AAAA,QACpB,qBAAuB,EAAA,KAAA;AAAA,QACvB,uBAAuB,YAAK,CAAA,IAAA,EAAA,sBAAA;AAAA,OAC5B,CAAA;AACD,MAAA,YAAA,CAAA,IAAA,EAAKA,OAAK,IAAK,CAAA,YAAA,CAAa,MAAO,CAAA,IAAA,CAAK,qBAAqB,IAAI,CAAA;AACjE,MAAA,YAAA,CAAA,IAAA,EAAKA,KAAK,CAAA,CAAA,IAAA,CAAK,YAAa,CAAA,IAAA,CAAK,qBAAqB,IAAI,CAAA;AAAA,KAC1D,CAAA;AAED,IAAM,MAAA,yBAAA,GAA4B,mBAAK,yBAA0B,CAAA,CAAA,IAAA;AAAA,MAChEE,WAAO,CAAA,CAAC,EAAO,KAAA,OAAO,OAAO,QAAQ,CAAA;AAAA,MACrCC,cAAA,CAAU,CAAC,EAAO,KAAA;AACjB,QAAA,MAAM,EAAE,SAAA,EAAW,SAAU,EAAA,GAAI,aAAa,EAAE,CAAA;AAChD,QAAA,OAAOC,OAAG,CAAA;AAAA,UACT,SAAA;AAAA,UACA,SAAA;AAAA,UACA,QAAU,EAAA;AAAA,SACc,CAAA;AAAA,OACzB;AAAA,KACF;AAEA,IAAM,MAAA,sBAAA,GAAyB,YAAKJ,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,WAAY,CAAA,IAAA;AAAA,MACpD;AAAA,KACD;AAEA,IAAuB,sBAAA,CAAA,SAAA,CAAU,CAAC,KAAU,KAAA;AAC3C,MAAA,YAAA,CAAA,IAAA,EAAK,sBAAyB,EAAA,KAAA,CAAA;AAC9B,MAAA,IAAA,CAAK,KAAK,mBAAqB,EAAA;AAAA,QAC9B,kBAAoB,EAAA,IAAA;AAAA,QACpB,uBAAuB,YAAK,CAAA,IAAA,EAAA,sBAAA,CAAA;AAAA,QAC5B,qBAAuB,EAAA;AAAA,OACvB,CAAA;AACD,MAAA,YAAA,CAAA,IAAA,EAAKA,OAAK,IAAK,CAAA,YAAA,CAAa,MAAO,CAAA,IAAA,CAAK,qBAAqB,IAAI,CAAA;AACjE,MAAA,YAAA,CAAA,IAAA,EAAKA,KAAK,CAAA,CAAA,IAAA,CAAK,YAAa,CAAA,IAAA,CAAK,qBAAqB,IAAI,CAAA;AAAA,KAC1D,CAAA;AAAA;AACF,EAEA,eAAe,OAAuD,EAAA;AACrE,IAAA,YAAA,CAAA,IAAA,EAAKA,KAAK,CAAA,CAAA,MAAA,CAAO,KAAM,CAAA,+CAAA,EAAqC,OAAO,CAAA;AACnE,IAAI,IAAA,OAAA,CAAQ,UAAc,IAAA,OAAA,CAAQ,UAAY,EAAA;AAC7C,MAAK,YAAA,CAAA,IAAA,EAAA,YAAA,CAAA,CAAa,IAAK,CAAA,OAAA,CAAQ,UAAU,CAAA;AACzC,MAAK,YAAA,CAAA,IAAA,EAAA,YAAA,CAAA,CAAa,KAAK,IAAI,CAAA;AAAA,KACrB,MAAA;AACN,MAAK,YAAA,CAAA,IAAA,EAAA,YAAA,CAAA,CAAa,KAAK,KAAK,CAAA;AAAA;AAC7B;AACD,EAEA,kBAAkB,OAGf,EAAA;AACF,IAAA,YAAA,CAAA,IAAA,EAAKA,KAAK,CAAA,CAAA,MAAA,CAAO,KAAM,CAAA,4CAAA,EAAuC,OAAO,CAAA;AACrE,IAAI,IAAA,OAAA,CAAQ,aAAiB,IAAA,OAAA,CAAQ,aAAe,EAAA;AACnD,MAAK,YAAA,CAAA,IAAA,EAAA,eAAA,CAAA,CAAgB,IAAK,CAAA,OAAA,CAAQ,aAAa,CAAA;AAC/C,MAAK,YAAA,CAAA,IAAA,EAAA,eAAA,CAAA,CAAgB,KAAK,IAAI,CAAA;AAAA,KACxB,MAAA;AACN,MAAK,YAAA,CAAA,IAAA,EAAA,eAAA,CAAA,CAAgB,KAAK,KAAK,CAAA;AAAA;AAChC;AACD,EAEA,uBAAuB,OAIpB,EAAA;AACF,IAAA,YAAA,CAAA,IAAA,EAAKA,KAAK,CAAA,CAAA,MAAA,CAAO,KAAM,CAAA,uDAAA,EAA6C,OAAO,CAAA;AAC3E,IAAA,IAAI,QAAQ,kBAAoB,EAAA;AAC/B,MAAA,IAAI,QAAQ,uBAAyB,EAAA;AACpC,QAAK,YAAA,CAAA,IAAA,EAAA,yBAAA,CAAA,CAA0B,IAAK,CAAA,OAAA,CAAQ,uBAAuB,CAAA;AAAA;AAEpE,MAAA,IAAI,QAAQ,uBAAyB,EAAA;AACpC,QAAK,YAAA,CAAA,IAAA,EAAA,yBAAA,CAAA,CAA0B,IAAK,CAAA,OAAA,CAAQ,uBAAuB,CAAA;AAAA;AAEpE,MAAK,YAAA,CAAA,IAAA,EAAA,oBAAA,CAAA,CAAqB,KAAK,IAAI,CAAA;AACnC,MAAA,YAAA,CAAA,IAAA,EAAK,mBAAsB,EAAA,IAAA,CAAA;AAAA,KACrB,MAAA;AACN,MAAK,YAAA,CAAA,IAAA,EAAA,oBAAA,CAAA,CAAqB,KAAK,KAAK,CAAA;AACpC,MAAK,YAAA,CAAA,IAAA,EAAA,yBAAA,CAAA,CAA0B,KAAK,MAAS,CAAA;AAC7C,MAAK,YAAA,CAAA,IAAA,EAAA,yBAAA,CAAA,CAA0B,KAAK,MAAS,CAAA;AAC7C,MAAA,YAAA,CAAA,IAAA,EAAK,mBAAsB,EAAA,KAAA,CAAA;AAC3B,MAAA,IAAA,CAAK,IAAK,CAAA,mBAAA,EAAqB,EAAE,kBAAA,EAAoB,OAAO,CAAA;AAC5D,MAAA,YAAA,CAAA,IAAA,EAAKA,OAAK,IAAK,CAAA,YAAA,CAAa,MAAO,CAAA,IAAA,CAAK,qBAAqB,IAAI,CAAA;AACjE,MAAA,YAAA,CAAA,IAAA,EAAKA,KAAK,CAAA,CAAA,IAAA,CAAK,YAAa,CAAA,IAAA,CAAK,qBAAqB,IAAI,CAAA;AAAA;AAC3D;AACD,EAEA,IAAI,UAAa,GAAA;AAChB,IAAA,OAAO,YAAK,CAAA,IAAA,EAAA,WAAA,CAAA;AAAA;AACb,EAEA,IAAI,QAAW,GAAA;AACd,IAAO,OAAA,YAAA,CAAA,IAAA,EAAK,WAAc,CAAA,GAAA,YAAA,CAAA,IAAA,EAAK,SAAY,CAAA,GAAA,MAAA;AAAA;AAC5C,EAEA,IAAI,aAAgB,GAAA;AACnB,IAAA,OAAO,YAAK,CAAA,IAAA,EAAA,cAAA,CAAA;AAAA;AACb,EAEA,IAAI,WAAc,GAAA;AACjB,IAAO,OAAA,YAAA,CAAA,IAAA,EAAK,cAAiB,CAAA,GAAA,YAAA,CAAA,IAAA,EAAK,YAAe,CAAA,GAAA,MAAA;AAAA;AAClD,EAEA,IAAI,kBAAqB,GAAA;AACxB,IAAA,OAAO,YAAK,CAAA,IAAA,EAAA,mBAAA,CAAA;AAAA;AACb,EAEA,IAAI,iBAAoB,GAAA;AACvB,IAAI,IAAA,CAAC,KAAK,kBAAoB,EAAA;AAC7B,MAAO,OAAA,MAAA;AAAA;AAGR,IAAO,OAAA;AAAA,MACN,OAAO,YAAK,CAAA,IAAA,EAAA,sBAAA,CAAA;AAAA,MACZ,OAAO,YAAK,CAAA,IAAA,EAAA,sBAAA;AAAA,KACb;AAAA;AACD,EAEA,QAAW,GAAA;AACV,IAAA,OAAO,CAAoB,iBAAA,EAAA,IAAA,CAAK,EAAE,CAAA,EAAA,EAAK,KAAK,IAAI,CAAA,CAAA;AAAA;AACjD,EAEA,OAAO,SAAS,GAAsC,EAAA;AACrD,IAAO,OAAA,IAAI,iBAAgB,GAAG,CAAA;AAAA;AAEhC,CAAA;AApRCA,KAAA,GAAA,IAAA,OAAA,EAAA;AAEA,YAAA,GAAA,IAAA,OAAA,EAAA;AACA,YAAA,GAAA,IAAA,OAAA,EAAA;AAEA,WAAA,GAAA,IAAA,OAAA,EAAA;AACA,SAAA,GAAA,IAAA,OAAA,EAAA;AAEA,eAAA,GAAA,IAAA,OAAA,EAAA;AACA,eAAA,GAAA,IAAA,OAAA,EAAA;AAEA,cAAA,GAAA,IAAA,OAAA,EAAA;AACA,YAAA,GAAA,IAAA,OAAA,EAAA;AAEA,oBAAA,GAAA,IAAA,OAAA,EAAA;AACA,yBAAA,GAAA,IAAA,OAAA,EAAA;AACA,yBAAA,GAAA,IAAA,OAAA,EAAA;AAEA,mBAAA,GAAA,IAAA,OAAA,EAAA;AACA,sBAAA,GAAA,IAAA,OAAA,EAAA;AACA,sBAAA,GAAA,IAAA,OAAA,EAAA;AAxBM,IAAM,eAAN,GAAA,gBAAA;;;ACvBP,IAAA,aAAA;AAgBO,IAAM,kBAAA,GAAN,cACE,aAET,CAAA;AAAA,EAGC,WAAc,GAAA;AACb,IAAM,KAAA,EAAA;AAHP,IAAA,YAAA,CAAA,IAAA,EAAA,aAAA,sBAAoB,GAA6B,EAAA,CAAA;AAAA;AAIjD,EAEA,IAAI,EAAyC,EAAA;AAC5C,IAAO,OAAA,YAAA,CAAA,IAAA,EAAK,aAAc,CAAA,CAAA,GAAA,CAAI,EAAE,CAAA;AAAA;AACjC,EAEA,GAAA,CAAI,IAAY,WAA8B,EAAA;AAC7C,IAAA,MAAM,QAAW,GAAA,YAAA,CAAA,IAAA,EAAK,aAAc,CAAA,CAAA,GAAA,CAAI,EAAE,CAAA;AAC1C,IAAK,YAAA,CAAA,IAAA,EAAA,aAAA,CAAA,CAAc,GAAI,CAAA,EAAA,EAAI,WAAW,CAAA;AACtC,IAAA,IAAA,CAAK,IAAK,CAAA,QAAA,GAAW,SAAY,GAAA,OAAA,EAAS,WAAW,CAAA;AACrD,IAAO,OAAA,IAAA;AAAA;AACR,EAEA,OAAO,EAAY,EAAA;AAClB,IAAA,MAAM,OAAU,GAAA,YAAA,CAAA,IAAA,EAAK,aAAc,CAAA,CAAA,GAAA,CAAI,EAAE,CAAA;AACzC,IAAA,MAAM,SAAY,GAAA,YAAA,CAAA,IAAA,EAAK,aAAc,CAAA,CAAA,MAAA,CAAO,EAAE,CAAA;AAC9C,IAAA,IAAI,aAAa,OAAS,EAAA;AACzB,MAAK,IAAA,CAAA,IAAA,CAAK,WAAW,OAAO,CAAA;AAAA;AAE7B,IAAO,OAAA,SAAA;AAAA;AACR,EAEA,IAAI,EAAY,EAAA;AACf,IAAO,OAAA,YAAA,CAAA,IAAA,EAAK,aAAc,CAAA,CAAA,GAAA,CAAI,EAAE,CAAA;AAAA;AACjC,EAEA,MAAS,GAAA;AACR,IAAO,OAAA,YAAA,CAAA,IAAA,EAAK,eAAc,MAAO,EAAA;AAAA;AAClC,EAEA,IAAO,GAAA;AACN,IAAO,OAAA,YAAA,CAAA,IAAA,EAAK,eAAc,IAAK,EAAA;AAAA;AAChC,EAEA,OAAU,GAAA;AACT,IAAO,OAAA,YAAA,CAAA,IAAA,EAAK,eAAc,OAAQ,EAAA;AAAA;AACnC,EAEA,OAAA,CACC,YAKA,OACC,EAAA;AACD,IAAA,OAAO,YAAK,CAAA,IAAA,EAAA,aAAA,CAAA,CAAc,OAAQ,CAAA,UAAA,EAAY,OAAO,CAAA;AAAA;AACtD,EAEA,IAAI,IAAO,GAAA;AACV,IAAA,OAAO,mBAAK,aAAc,CAAA,CAAA,IAAA;AAAA;AAC3B,EAEA,KAAQ,GAAA;AACP,IAAA,YAAA,CAAA,IAAA,EAAK,eAAc,KAAM,EAAA;AACzB,IAAA,IAAA,CAAK,KAAK,SAAS,CAAA;AAAA;AACpB,EAEA,OAAU,GAAA;AACT,IAAA,OAAO,KAAM,CAAA,IAAA,CAAK,YAAK,CAAA,IAAA,EAAA,aAAA,CAAA,CAAc,QAAQ,CAAA;AAAA;AAC9C,EAEA,CAAC,MAAO,CAAA,QAAQ,CAAI,GAAA;AACnB,IAAA,OAAO,YAAK,CAAA,IAAA,EAAA,aAAA,CAAA,CAAc,MAAO,CAAA,QAAQ,CAAE,EAAA;AAAA;AAC5C,EAEA,KAAK,MAAO,CAAA,WAAW,CAAI,GAAA;AAC1B,IAAO,OAAA,oBAAA;AAAA;AAET,CAAA;AAzEC,aAAA,GAAA,IAAA,OAAA,EAAA;;;ACJM,IAAM,sBAAA,GAAN,cAAqC,aAA2C,CAAA;AAAA,EAGtF,WAAc,GAAA;AACb,IAAM,KAAA,EAAA;AAHP,IAAA,IAAA,CAAA,MAAA,GAAS,IAAI,kBAAmB,EAAA;AAAA;AAIhC,EAEA,eAAe,WAA8B,EAAA;AAC5C,IAAA,IAAA,CAAK,MAAO,CAAA,GAAA,CAAI,WAAY,CAAA,EAAA,EAAI,WAAW,CAAA;AAAA;AAC5C,EAEA,sBAAsB,aAAuB,EAAA;AAC5C,IAAK,IAAA,CAAA,MAAA,CAAO,OAAO,aAAa,CAAA;AAAA;AAElC,CAAA;AC9BA,IAAAA,KAAA,EAAA,IAAA,EAAA,OAAA,EAAA,YAAA,EAAAK,YAAA,EAAA,WAAA,EAAAC,UAAAC,EAAAA,eAAAA,EAAA,cAAAC,EAAAA,aAAAA,EAAAC,oBAAA,EAAA,wBAAA,EAAAC,uBAAA,EAAA,wBAAA,EAAAC,uBAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA;AA2BO,IAAM,QAAA,GAAN,cAAuB,aAA8B,CAAA;AAAA,EA4B3D,YAAY,OAA0B,EAAA;AAvDvC,IAAA,IAAA,EAAA,EAAA,EAAA;AAwDE,IAAM,KAAA,EAAA;AA5BP,IAAA,IAAA,CAAA,EAAA,GAAa,OAAO,UAAW,EAAA;AAG/B,IAAAX,YAAAA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA;AAEA,IAAA,YAAA,CAAA,IAAA,EAAA,IAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,OAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,YAAA,CAAA;AAEA,IAAA,YAAA,CAAA,IAAA,EAAAK,YAAuB,EAAA,KAAA,CAAA;AACvB,IAAA,YAAA,CAAA,IAAA,EAAA,WAAA,CAAA;AACA,IAAAC,YAAAA,CAAAA,IAAAA,EAAAA,UAAAA,CAAAA;AAEA,IAAA,YAAA,CAAA,IAAA,EAAAC,eAA0B,EAAA,KAAA,CAAA;AAC1B,IAAA,YAAA,CAAA,IAAA,EAAA,cAAA,CAAA;AACA,IAAAC,YAAAA,CAAAA,IAAAA,EAAAA,aAAAA,CAAAA;AAEA,IAAA,YAAA,CAAA,IAAA,EAAAC,oBAA+B,EAAA,KAAA,CAAA;AAC/B,IAAA,YAAA,CAAA,IAAA,EAAA,wBAAA,CAAA;AACA,IAAAC,YAAAA,CAAAA,IAAAA,EAAAA,uBAAAA,CAAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,wBAAA,CAAA;AACA,IAAAC,YAAAA,CAAAA,IAAAA,EAAAA,uBAAAA,CAAAA;AAEA,IAAA,YAAA,CAAA,IAAA,EAAA,UAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,aAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AAKC,IAAA,IAAA,CAAK,OAAO,OAAQ,CAAA,IAAA;AACpB,IAAA,YAAA,CAAA,IAAA,EAAKX,OAAO,qBAAsB,EAAA,CAAA;AAElC,IAAA,YAAA,CAAA,IAAA,EAAK,MAAOY,aAAO,EAAA,CAAA;AACnB,IAAA,YAAA,CAAA,IAAA,EAAK,SAAUC,gBAAU,EAAA,CAAA;AAEzB,IAAA,YAAA,CAAA,IAAA,EAAK,IAAK,CAAA,CAAA,eAAA,CAAgB,SAAU,CAAA,CAAC,OAAY,KAAA;AAChD,MAAA,YAAA,CAAA,IAAA,EAAKR,YAAc,EAAA,OAAA,CAAA;AAAA,KACnB,CAAA;AAED,IAAA,YAAA,CAAA,IAAA,EAAK,IAAK,CAAA,CAAA,eAAA,CAAgB,SAAU,CAAA,CAAC,KAAU,KAAA;AAC9C,MAAA,YAAA,CAAA,IAAA,EAAKC,UAAY,EAAA,KAAA,CAAA;AAAA,KACjB,CAAA;AAED,IAAA,YAAA,CAAA,IAAA,EAAK,OAAQ,CAAA,CAAA,eAAA,CAAgB,SAAU,CAAA,CAAC,OAAY,KAAA;AACnD,MAAA,YAAA,CAAA,IAAA,EAAKC,eAAiB,EAAA,OAAA,CAAA;AAAA,KACtB,CAAA;AAED,IAAA,YAAA,CAAA,IAAA,EAAK,OAAQ,CAAA,CAAA,eAAA,CAAgB,SAAU,CAAA,CAAC,KAAU,KAAA;AACjD,MAAA,YAAA,CAAA,IAAA,EAAKC,aAAe,EAAA,KAAA,CAAA;AAAA,KACpB,CAAA;AAED,IAAA,YAAA,CAAA,IAAA,EAAK,IAAK,CAAA,CAAA,aAAA,CAAc,SAAU,CAAA,CAAC,MAAW,KAAA;AAC7C,MAAA,YAAA,CAAA,IAAA,EAAK,UAAa,EAAA,MAAA,CAAA;AAClB,MAAK,IAAA,CAAA,IAAA,CAAK,oBAAsB,EAAA,KAAA,EAAO,MAAM,CAAA;AAAA,KAC7C,CAAA;AAED,IAAA,YAAA,CAAA,IAAA,EAAK,OAAQ,CAAA,CAAA,aAAA,CAAc,SAAU,CAAA,CAAC,MAAW,KAAA;AAChD,MAAA,YAAA,CAAA,IAAA,EAAK,aAAgB,EAAA,MAAA,CAAA;AACrB,MAAK,IAAA,CAAA,IAAA,CAAK,oBAAsB,EAAA,QAAA,EAAU,MAAM,CAAA;AAAA,KAChD,CAAA;AAED,IAASM,eAAA,CAAA,SAAA,CAAU,CAAC,OAAY,KAAA;AAC/B,MAAA,YAAA,CAAA,IAAA,EAAK,QAAW,EAAA,OAAA,CAAA;AAChB,MAAK,IAAA,CAAA,IAAA,CAAK,iBAAiB,OAAO,CAAA;AAAA,KAClC,CAAA;AAED,IAAA,MAAM,eAAe,YAAKd,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,YAAY,IAAK,CAAA,YAAA,CAAA,IAAA,EAAK,MAAK,eAAiB,EAAA;AAAA,MAC1E,gBAAgBI,OAAG,CAAA;AAAA,QAClB,EAAE,iBAAiB,MAAO;AAAA,OACW;AAAA,KACtC,CAAA;AAED,IAAa,YAAA,CAAA,SAAA,CAAU,CAAC,QAAa,KAAA;AACpC,MAAI,IAAA,YAAA,CAAA,IAAA,EAAKC,YAAe,CAAA,IAAA,YAAA,CAAA,IAAA,EAAKC,UAAW,CAAA,EAAA;AACvC,QAAM,MAAA,UAAA,GAAa,cAAc,QAAQ,CAAA;AACzC,QAAA,YAAA,CAAA,IAAA,EAAK,WAAc,EAAA,UAAA,CAAA;AACnB,QAAKN,YAAAA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,OAAO,UAAW,CAAA;AAAA,UAC3B,MAAQ,EAAA,iBAAA;AAAA,UACR,OAAS,EAAA;AAAA,YACR,UAAY,EAAA,IAAA;AAAA,YACZ;AAAA;AACD,SACA,CAAA;AACD,QAAA,IAAA,CAAK,KAAK,WAAa,EAAA;AAAA,UACtB,UAAY,EAAA,IAAA;AAAA,UACZ,UAAU,YAAKM,CAAAA,IAAAA,EAAAA,UAAAA;AAAA,SACf,CAAA;AAAA,OACF,MAAA,IAAW,CAAC,YAAA,CAAA,IAAA,EAAKD,YAAa,CAAA,EAAA;AAC7B,QAAKL,YAAAA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,OAAO,UAAW,CAAA;AAAA,UAC3B,MAAQ,EAAA,iBAAA;AAAA,UACR,OAAA,EAAS,EAAE,UAAA,EAAY,KAAM;AAAA,SAC7B,CAAA;AACD,QAAA,IAAA,CAAK,IAAK,CAAA,WAAA,EAAa,EAAE,UAAA,EAAY,OAAO,CAAA;AAAA;AAC7C,KACA,CAAA;AAED,IAAM,MAAA,eAAA,GAAkB,YAAKA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,WAAY,CAAA,IAAA;AAAA,MAC7C,mBAAK,OAAQ,CAAA,CAAA,eAAA;AAAA,MACb;AAAA,QACC,cAAA,EAAgB,mBAAKA,KAAK,CAAA,CAAA;AAAA;AAC3B,KACD;AAEA,IAAgB,eAAA,CAAA,SAAA,CAAU,CAAC,QAAa,KAAA;AACvC,MAAI,IAAA,YAAA,CAAA,IAAA,EAAKO,eAAkB,CAAA,IAAA,YAAA,CAAA,IAAA,EAAKC,aAAc,CAAA,EAAA;AAC7C,QAAM,MAAA,aAAA,GAAgB,cAAc,QAAQ,CAAA;AAC5C,QAAA,YAAA,CAAA,IAAA,EAAK,cAAiB,EAAA,aAAA,CAAA;AACtB,QAAKR,YAAAA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,OAAO,UAAW,CAAA;AAAA,UAC3B,MAAQ,EAAA,oBAAA;AAAA,UACR,OAAS,EAAA;AAAA,YACR,aAAe,EAAA,IAAA;AAAA,YACf;AAAA;AACD,SACA,CAAA;AACD,QAAA,IAAA,CAAK,KAAK,cAAgB,EAAA;AAAA,UACzB,aAAe,EAAA,IAAA;AAAA,UACf,aAAa,YAAKQ,CAAAA,IAAAA,EAAAA,aAAAA;AAAA,SAClB,CAAA;AAAA,OACF,MAAA,IAAW,CAAC,YAAA,CAAA,IAAA,EAAKD,eAAgB,CAAA,EAAA;AAChC,QAAA,YAAA,CAAA,IAAA,EAAK,cAAiB,EAAA,MAAA,CAAA;AACtB,QAAKP,YAAAA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,OAAO,UAAW,CAAA;AAAA,UAC3B,MAAQ,EAAA,oBAAA;AAAA,UACR,OAAA,EAAS,EAAE,aAAA,EAAe,KAAM;AAAA,SAChC,CAAA;AACD,QAAA,IAAA,CAAK,IAAK,CAAA,cAAA,EAAgB,EAAE,aAAA,EAAe,OAAO,CAAA;AAAA;AACnD,KACA,CAAA;AAED,IAAI,IAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,QAAR,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkB,KAAO,EAAA;AAC5B,MAAA,IAAA,CAAK,QAAS,EAAA;AAAA;AAGf,IAAI,IAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,QAAR,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkB,KAAO,EAAA;AAC5B,MAAA,IAAA,CAAK,WAAY,EAAA;AAAA;AAGlB,IAAA,YAAA,CAAA,IAAA,EAAK,YAAe,EAAAe,qBAAA,CAAe,EAAE,KAAA,EAAO,MAAM,CAAA,CAAA;AAElD,IAAA,YAAA,CAAA,IAAA,EAAK,YAAa,CAAA,CAAA,KAAA,CAAM,eAAgB,CAAA,SAAA,CAAU,CAAC,OAAY,KAAA;AAC9D,MAAA,YAAA,CAAA,IAAA,EAAKN,oBAAsB,EAAA,OAAA,CAAA;AAAA,KAC3B,CAAA;AAED,IAAA,YAAA,CAAA,IAAA,EAAK,YAAa,CAAA,CAAA,KAAA,CAAM,eAAgB,CAAA,SAAA,CAAU,CAAC,KAAU,KAAA;AAC5D,MAAA,YAAA,CAAA,IAAA,EAAKC,uBAAyB,EAAA,KAAA,CAAA;AAAA,KAC9B,CAAA;AAED,IAAA,YAAA,CAAA,IAAA,EAAK,YAAa,CAAA,CAAA,KAAA,CAAM,eAAgB,CAAA,SAAA,CAAU,CAAC,KAAU,KAAA;AAC5D,MAAA,YAAA,CAAA,IAAA,EAAKC,uBAAyB,EAAA,KAAA,CAAA;AAAA,KAC9B,CAAA;AAED,IAAM,MAAA,yBAAA,GAA4B,YAAKX,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,WAAY,CAAA,IAAA;AAAA,MACvD,YAAA,CAAA,IAAA,EAAK,cAAa,KAAM,CAAA;AAAA,KACzB;AAEA,IAAM,MAAA,yBAAA,GAA4B,YAAKA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,WAAY,CAAA,IAAA;AAAA,MACvD,YAAA,CAAA,IAAA,EAAK,cAAa,KAAM,CAAA;AAAA,KACzB;AAEA,IAA0B,yBAAA,CAAA,SAAA,CAAU,CAAC,QAAa,KAAA;AACjD,MAAI,IAAA,CAAC,mBAAKS,oBAAqB,CAAA,EAAA;AAC9B,QAAKT,YAAAA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,OAAO,UAAW,CAAA;AAAA,UAC3B,MAAQ,EAAA,yBAAA;AAAA,UACR,OAAS,EAAA;AAAA,YACR,kBAAoB,EAAA;AAAA;AACrB,SACA,CAAA;AACD,QAAA,IAAA,CAAK,IAAK,CAAA,mBAAA,EAAqB,EAAE,kBAAA,EAAoB,OAAO,CAAA;AAAA,OACtD,MAAA;AACN,QAAK,YAAA,CAAA,IAAA,EAAA,wBAAA,EAA2B,cAAc,QAAQ,CAAA,CAAA;AACtD,QAAKA,YAAAA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,OAAO,UAAW,CAAA;AAAA,UAC3B,MAAQ,EAAA,yBAAA;AAAA,UACR,OAAS,EAAA;AAAA,YACR,kBAAoB,EAAA,IAAA;AAAA,YACpB,yBAAyB,YAAK,CAAA,IAAA,EAAA,wBAAA;AAAA;AAC/B,SACA,CAAA;AACD,QAAA,IAAA,CAAK,KAAK,mBAAqB,EAAA;AAAA,UAC9B,kBAAoB,EAAA,IAAA;AAAA,UACpB,uBAAuB,YAAKU,CAAAA,IAAAA,EAAAA,uBAAAA;AAAA,SAC5B,CAAA;AAAA;AACF,KACA,CAAA;AAED,IAA0B,yBAAA,CAAA,SAAA,CAAU,CAAC,QAAa,KAAA;AACjD,MAAI,IAAA,CAAC,mBAAKD,oBAAqB,CAAA,EAAA;AAC9B,QAAKT,YAAAA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,OAAO,UAAW,CAAA;AAAA,UAC3B,MAAQ,EAAA,yBAAA;AAAA,UACR,OAAS,EAAA;AAAA,YACR,kBAAoB,EAAA;AAAA;AACrB,SACA,CAAA;AACD,QAAA,IAAA,CAAK,IAAK,CAAA,mBAAA,EAAqB,EAAE,kBAAA,EAAoB,OAAO,CAAA;AAAA,OACtD,MAAA;AACN,QAAK,YAAA,CAAA,IAAA,EAAA,wBAAA,EAA2B,cAAc,QAAQ,CAAA,CAAA;AACtD,QAAKA,YAAAA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,OAAO,UAAW,CAAA;AAAA,UAC3B,MAAQ,EAAA,yBAAA;AAAA,UACR,OAAS,EAAA;AAAA,YACR,kBAAoB,EAAA,IAAA;AAAA,YACpB,yBAAyB,YAAK,CAAA,IAAA,EAAA,wBAAA;AAAA;AAC/B,SACA,CAAA;AACD,QAAA,IAAA,CAAK,KAAK,mBAAqB,EAAA;AAAA,UAC9B,kBAAoB,EAAA,IAAA;AAAA,UACpB,uBAAuB,YAAKW,CAAAA,IAAAA,EAAAA,uBAAAA;AAAA,SAC5B,CAAA;AAAA;AACF,KACA,CAAA;AAAA;AACF,EAEA,QAAW,GAAA;AACV,IAAA,YAAA,CAAA,IAAA,EAAK,MAAK,iBAAkB,EAAA;AAAA;AAC7B,EAEA,OAAU,GAAA;AACT,IAAA,YAAA,CAAA,IAAA,EAAK,MAAK,gBAAiB,EAAA;AAAA;AAC5B,EAEA,WAAc,GAAA;AACb,IAAA,YAAA,CAAA,IAAA,EAAK,SAAQ,iBAAkB,EAAA;AAAA;AAChC,EAEA,UAAa,GAAA;AACZ,IAAA,YAAA,CAAA,IAAA,EAAK,SAAQ,gBAAiB,EAAA;AAAA;AAC/B,EAEA,gBAAmB,GAAA;AAClB,IAAA,YAAA,CAAA,IAAA,EAAK,cAAa,iBAAkB,EAAA;AAAA;AACrC,EAEA,eAAkB,GAAA;AACjB,IAAA,YAAA,CAAA,IAAA,EAAK,cAAa,gBAAiB,EAAA;AAAA;AACpC,EAEM,gBAAgB,QAAkB,EAAA;AAAA,IAAA,OAAA,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AACvC,MAAA,MAAM,UAAU,IAAK,CAAA,OAAA;AACrB,MAAA,MAAM,SAAS,OAAS,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAA,IAAA,CAAK,CAAC,CAAA,KAAM,EAAE,QAAa,KAAA,QAAA,CAAA;AACnD,MAAA,IAAI,CAAC,MAAQ,EAAA;AACZ,QAAA,MAAM,IAAI,KAAA,CAAM,CAA4B,yBAAA,EAAA,QAAQ,CAAE,CAAA,CAAA;AAAA;AAEvD,MAAK,YAAA,CAAA,IAAA,EAAA,OAAA,CAAA,CAAQ,mBAAmB,MAAM,CAAA;AAAA,KACvC,CAAA;AAAA;AAAA,EAEM,aAAa,QAAkB,EAAA;AAAA,IAAA,OAAA,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AACpC,MAAA,MAAM,UAAU,IAAK,CAAA,OAAA;AACrB,MAAA,MAAM,SAAS,OAAS,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAA,IAAA,CAAK,CAAC,CAAA,KAAM,EAAE,QAAa,KAAA,QAAA,CAAA;AACnD,MAAA,IAAI,CAAC,MAAQ,EAAA;AACZ,QAAA,MAAM,IAAI,KAAA,CAAM,CAAgC,6BAAA,EAAA,QAAQ,CAAE,CAAA,CAAA;AAAA;AAE3D,MAAK,YAAA,CAAA,IAAA,EAAA,IAAA,CAAA,CAAK,mBAAmB,MAAM,CAAA;AAAA,KACpC,CAAA;AAAA;AAAA,EAEA,IAAI,UAAsB,GAAA;AACzB,IAAA,OAAO,YAAKN,CAAAA,IAAAA,EAAAA,YAAAA,CAAAA;AAAA;AACb,EAEA,IAAI,QAAyC,GAAA;AAC5C,IAAO,OAAA,YAAA,CAAA,IAAA,EAAKA,YAAc,CAAA,GAAA,YAAA,CAAA,IAAA,EAAKC,UAAY,CAAA,GAAA,MAAA;AAAA;AAC5C,EAEA,IAAI,aAAyB,GAAA;AAC5B,IAAA,OAAO,YAAKC,CAAAA,IAAAA,EAAAA,eAAAA,CAAAA;AAAA;AACb,EAEA,IAAI,WAA4C,GAAA;AAC/C,IAAO,OAAA,YAAA,CAAA,IAAA,EAAKA,eAAiB,CAAA,GAAA,YAAA,CAAA,IAAA,EAAKC,aAAe,CAAA,GAAA,MAAA;AAAA;AAClD,EAEA,IAAI,kBAA8B,GAAA;AACjC,IAAA,OAAO,YAAKC,CAAAA,IAAAA,EAAAA,oBAAAA,CAAAA;AAAA;AACb,EAEA,IAAI,iBAKS,GAAA;AACZ,IAAI,IAAA,CAAC,KAAK,kBAAoB,EAAA;AAC7B,MAAO,OAAA,MAAA;AAAA;AAER,IAAO,OAAA;AAAA,MACN,OAAO,YAAKC,CAAAA,IAAAA,EAAAA,uBAAAA,CAAAA;AAAA,MACZ,OAAO,YAAKC,CAAAA,IAAAA,EAAAA,uBAAAA;AAAA,KACb;AAAA;AACD,EAEA,IAAI,OAAyC,GAAA;AAC5C,IAAA,OAAO,YAAK,CAAA,IAAA,EAAA,QAAA,CAAA;AAAA;AACb,EAEA,IAAI,aAAgB,GAAA;AA/TrB,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAgUE,IAAO,OAAA;AAAA,MACN,MACC,EAAK,GAAA,YAAA,CAAA,IAAA,EAAA,UAAA,CAAA,KAAL,IACA,GAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,CAAK,YAAL,IAAc,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA;AAAA,QACb,CAAC,CAAM,KAAA,CAAA,CAAE,QAAa,KAAA,SAAA,IAAa,EAAE,IAAS,KAAA;AAAA,OAAA;AAAA,MAEhD,SACC,EAAK,GAAA,YAAA,CAAA,IAAA,EAAA,aAAA,CAAA,KAAL,IACA,GAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,CAAK,YAAL,IAAc,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA;AAAA,QACb,CAAC,CAAM,KAAA,CAAA,CAAE,QAAa,KAAA,SAAA,IAAa,EAAE,IAAS,KAAA;AAAA;AAAA,KAEjD;AAAA;AACD,EAEA,QAAQ,IAAc,EAAA;AACrB,IAAA,MAAM,UAAU,IAAK,CAAA,IAAA;AACrB,IAAA,IAAA,CAAK,IAAO,GAAA,IAAA;AACZ,IAAA,IAAA,CAAK,IAAK,CAAA,YAAA,EAAc,IAAK,CAAA,IAAA,EAAM,OAAO,CAAA;AAAA;AAC3C,EAEA,MAAyB,GAAA;AACxB,IAAO,OAAA;AAAA,MACN,IAAI,IAAK,CAAA,EAAA;AAAA,MACT,MAAM,IAAK,CAAA,IAAA;AAAA,MACX,YAAY,IAAK,CAAA,UAAA;AAAA,MACjB,YAAY,YAAK,CAAA,IAAA,EAAA,WAAA,CAAA;AAAA,MACjB,eAAe,IAAK,CAAA,aAAA;AAAA,MACpB,eAAe,YAAK,CAAA,IAAA,EAAA,cAAA,CAAA;AAAA,MACpB,oBAAoB,IAAK,CAAA,kBAAA;AAAA,MACzB,yBAAyB,YAAK,CAAA,IAAA,EAAA,wBAAA,CAAA;AAAA,MAC9B,yBAAyB,YAAK,CAAA,IAAA,EAAA,wBAAA;AAAA,KAC/B;AAAA;AACD,EAEA,QAAW,GAAA;AACV,IAAA,OAAO,CAAa,UAAA,EAAA,IAAA,CAAK,EAAE,CAAA,EAAA,EAAK,KAAK,IAAI,CAAA,CAAA;AAAA;AAE3C,CAAA;AAtUCX,KAAA,GAAA,IAAA,OAAA,EAAA;AAEA,IAAA,GAAA,IAAA,OAAA,EAAA;AACA,OAAA,GAAA,IAAA,OAAA,EAAA;AACA,YAAA,GAAA,IAAA,OAAA,EAAA;AAEAK,YAAA,GAAA,IAAA,OAAA,EAAA;AACA,WAAA,GAAA,IAAA,OAAA,EAAA;AACAC,UAAA,GAAA,IAAA,OAAA,EAAA;AAEAC,eAAA,GAAA,IAAA,OAAA,EAAA;AACA,cAAA,GAAA,IAAA,OAAA,EAAA;AACAC,aAAA,GAAA,IAAA,OAAA,EAAA;AAEAC,oBAAA,GAAA,IAAA,OAAA,EAAA;AACA,wBAAA,GAAA,IAAA,OAAA,EAAA;AACAC,uBAAA,GAAA,IAAA,OAAA,EAAA;AACA,wBAAA,GAAA,IAAA,OAAA,EAAA;AACAC,uBAAA,GAAA,IAAA,OAAA,EAAA;AAEA,UAAA,GAAA,IAAA,OAAA,EAAA;AACA,aAAA,GAAA,IAAA,OAAA,EAAA;AACA,QAAA,GAAA,IAAA,OAAA,EAAA;ACrDD,IAAA,OAAA;AAIO,IAAM,UAAA,GAAN,cAAyBK,4BAAY,CAAA;AAAA,EAG3C,YAAY,OAAkD,EAAA;AAC7D,IAAA,KAAA,CAAM,OAAO,CAAA;AAHd,IAAA,YAAA,CAAA,IAAA,EAAA,OAAA,CAAA;AAIC,IAAA,YAAA,CAAA,IAAA,EAAK,SAAU,OAAQ,CAAA,MAAA,CAAA;AAAA;AACxB,EAEA,WAAW,MAAoB,EAAA;AAC9B,IAAK,YAAA,CAAA,IAAA,EAAA,OAAA,CAAA,CAAQ,KAAM,CAAA,uBAAA,EAAyB,MAAM,CAAA;AAClD,IAAA,OAAO,IAAK,CAAA,IAAA,CAAK,IAAK,CAAA,SAAA,CAAU,MAAM,CAAC,CAAA;AAAA;AAEzC,CAAA;AAXC,OAAA,GAAA,IAAA,OAAA,EAAA;;;ACHM,IAAM,eAA8C,GAAA;AAAA,EAC1D;AAAA,IACC,GAAK,EAAA,GAAA;AAAA,IACL,UAAY,EAAA,IAAA;AAAA,IACZ,YAAc,EAAA,EAAA;AAAA,IACd,MAAQ,EAAA;AAAA,GACT;AAAA,EACA;AAAA,IACC,GAAK,EAAA,GAAA;AAAA,IACL,qBAAuB,EAAA,CAAA;AAAA,IACvB,UAAY,EAAA,GAAA;AAAA,IACZ,YAAc,EAAA,EAAA;AAAA,IACd,MAAQ,EAAA;AAAA;AAEV,CAAA;;;ACkBAC,kBAAA,CAAY,OAAO,CAAA;AAlCnB,IAAAjB,OAAAkB,QAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,YAAA;AAoCO,IAAM,UAAA,GAAN,cAAyB,aAAgC,CAAA;AAAA,EAa/D,YAAY,OAA4B,EAAA;AAjDzC,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAkDE,IAAM,KAAA,EAAA;AAdD,IAAA,YAAA,CAAA,IAAA,EAAA,qBAAA,CAAA;AAEN,IAAqD,IAAA,CAAA,KAAA,GAAA,MAAA;AAOrD,IAAAlB,YAAAA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA;AACA,IAAAkB,YAAAA,CAAAA,IAAAA,EAAAA,QAAAA,CAAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,SAAA,CAAA;AAIC,IAAA,IAAA,CAAK,OAAO,OAAQ,CAAA,IAAA;AACpB,IAAK,YAAA,CAAA,IAAA,EAAA,SAAA,EAAY,QAAQ,QAAY,IAAA,KAAA,CAAA;AAErC,IAAKA,YAAAA,CAAAA,IAAAA,EAAAA,QAAAA,EAAU,IAAI,MAAO,CAAA;AAAA,MACzB,KAAA,EAAA,CAAO,EAAQ,GAAA,OAAA,CAAA,QAAA,KAAR,IAAoB,GAAA,EAAA,GAAA;AAAA;AAAA,KAE3B,CAAA,CAAA;AAED,IAAM,MAAA,MAAA,GAAS,IAAI,UAAW,CAAA;AAAA,MAC7B,MAAM,IAAK,CAAA,IAAA;AAAA,MACX,MAAM,OAAQ,CAAA,aAAA;AAAA,MACd,QAAQ,YAAKA,CAAAA,IAAAA,EAAAA,QAAAA;AAAA,KACb,CAAA;AAED,IAAA,MAAA,CAAO,iBAAiB,SAAW,EAAA,eAAA,CAAA,IAAA,EAAK,qBAAW,EAAA,YAAA,CAAA,CAAA,IAAA,CAAK,IAAI,CAAC,CAAA;AAE7D,IAAA,IAAI,QAAQ,OAAS,EAAA;AACpB,MAAA,MAAM,UAAU,OAAQ,CAAA,OAAA;AACxB,MAAO,MAAA,CAAA,gBAAA,CAAiB,OAAS,EAAA,CAAC,CAAM,KAAA;AACvC,QAAQ,OAAA,CAAA,IAAI,KAAM,CAAA,kCAAkC,CAAC,CAAA;AAAA,OACrD,CAAA;AAAA;AAGF,IAAM,MAAA,WAAA,GAAc,IAAIC,kBAAY,CAAA;AAAA,MACnC,MAAA,EAAQ,QAAQ,UAAa,GAAA,cAAA;AAAA,MAC7B,SAAS,OAAQ,CAAA;AAAA,KACjB,CAAA;AAED,IAAI,IAAA,YAAA,GAAyC,YAAY,QAAS,CAAA,SAAA;AAAA,MACjE,MAAM;AAEL,QAAA,IAAA,CAAK,KAAK,gBAAgB,CAAA;AAC1B,QAAA,YAAA,CAAc,WAAY,EAAA;AAC1B,QAAe,YAAA,GAAA,MAAA;AAAA;AAChB,KACD;AAEA,IAAA,YAAA,CAAA,IAAA,EAAKnB,KAAO,EAAA;AAAA,MACX,MAAA;AAAA,MACA,WAAA;AAAA,MACA,IAAM,EAAA,IAAA;AAAA,MACN,QAAQ,YAAKkB,CAAAA,IAAAA,EAAAA,QAAAA,CAAAA;AAAA,MACb,YAAY,IAAIjB,oBAAAA;AAAA,QAAA,CACf,EAAQ,GAAA,CAAA,EAAA,GAAA,OAAA,CAAA,MAAA,KAAR,IAAgB,GAAA,MAAA,GAAA,EAAA,CAAA,sBAAA,KAAhB,IAA0C,GAAA,EAAA,GAAA;AAAA,OAC3C;AAAA,MACA,kBAAkB,IAAIA,oBAAAA;AAAA,QACrB;AAAA,OACD;AAAA,MACA,SAAS,OAAQ,CAAA;AAAA,KAClB,CAAA;AAEA,IAAA,IAAA,CAAK,IAAO,GAAA,cAAA;AAAA,MACX,YAAKD,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA;AAAA,MACL,MACC,IAAI,QAAA,CAAS,EAAE,IAAA,EAAM,QAAQ,WAAa,EAAA,QAAA,EAAU,OAAQ,CAAA,QAAA,EAAU;AAAA,KACxE;AACA,IAAA,IAAA,CAAK,YAAe,GAAA,cAAA;AAAA,MACnB,YAAKA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA;AAAA,MACL,MAAM,IAAI,sBAAuB;AAAA,KAClC;AACA,IAAA,IAAA,CAAK,OAAO,cAAe,CAAA,YAAA,CAAA,IAAA,EAAKA,QAAM,MAAM,IAAI,UAAU,CAAA;AAAA;AAC3D,EAEA,IAAO,GAAA;AACN,IAAI,IAAA,IAAA,CAAK,UAAU,WAAa,EAAA;AAChC,IAAKA,YAAAA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,MAAO,CAAA,UAAA,CAAW,EAAE,MAAA,EAAQ,MAAQ,EAAA,IAAA,EAAM,IAAK,CAAA,IAAA,CAAK,MAAO,EAAA,EAAG,CAAA;AAAA;AACzE,EAEA,KAAQ,GAAA;AACP,IAAKA,YAAAA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,OAAO,KAAM,EAAA;AACvB,IAAA,IAAA,CAAK,KAAQ,GAAA,MAAA;AACb,IAAA,IAAA,CAAK,KAAK,MAAM,CAAA;AAAA;AACjB,EAEA,IAAI,kBAAqB,GAAA;AACxB,IAAO,OAAA,YAAA,CAAA,IAAA,EAAKA,OAAK,UAAW,CAAA,KAAA;AAAA;AAC7B;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,4BAA4B,OAA2B,EAAA;AACtD,IAAM,MAAA,SAAA,GAAgC,CAAC,GAAA,EAAK,GAAG,CAAA;AAC/C,IAAI,IAAA,SAAA,CAAU,QAAS,CAAA,OAAO,CAAG,EAAA;AAChC,MAAM,MAAA,UAAA,GAAa,YAAKA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,UAAW,CAAA,KAAA;AACxC,MAAKA,YAAAA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,CAAK,UAAW,CAAA,IAAA,CAAK,OAAO,CAAA;AACjC,MAAK,IAAA,CAAA,IAAA,CAAK,sBAAwB,EAAA,OAAA,EAAS,UAAU,CAAA;AAAA;AACtD;AA4EF,CAAA;AA3KCA,KAAA,GAAA,IAAA,OAAA,EAAA;AACAkB,QAAA,GAAA,IAAA,OAAA,EAAA;AACA,SAAA,GAAA,IAAA,OAAA,EAAA;AAXM,qBAAA,GAAA,IAAA,OAAA,EAAA;AA2GN,YAAA,GAAU,SAAC,KAA6B,EAAA;AACvC,EAAA,MAAM,EAAgB,GAAA,IAAA,CAAK,KAAM,CAAA,KAAA,CAAM,IAAI,CAAA;AAC3C,EAAKA,YAAAA,CAAAA,IAAAA,EAAAA,QAAAA,CAAAA,CAAQ,KAAM,CAAA,4BAAA,EAAuB,EAAE,CAAA;AAE5C,EAAA,QAAQ,GAAG,KAAO;AAAA,IACjB,KAAK,WAAA;AACJ,MAAA,IAAA,CAAK,KAAQ,GAAA,WAAA;AACb,MAAA,IAAA,CAAK,KAAK,WAAW,CAAA;AACrB,MAAA,IAAI,mBAAK,SAAW,CAAA,EAAA;AACnB,QAAA,IAAA,CAAK,IAAK,EAAA;AAAA;AAEX,MAAA;AAAA,IAED,KAAK,WAAa,EAAA;AACjB,MAAI,IAAA,IAAA,CAAK,UAAU,WAAa,EAAA;AAEhC,MAAA,MAAM,eAAe,EAAG,CAAA,YAAA;AACxB,MAAA,cAAA;AAAA,QAAe,YAAKlB,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA;AAAA,QAAM,MACzB,aAAa,GAAI,CAAA,CAAC,QAAQ,eAAgB,CAAA,QAAA,CAAS,GAAG,CAAC;AAAA,OACxD,CAAE,OAAQ,CAAA,CAAC,WAAgB,KAAA;AAC1B,QAAK,IAAA,CAAA,YAAA,CAAa,eAAe,WAAW,CAAA;AAAA,OAC5C,CAAA;AACD,MAAA,IAAA,CAAK,UAAa,GAAA,IAAI,IAAK,CAAA,EAAA,CAAG,UAAU,CAAA;AACxC,MAAK,IAAA,CAAA,IAAA,CAAK,iBAAkB,CAAA,EAAA,CAAG,YAAY,CAAA;AAC3C,MAAA,IAAA,CAAK,KAAQ,GAAA,QAAA;AACb,MAAA,IAAA,CAAK,KAAK,QAAQ,CAAA;AAClB,MAAA;AAAA;AACD,IAEA,KAAK,oBAAsB,EAAA;AAC1B,MAAA,MAAM,WAAc,GAAA,cAAA;AAAA,QAAe,YAAKA,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA;AAAA,QAAM,MAC7C,eAAA,CAAgB,QAAS,CAAA,EAAA,CAAG,WAAW;AAAA,OACxC;AACA,MAAK,IAAA,CAAA,YAAA,CAAa,eAAe,WAAW,CAAA;AAC5C,MAAA;AAAA;AACD,IAEA,KAAK,kBAAoB,EAAA;AACxB,MAAK,IAAA,CAAA,YAAA,CAAa,qBAAsB,CAAA,EAAA,CAAG,aAAa,CAAA;AACxD,MAAA;AAAA;AACD,IAEA,KAAK,wBAA0B,EAAA;AAC9B,MAAA,MAAsC,QAAG,IAAjC,EAAA,EAAA,aAAA,KAA8B,EAAZ,EAAA,OAAA,GAAA,SAAA,CAAY,IAAZ,CAAlB,eAAA,CAAA,CAAA;AACR,MAAA,MAAM,WAAc,GAAA,IAAA,CAAK,YAAa,CAAA,MAAA,CAAO,IAAI,aAAa,CAAA;AAC9D,MAAA,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,cAAe,CAAA,OAAA,CAAA;AAC5B,MAAA;AAAA;AACD,IAEA,KAAK,2BAA6B,EAAA;AACjC,MAAA,MAAsC,QAAG,IAAjC,EAAA,EAAA,aAAA,KAA8B,EAAZ,EAAA,OAAA,GAAA,SAAA,CAAY,IAAZ,CAAlB,eAAA,CAAA,CAAA;AACR,MAAA,MAAM,WAAc,GAAA,IAAA,CAAK,YAAa,CAAA,MAAA,CAAO,IAAI,aAAa,CAAA;AAC9D,MAAA,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,iBAAkB,CAAA,OAAA,CAAA;AAC/B,MAAA;AAAA;AACD,IAEA,KAAK,gCAAkC,EAAA;AACtC,MAAA,MAAsC,QAAG,IAAjC,EAAA,EAAA,aAAA,KAA8B,EAAZ,EAAA,OAAA,GAAA,SAAA,CAAY,IAAZ,CAAlB,eAAA,CAAA,CAAA;AACR,MAAA,MAAM,WAAc,GAAA,IAAA,CAAK,YAAa,CAAA,MAAA,CAAO,IAAI,aAAa,CAAA;AAC9D,MAAA,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,sBAAuB,CAAA,OAAA,CAAA;AACpC,MAAA;AAAA;AACD,IAEA,KAAK,kBAAoB,EAAA;AACxB,MAAK,IAAA,CAAA,IAAA,CAAK,UAAW,CAAA,EAAA,CAAG,OAAO,CAAA;AAC/B,MAAA;AAAA;AACD,IAEA;AACC,MAAKkB,YAAAA,CAAAA,IAAAA,EAAAA,QAAAA,CAAAA,CAAQ,IAAK,CAAA,yBAAA,EAA2B,EAAE,CAAA;AAC/C,MAAA;AAAA;AAEH,CAAA;;;AClND,SAAsB,iBAAiB,OAA4B,EAAA;AAAA,EAAA,OAAA,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AAClE,IAAA,OAAO,IAAI,OAAA,CAAoB,CAAC,OAAA,EAAS,MAAW,KAAA;AACnD,MAAM,MAAA,MAAA,GAAS,IAAI,UAAA,CAAW,OAAO,CAAA;AACrC,MAAI,IAAA,eAAA,GAAkB,OACrB,cAAiB,GAAA,KAAA;AAClB,MAAA,MAAM,kBAAkB,MAAM;AAC7B,QAAA,IAAI,mBAAmB,cAAgB,EAAA;AACtC,UAAA,OAAA,CAAQ,MAAM,CAAA;AAAA;AACf,OACD;AACA,MAAO,MAAA,CAAA,IAAA,CAAK,aAAa,MAAM;AAC9B,QAAkB,eAAA,GAAA,IAAA;AAClB,QAAgB,eAAA,EAAA;AAAA,OAChB,CAAA;AACD,MAAO,MAAA,CAAA,IAAA,CAAK,kBAAkB,MAAM;AACnC,QAAiB,cAAA,GAAA,IAAA;AACjB,QAAgB,eAAA,EAAA;AAAA,OAChB,CAAA;AACD,MAAA,UAAA,CAAW,MAAM;AAChB,QAAI,IAAA,CAAC,eAAmB,IAAA,CAAC,cAAgB,EAAA;AACxC,UAAO,MAAA,CAAA,IAAI,KAAM,CAAA,6CAA6C,CAAC,CAAA;AAAA,SAChE,MAAA,IAAW,CAAC,eAAiB,EAAA;AAC5B,UAAO,MAAA,CAAA,IAAI,KAAM,CAAA,6BAA6B,CAAC,CAAA;AAAA,SAChD,MAAA,IAAW,CAAC,cAAgB,EAAA;AAC3B,UAAO,MAAA,CAAA,IAAI,KAAM,CAAA,4BAA4B,CAAC,CAAA;AAAA;AAC/C,SACE,GAAM,CAAA;AAAA,KACT,CAAA;AAAA,GACF,CAAA;AAAA","file":"index.cjs","sourcesContent":["/** A function type that accepts any number of arguments and returns no value. */\ntype Callback = (...args: any[]) => void;\n\nexport type BaseEventsMap = {\n\t[event: string]: Callback;\n};\n\nexport class EventsHandler<TEventsMap extends BaseEventsMap = BaseEventsMap> {\n\t#callbacksMap: Map<string, Set<Callback>>;\n\t#globalCallbacks: Set<Callback>;\n\n\tconstructor() {\n\t\tthis.#callbacksMap = new Map();\n\t\tthis.#globalCallbacks = new Set();\n\t}\n\n\temit<K extends keyof TEventsMap>(\n\t\tevent: K extends string ? K : never,\n\t\t...args: Parameters<TEventsMap[K]>\n\t) {\n\t\tthis.#callbacksMap.get(event)?.forEach((callback) => callback(...args));\n\t\tthis.#globalCallbacks.forEach((callback) => callback(event, ...args));\n\t}\n\n\taddEventListener<K extends keyof TEventsMap>(\n\t\tevent: K extends string ? K : never,\n\t\tcallback: TEventsMap[K],\n\t) {\n\t\tif (!this.#callbacksMap.has(event)) {\n\t\t\tthis.#callbacksMap.set(event, new Set());\n\t\t}\n\t\tthis.#callbacksMap.get(event)!.add(callback);\n\t}\n\n\tremoveEventListener<K extends keyof TEventsMap>(\n\t\tevent: K extends string ? K : never,\n\t\tcallback: TEventsMap[K],\n\t) {\n\t\tthis.#callbacksMap.get(event)?.delete(callback);\n\t}\n\n\tsubscribe<K extends keyof TEventsMap>(\n\t\tevent: K extends string ? K : never,\n\t\tcallback: TEventsMap[K],\n\t) {\n\t\tthis.addEventListener(event, callback);\n\t\treturn () => this.removeEventListener(event, callback);\n\t}\n\n\tsubscribeAll<K extends keyof TEventsMap>(\n\t\tcallback: (event: K, ...args: Parameters<TEventsMap[K]>) => void,\n\t) {\n\t\tthis.#globalCallbacks.add(callback);\n\t\treturn () => {\n\t\t\tthis.#globalCallbacks.delete(callback);\n\t\t};\n\t}\n\n\tunsubscribeAll<K extends keyof TEventsMap>(callback: TEventsMap[K]) {\n\t\tthis.#globalCallbacks.delete(callback);\n\t}\n\n\tonce<K extends keyof TEventsMap>(\n\t\tevent: K extends string ? K : never,\n\t\tcallback: TEventsMap[K],\n\t): () => void {\n\t\tconst wrapper = (...args: Parameters<TEventsMap[K]>) => {\n\t\t\tthis.removeEventListener(event, wrapper as TEventsMap[K]);\n\t\t\tcallback(...args);\n\t\t};\n\n\t\tthis.addEventListener(event, wrapper as TEventsMap[K]);\n\n\t\treturn () => {\n\t\t\tthis.removeEventListener(event, wrapper as TEventsMap[K]);\n\t\t};\n\t}\n\n\tclearAll() {\n\t\tthis.#callbacksMap.clear();\n\t\tthis.#globalCallbacks.clear();\n\t}\n}\n","export type LogLevel = 'debug' | 'info' | 'warn' | 'error';\n\ninterface LoggerOptions {\n\tlevel?: LogLevel;\n\tprefix?: string;\n\tenabled?: boolean;\n}\n\nexport class Logger {\n\tprivate level: LogLevel;\n\tprivate prefix: string;\n\tprivate enabled: boolean;\n\n\tprivate static levels: Record<LogLevel, number> = {\n\t\tdebug: 0,\n\t\tinfo: 1,\n\t\twarn: 2,\n\t\terror: 3,\n\t};\n\n\tconstructor(options: LoggerOptions = {}) {\n\t\tthis.level = options.level ?? 'info';\n\t\tthis.prefix = options.prefix ?? '';\n\t\tthis.enabled = options.enabled ?? true;\n\t}\n\n\tprivate shouldLog(level: LogLevel): boolean {\n\t\treturn this.enabled && Logger.levels[level] >= Logger.levels[this.level];\n\t}\n\n\tprivate formatMessage(level: LogLevel, args: any[]): any[] {\n\t\t// const time = new Date().toISOString();\n\t\tconst prefix = this.prefix ? `[${this.prefix}]` : '';\n\t\t// return [`[${time}] ${prefix} [${level.toUpperCase()}]`, ...args];\n\t\treturn [prefix, ...args];\n\t\t// return args;\n\t}\n\n\tdebug(...args: any[]) {\n\t\tif (this.shouldLog('debug')) {\n\t\t\tconsole.debug(...this.formatMessage('debug', args));\n\t\t}\n\t}\n\n\tinfo(...args: any[]) {\n\t\tif (this.shouldLog('info')) {\n\t\t\tconsole.info(...this.formatMessage('info', args));\n\t\t}\n\t}\n\n\twarn(...args: any[]) {\n\t\tif (this.shouldLog('warn')) {\n\t\t\tconsole.warn(...this.formatMessage('warn', args));\n\t\t}\n\t}\n\n\terror(...args: any[]) {\n\t\tif (this.shouldLog('error')) {\n\t\t\tconsole.error(...this.formatMessage('error', args));\n\t\t}\n\t}\n\n\tsetLevel(level: LogLevel) {\n\t\tthis.level = level;\n\t}\n\n\tenable() {\n\t\tthis.enabled = true;\n\t}\n\n\tdisable() {\n\t\tthis.enabled = false;\n\t}\n}\n","import type { PartyTracks } from 'partytracks/client';\nimport type { BehaviorSubject } from 'rxjs';\nimport invariant from 'tiny-invariant';\nimport type { Logger } from '../utils/logger';\nimport type { VideoEncodingRid } from './call-self/call-self';\nimport type { CallSocket } from './call-socket';\nimport type { CallClient } from './call-client/call-client';\n\nexport type CallContext = {\n\tsocket: CallSocket;\n\tpartyTracks: PartyTracks;\n\tcall: CallClient;\n\tlogger: Logger;\n\tcameraRid$: BehaviorSubject<VideoEncodingRid>;\n\tcameraEncodings$: BehaviorSubject<RTCRtpEncodingParameters[]>;\n\tonError?: (error: Error) => void;\n};\n\nconst contextStack: CallContext[] = [];\n\nexport function runWithContext<T>(context: CallContext, fn: () => T): T {\n\tcontextStack.push(context);\n\ttry {\n\t\treturn fn();\n\t} finally {\n\t\tcontextStack.pop();\n\t}\n}\n\nexport function getCurrentCallContext(): CallContext {\n\tconst ctx = contextStack[contextStack.length - 1];\n\tinvariant(ctx, 'No active CallContext');\n\treturn ctx;\n}\n","import { EventsHandler } from '../../utils/events-handler';\nimport { getCurrentCallContext, type CallContext } from '../call-context';\n\nexport type CallChatEvents = {\n\tloaded: (messages: ChatMessage[]) => void;\n\tmessage: (message: ChatMessage) => void;\n};\n\nexport type ChatMessagePayload =\n\t| { type: 'text'; message: string }\n\t| { type: 'image' | 'file'; name: string; url: string; size: number };\n\ntype ChatBaseMessage = {\n\tid: string;\n\tuser_id: string;\n\tdisplay_name: string;\n\tcreated_at: Date;\n};\n\ntype ChatTextMessage = ChatBaseMessage & ChatMessagePayload;\n\ntype ChatImageMessage = ChatBaseMessage & {\n\ttype: 'image';\n\turl: string;\n\tsize: number;\n};\n\nexport type ChatMessage = ChatTextMessage | ChatImageMessage;\n\nexport class CallChat extends EventsHandler<CallChatEvents> {\n\tmessages: ChatMessage[] = [];\n\n\t#ctx: CallContext;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.#ctx = getCurrentCallContext();\n\t}\n\n\tsendTextMessage(message: string) {\n\t\tthis.#sendMessage({ type: 'text', message: message.trim() });\n\t}\n\n\t#sendMessage(message: ChatMessagePayload) {\n\t\tthis.#ctx.socket.sendAction({ action: 'chat/message', message });\n\t}\n\n\taddMessage(message: ChatMessage) {\n\t\tconst parsedMessage = {\n\t\t\t...message,\n\t\t\tcreated_at: new Date(message.created_at),\n\t\t};\n\t\tthis.messages = [...this.messages, parsedMessage];\n\t\tthis.emit('message', parsedMessage);\n\t}\n\n\taddMessagesInBulk(messages: ChatMessage[]) {\n\t\tconst parsed = messages.map((message) => ({\n\t\t\t...message,\n\t\t\tcreated_at: new Date(message.created_at),\n\t\t}));\n\t\tthis.messages = [...this.messages, ...parsed];\n\t\tthis.emit('loaded', parsed);\n\t}\n}\n","import invariant from 'tiny-invariant';\nimport { Observable } from 'rxjs';\nimport type { TrackMetadata } from 'partytracks/client';\n\nexport const blackCanvasStreamTrack$ = new Observable<MediaStreamTrack>(\n\t(subscriber) => {\n\t\tconst canvas = document.createElement('canvas');\n\t\tcanvas.height = 720;\n\t\tcanvas.width = 1280;\n\t\tconst ctx = canvas.getContext('2d');\n\t\tinvariant(ctx);\n\t\tctx.fillStyle = 'black';\n\t\tctx.fillRect(0, 0, canvas.width, canvas.height);\n\t\t// we need to draw to the canvas in order for video\n\t\t// frames to be sent on the video track\n\t\tconst interval = setInterval(() => {\n\t\t\tctx.fillStyle = 'black';\n\t\t\tctx.fillRect(0, 0, canvas.width, canvas.height);\n\t\t}, 1000);\n\t\tsubscriber.next(canvas.captureStream().getVideoTracks()[0]!);\n\t\treturn () => {\n\t\t\tclearInterval(interval);\n\t\t};\n\t},\n);\n\nexport function blackCanvasStreamTrack(videoTrack?: MediaStreamTrack) {\n\tconst canvas = document.createElement('canvas');\n\tcanvas.height = videoTrack?.getSettings().height ?? 720;\n\tcanvas.width = videoTrack?.getSettings().width ?? 1280;\n\tconst ctx = canvas.getContext('2d');\n\tinvariant(ctx);\n\tctx.fillStyle = 'black';\n\tctx.fillRect(0, 0, canvas.width, canvas.height);\n\t// we need to draw to the canvas in order for video\n\t// frames to be sent on the video track\n\tsetInterval(() => {\n\t\tctx.fillStyle = 'black';\n\t\tctx.fillRect(0, 0, canvas.width, canvas.height);\n\t}, 1000);\n\treturn canvas.captureStream().getVideoTracks()[0]!;\n}\n\nexport function getInaudibleTrack() {\n\tconst audioContext = new AudioContext();\n\taudioContext.resume();\n\n\tconst oscillator = audioContext.createOscillator();\n\toscillator.type = 'triangle';\n\t// roughly sounds like a box fan\n\toscillator.frequency.setValueAtTime(20, audioContext.currentTime);\n\n\tconst gainNode = audioContext.createGain();\n\t// even w/ gain at 0 some packets are sent\n\tgainNode.gain.setValueAtTime(0, audioContext.currentTime);\n\n\toscillator.connect(gainNode);\n\n\tconst destination = audioContext.createMediaStreamDestination();\n\tgainNode.connect(destination);\n\n\toscillator.start();\n\n\tconst track = destination.stream.getAudioTracks()[0]!;\n\treturn { track, audioContext };\n}\n\nexport const inaudibleAudioTrack$ = new Observable<MediaStreamTrack>(\n\t(subscriber) => {\n\t\tconst { audioContext, track } = getInaudibleTrack();\n\t\tsubscriber.next(track);\n\t\treturn () => {\n\t\t\ttrack.stop();\n\t\t\taudioContext.close();\n\t\t};\n\t},\n);\n\nexport function createTrackId(metadata: TrackMetadata) {\n\treturn `${metadata.sessionId}/${metadata.trackName}`;\n}\n\nexport function parseTrackId(trackId: string) {\n\tconst [sessionId, trackName] = trackId.split('/');\n\treturn { sessionId, trackName };\n}\n","import { BehaviorSubject, filter, of, switchMap } from 'rxjs';\nimport type { SerializedUser } from '../../types/call-socket';\nimport { EventsHandler } from '../../utils/events-handler';\nimport type { CallParticipantEvents } from './call-participant-events';\nimport { type TrackMetadata } from 'partytracks/client';\nimport { getCurrentCallContext, type CallContext } from '../call-context';\nimport { parseTrackId } from '../../utils/tracks';\n\ninterface CallParticipantOptions extends Partial<SerializedUser> {\n\tid: string;\n\tname: string;\n\n\tmicEnabled?: boolean;\n\tmicTrackId?: string;\n\n\tcameraEnabled?: boolean;\n\tcameraTrackId?: string;\n\n\tscreenshareEnabled?: boolean;\n\tscreenshareVideoTrackId?: string;\n\tscreenshareAudioTrackId?: string;\n}\n\nexport class CallParticipant extends EventsHandler<CallParticipantEvents> {\n\tid: string;\n\tname: string;\n\n\t#ctx: CallContext;\n\n\t#micEnabled$: BehaviorSubject<boolean>;\n\t#micTrackId$: BehaviorSubject<string | undefined>;\n\n\t#micEnabled: boolean = false;\n\t#micTrack: MediaStreamTrack | undefined;\n\n\t#cameraEnabled$: BehaviorSubject<boolean>;\n\t#cameraTrackId$: BehaviorSubject<string | undefined>;\n\n\t#cameraEnabled: boolean = false;\n\t#cameraTrack: MediaStreamTrack | undefined;\n\n\t#screenshareEnabled$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\t#screenshareVideoTrackId$: BehaviorSubject<string | undefined>;\n\t#screenshareAudioTrackId$: BehaviorSubject<string | undefined>;\n\n\t#screenshareEnabled: boolean = false;\n\t#screenshareVideoTrack: MediaStreamTrack | undefined;\n\t#screenshareAudioTrack: MediaStreamTrack | undefined;\n\n\tconstructor(options: CallParticipantOptions)