homebridge-agent-atv 0.1.0 → 0.1.1

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.
@@ -53,6 +53,7 @@ const TABLE = {
53
53
  SCREEN_NOT_PAIRED: { status: 503, hint: 'run agent-atv pair --screen' },
54
54
  SCREEN_UNAVAILABLE: { status: 503, hint: 'Retry in a few seconds; if it persists, run agent-atv doctor.' },
55
55
  DEVICE_TIMEOUT: { status: 504, hint: 'The Apple TV did not answer in time; retry, or check it is awake with agent-atv snapshot.' },
56
+ POWER_NOT_CONFIRMED: { status: 504, hint: (details) => `Run agent-atv power ${details.requested === 'off' ? 'off' : 'on'} again` },
56
57
  BRIDGE_TIMEOUT: { status: 504, hint: 'Retry; if it persists, run agent-atv doctor.' },
57
58
  };
58
59
  class ApiError extends Error {
@@ -67,7 +68,7 @@ class ApiError extends Error {
67
68
  this.details = details;
68
69
  const entry = TABLE[code] ?? TABLE.INTERNAL;
69
70
  this.status = entry.status;
70
- this.hint = options.hint ?? entry.hint;
71
+ this.hint = options.hint ?? (typeof entry.hint === 'function' ? entry.hint(details) : entry.hint);
71
72
  this.headers = options.headers ?? {};
72
73
  }
73
74
  toBody() {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/api/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/api/errors.ts"],"names":[],"mappings":";;;AAyFA,gCAqBC;AA9GD,6CAA+C;AAC/C,sCAAyC;AAI5B,QAAA,kBAAkB,GAC7B,yNAAyN,CAAC;AAE5N,MAAM,KAAK,GAAsF;IAC/F,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,kDAAkD,EAAE;IACtF,YAAY,EAAE;QACZ,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,sFAAsF;KAC7F;IACD,eAAe,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,oFAAoF,EAAE;IAC5H,gBAAgB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,sEAAsE,EAAE;IAC/G,iBAAiB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,0CAA0C,EAAE;IACpF,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,8CAA8C,EAAE;IACpF,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,8CAA8C,EAAE;IACnF,UAAU,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,wCAAwC,EAAE;IAC3E,gBAAgB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,0EAA0E,EAAE;IACnH,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,qEAAqE,EAAE;IAC3G,mBAAmB,EAAE;QACnB,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,yHAAyH;KAChI;IACD,oBAAoB,EAAE;QACpB,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,6FAA6F;KACpG;IACD,UAAU,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,+CAA+C,EAAE;IAClF,aAAa,EAAE;QACb,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,wGAAwG;KAC/G;IACD,iBAAiB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,2CAA2C,EAAE;IACrF,sBAAsB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,4DAA4D,EAAE;IAC3G,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,kEAAkE,EAAE;IACzG,eAAe,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,kDAAkD,EAAE;IAC1F,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,iDAAiD,EAAE;IACvF,eAAe,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,8EAA8E,EAAE;IACtH,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,wFAAwF,EAAE;IACzH,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,yFAAyF,EAAE;IAC/H,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,8CAA8C,EAAE;IACnF,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,mDAAmD,EAAE;IACzF,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,6EAA6E,EAAE;IACnH,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,wEAAwE,EAAE;IAC5G,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,0BAAkB,EAAE;IACxD,kBAAkB,EAAE;QAClB,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,qEAAqE;KAC5E;IACD,qBAAqB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,0DAA0D,EAAE;IACxG,iBAAiB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,6BAA6B,EAAE;IACvE,kBAAkB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,+DAA+D,EAAE;IAC1G,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,2FAA2F,EAAE;IAClI,mBAAmB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,uBAAuB,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;IAClI,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,8CAA8C,EAAE;CACtF,CAAC;AAEF,MAAa,QAAS,SAAQ,KAAK;IAMtB;IAEA;IAPF,MAAM,CAAS;IACf,IAAI,CAAS;IACb,OAAO,CAAyB;IAEzC,YACW,IAAY,EACrB,OAAe,EACN,UAAmB,EAAE,EAC9B,UAA+D,EAAE;QAEjE,KAAK,CAAC,OAAO,CAAC,CAAC;QALN,SAAI,GAAJ,IAAI,CAAQ;QAEZ,YAAO,GAAP,OAAO,CAAc;QAI9B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAS,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;IACvG,CAAC;CACF;AArBD,4BAqBC;AAEM,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,OAAe,EAAY,EAAE,CACrE,IAAI,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AADrC,QAAA,UAAU,cAC2B;AAE3C,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC;AAAvD,QAAA,WAAW,eAA4C;AAEpE,gEAAgE;AAChE,SAAgB,UAAU,CAAC,KAAc,EAAE,UAAkB;IAC3D,IAAI,KAAK,YAAY,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC,CAAC,KAAK,YAAY,oBAAW,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,QAAQ,CAAC,UAAU,EAAE,mBAAmB,IAAA,qBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IACrC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,gBAAgB;YACnB,OAAO,IAAI,QAAQ,CAAC,UAAU,EAAE,4BAA4B,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QAClI,KAAK,sBAAsB;YACzB,OAAO,IAAI,QAAQ,CAAC,sBAAsB,EAAE,+BAA+B,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;QACpG,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,aAAa,GAAG,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7F,OAAO,IAAI,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,aAAa,EAAE,EAAE;gBACnF,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE;gBACjD,IAAI,EAAE,GAAG,UAAU,kCAAkC,aAAa,+BAA+B;aAClG,CAAC,CAAC;QACL,CAAC;QACD;YACE,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
@@ -44,6 +44,19 @@ function wantsFocus(body) {
44
44
  async function withFocus(deps, device, wanted, movedSince) {
45
45
  return wanted ? { focus: await deps.screen.report(device, { settle: true, movedSince }) } : {};
46
46
  }
47
+ const MAX_WIDTH = { min: 160, max: 3840 };
48
+ function screenshotOptions(body) {
49
+ const hint = `Pass a width from ${MAX_WIDTH.min} to ${MAX_WIDTH.max}, e.g. agent-atv screenshot --max-width 1280 --jpeg`;
50
+ let maxWidth;
51
+ try {
52
+ maxWidth = (0, validate_1.optionalInteger)(body, 'maxWidth', MAX_WIDTH.min, MAX_WIDTH.max);
53
+ }
54
+ catch (error) {
55
+ throw new errors_1.ApiError('BAD_REQUEST', error.message, { field: 'maxWidth' }, { hint });
56
+ }
57
+ const format = body.format === undefined || body.format === null ? undefined : (0, validate_1.oneOf)(body.format, ['png', 'jpeg'], 'format');
58
+ return { ...(maxWidth === undefined ? {} : { maxWidth }), ...(format === undefined ? {} : { format }) };
59
+ }
47
60
  function parseKeys(body) {
48
61
  const keys = body.keys;
49
62
  if (!Array.isArray(keys) || keys.length === 0)
@@ -452,11 +465,12 @@ function buildRoutes(deps) {
452
465
  handler: async ({ params, body }) => {
453
466
  const device = devices.resolve(params.device);
454
467
  const ifNoneMatch = (0, validate_1.optionalString)(body, 'ifNoneMatch');
455
- const result = await deps.screen.capture(device, ifNoneMatch);
468
+ const options = screenshotOptions(body);
469
+ const result = await deps.screen.capture(device, ifNoneMatch, options);
456
470
  if (!result.changed)
457
471
  return { status: 304, headers: { 'X-Agent-ATV-Sha256': result.sha256 } };
458
472
  return {
459
- binary: { data: result.png, contentType: 'image/png' },
473
+ binary: { data: result.image, contentType: `image/${result.format}` },
460
474
  headers: {
461
475
  'X-Agent-ATV-Sha256': result.sha256,
462
476
  'X-Agent-ATV-Width': String(result.width),
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/api/routes.ts"],"names":[],"mappings":";;AAoLA,kCAyVC;AAzgBD,+CAA4I;AAC5I,0CAA0C;AAC1C,iDAAoF;AACpF,qCAAgD;AAChD,yCAAsH;AACtH,2CAA8C;AAC9C,mDAAiG;AAcjG,MAAM,IAAI,GAAG,CAAC,KAAsB,EAAE,IAAY,EAAW,EAAE;IAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,OAAO,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAChF,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,2FAA2F;AAC3F,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,WAAW,GAAG,IAAI,CAAC;AAEzB,wGAAwG;AACxG,SAAS,IAAI,CAAC,OAAe,EAAE,MAAmB,EAAE,IAAyB;IAC3E,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,OAAO,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO;gBAAE,MAAM;YACpB,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,EAAE,CAAC;QACf,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,GAAG,EAAE;QACV,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AAED,mGAAmG;AACnG,SAAS,UAAU,CAAC,IAAU;IAC5B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAClE,OAAO,IAAA,0BAAe,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,iGAAiG;AACjG,KAAK,UAAU,SAAS,CAAC,IAAe,EAAE,MAAc,EAAE,MAAe,EAAE,UAAmB;IAC5F,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjG,CAAC;AAOD,SAAS,SAAS,CAAC,IAAU;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAA,mBAAU,EAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;IACzG,MAAM,OAAO,GAAY,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,CAAC,CAAC,KAAc,EAAE,KAAK,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,QAAQ,KAAK,GAAG,CAAC;QAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,IAAA,mBAAU,EAAC,IAAI,EAAE,GAAG,IAAI,uCAAuC,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,IAAI,GAAG,KAAa,CAAC;QAC3B,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,eAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAA,mBAAU,EAAC,GAAG,IAAI,MAAM,EAAE,GAAG,IAAI,wBAAwB,eAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,IAAI,CAAC,MAAM,EAAE,sBAAW,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;QACrG,IAAI,MAAM,KAAK,KAAK,IAAI,CAAE,sBAAiC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAA,mBAAU,EAAC,GAAG,IAAI,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,+CAA+C,sBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzH,CAAC;QACD,MAAM,KAAK,GAAG,IAAA,0BAAe,EAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG;QAAE,MAAM,IAAA,mBAAU,EAAC,MAAM,EAAE,wCAAwC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9G,MAAM,UAAU,GAAG,IAAA,0BAAe,EAAC,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC;IACvE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,SAAS,GAAG,mCAAmC,CAAC;AAEtD,iGAAiG;AACjG,SAAS,cAAc,CAAC,IAAW,EAAE,IAAY;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAE,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3G,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;IAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,iBAAQ,CAAC,eAAe,EAAE,8BAA8B,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvH,MAAM,IAAI,iBAAQ,CAAC,eAAe,EAAE,IAAI,IAAI,aAAa,OAAO,CAAC,MAAM,OAAO,EAAE;QAC9E,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;KACrF,CAAC,CAAC;AACL,CAAC;AAID,wFAAwF;AACxF,MAAM,SAAS,GAAG,CAAC,MAAqB,EAAE,MAAc,EAAE,MAAmB,EAAW,EAAE,CACxF,MAAM,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,oBAAoB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC,CAAC;AAEvH;;;GAGG;AACH,KAAK,UAAU,cAAc,CAC3B,MAAqB,EACrB,MAAc,EACd,QAAgB,EAChB,MAAc,EACd,MAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;IACrC,IAAI,IAA4B,CAAC;IACjC,SAAS,CAAC;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC;QACjF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC;YACxD,IAAI,GAAG,UAAU,CAAC;YAClB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC3F,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YACpE,gFAAgF;YAChF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC,CAAC,oDAAoD,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YACjI,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC3F,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM;QAC7C,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,WAAW,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,eAAe,CAAC,IAAU;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;IAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnG,MAAM,IAAA,mBAAU,EAAC,YAAY,EAAE,yCAAyC,4BAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxG,CAAC;IACD,MAAM,UAAU,GAAe,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAW,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,cAAc,IAAI,EAAE,CAAC;QAClC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,KAAK,CAAC;YACX,KAAK,MAAM,CAAC;YACZ,KAAK,OAAO;gBACV,UAAU,CAAC,IAAI,CAAC,GAAG,IAAA,yBAAc,EAAC,GAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC3D,MAAM;YACR,KAAK,UAAU;gBACb,UAAU,CAAC,QAAQ,GAAG,IAAA,gBAAK,EAAC,KAAK,EAAE,4BAAe,EAAE,IAAI,CAAC,CAAC;gBAC1D,MAAM;YACR,KAAK,OAAO;gBACV,UAAU,CAAC,KAAK,GAAG,IAAA,gBAAK,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,CAAU,EAAE,IAAI,CAAC,CAAC;gBAC9D,MAAM;YACR,KAAK,UAAU;gBACb,UAAU,CAAC,QAAQ,GAAG,IAAA,gBAAK,EAAC,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,CAAU,EAAE,IAAI,CAAC,CAAC;gBAC5E,MAAM;YACR,KAAK,QAAQ;gBACX,UAAU,CAAC,MAAM,GAAG,IAAA,0BAAe,EAAC,GAAW,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACzE,MAAM;YACR;gBACE,MAAM,IAAA,mBAAU,EAAC,IAAI,EAAE,qBAAqB,IAAI,UAAU,4BAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,IAAA,0BAAe,EAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC;IAC3E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACnC,CAAC;AAED,SAAgB,WAAW,CAAC,IAAe;IACzC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,OAAO;QACL;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAW,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;SAClF;QACD;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBACpB,IAAI,EAAE;oBACJ,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE;wBACN,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI;wBACrC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI;wBACnC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI;wBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;qBACpB;oBACD,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;oBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM;iBAC9B;aACF,CAAC;SACH;QACD;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC1B,IAAI,IAAA,0BAAe,EAAC,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC9C,MAAM,IAAI,iBAAQ,CAAC,aAAa,EAAE,2CAA2C,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;wBACnG,IAAI,EAAE,6DAA6D;qBACpE,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACrB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;YAClE,CAAC;SACF;QACD;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SACrF;QACD;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC1B,MAAM,SAAS,GAAG,IAAA,0BAAe,EAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAClE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5C,OAAO;oBACL,IAAI,EAAE;wBACJ,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;4BAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;4BACvC,OAAO,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;wBAC3E,CAAC,CAAC;qBACH;iBACF,CAAC;YACJ,CAAC;SACF;QACD;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,2BAA2B;YACjC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;gBACnC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;gBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/F,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3E,IAAI,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBAC7F,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE;wBACJ,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;wBAC9B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACzC;iBACF,CAAC;YACJ,CAAC;SACF;QACD;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,2BAA2B;YACjC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC,EAAE,CAAC;SACpG;QACD;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;gBAClC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;gBAC/C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBACrC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC/C,IAAI,KAAK,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC;wBAAE,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;oBACzD,IAAI,CAAC;wBACH,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC9E,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,QAAQ,GAAG,KAAiB,CAAC;wBACnC,MAAM,IAAI,iBAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;4BAC3F,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;yBAC1B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;gBACpE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACvG,CAAC;SACF;QACD;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;gBACnC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;gBAC/C,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;YACpF,CAAC;SACF;QACD;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,IAAA,yBAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrD,MAAM,MAAM,GAAG,IAAA,0BAAe,EAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC;gBACpE,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBACrC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3B,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;oBACrD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;oBACpE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBAC5G,CAAC;gBACD,IAAI,GAAQ,CAAC;gBACb,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAW,CAAC,CAAC;oBAC7E,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBACvF,CAAC;qBAAM,CAAC;oBACN,GAAG,GAAG,cAAc,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;gBACtE,CAAC;gBACD,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACnE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,GACjC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;gBAC/G,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;gBACpE,MAAM,KAAK,GAAG,UAAU,IAAI,IAAI,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBACtG,OAAO;oBACL,IAAI,EAAE;wBACJ,EAAE,EAAE,IAAI;wBACR,GAAG,EAAE,KAAK;wBACV,UAAU;wBACV,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClD,GAAG,KAAK;wBACR,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;qBACnC;iBACF,CAAC;YACJ,CAAC;SACF;QACD;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;gBAC/C,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAW,MAAM,EAAE,cAAc,CAAC,CAAC;gBACtE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YAClE,CAAC;SACF;QACD;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;gBAClC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;gBAC/C,MAAM,EAAE,GAAG,IAAA,gBAAK,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAU,EAAE,IAAI,CAAC,CAAC;gBACrE,MAAM,IAAI,GAAG,IAAA,yBAAc,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC1C,IAAI,EAAE,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS;oBAAE,MAAM,IAAA,mBAAU,EAAC,MAAM,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC;gBACpG,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBACrC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAW,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACzF,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBACzD,OAAO;oBACL,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;iBAC3H,CAAC;YACJ,CAAC;SACF;QACD;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,2BAA2B;YACjC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;gBAClC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;gBAC/C,MAAM,EAAE,GAAG,IAAA,0BAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACvC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAsC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBACtC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YAC3E,CAAC;SACF;QACD;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,4BAA4B;YAClC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;gBAClC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;gBAC/C,MAAM,KAAK,GAAG,IAAA,0BAAe,EAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACrD,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAA4B,MAAM,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBACvC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YAC5E,CAAC;SACF;QACD;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;gBAClC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;gBAC/C,MAAM,QAAQ,GAAG,IAAA,0BAAe,EAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC/E,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACjD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACpE,CAAC;SACF;QACD;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;gBAC/C,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;gBACxD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,yEAAyE;gBACzE,IAAI,IAA2B,CAAC;gBAChC,MAAM,KAAK,GAAmB,EAAE,CAAC;gBACjC,0EAA0E;gBAC1E,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC7F,MAAM,SAAS,GAAG,KAAK,IAAoC,EAAE;oBAC3D,IAAI,CAAC;wBACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACxC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,0EAA0E;wBAC1E,IAAI,IAAA,wBAAc,EAAC,KAAK,CAAC;4BAAE,OAAO,SAAS,CAAC;wBAC5C,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC,CAAC;gBACF,qFAAqF;gBACrF,IAAI,GAA2B,CAAC;gBAChC,IAAI,CAAC;oBACH,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;wBACnC,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;wBACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzG,CAAC;oBACD,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;wBACjC,IAAI,CAAC;4BACH,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;wBACxD,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,+EAA+E;4BAC/E,IAAI,CAAC,CAAC,KAAK,YAAY,iBAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC;gCAAE,MAAM,KAAK,CAAC;wBAClF,CAAC;wBACD,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CACvH,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,KAAK,MAAM,IAAI,IAAI,KAAK;wBAAE,IAAI,EAAE,CAAC;oBACjC,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,KAAK,GAAG,GAAG,EAAE,CACjB,IAAA,qBAAQ,EAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC1H,IAAI,CAAC;oBACH,MAAM,IAAA,qBAAY,EAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;gBAClF,CAAC;wBAAS,CAAC;oBACT,KAAK,MAAM,IAAI,IAAI,KAAK;wBAAE,IAAI,EAAE,CAAC;gBACnC,CAAC;gBACD,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;gBAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC1C,MAAM,UAAU,GAAG;oBACjB,GAAG,CAAC,UAAU,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;oBAC7D,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;iBACtE,CAAC;gBACF,IAAI,MAAM,CAAC,SAAS;oBAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC9G,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,IAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtH,MAAM,IAAI,iBAAQ,CAAC,cAAc,EAAE,mBAAmB,SAAS,kBAAkB,UAAU,EAAE,EAAE;oBAC7F,SAAS;oBACT,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,GAAG,UAAU;oBACb,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;SACF;QACD;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,gCAAgC;YACtC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAwB,EAAE;gBACxD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;gBAC/C,MAAM,WAAW,GAAG,IAAA,yBAAc,EAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC9D,IAAI,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9F,OAAO;oBACL,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE;oBACtD,OAAO,EAAE;wBACP,oBAAoB,EAAE,MAAM,CAAC,MAAM;wBACnC,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;wBACzC,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;wBAC3C,yBAAyB,EAAE,MAAM,CAAC,UAAU;wBAC5C,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;qBACrD;iBACF,CAAC;YACJ,CAAC;SACF;QACD;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;gBAClC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrE,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,CAAU,EAAE,UAAU,CAAC,CAAC;gBACjI,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC9D,CAAC;SACF;QACD;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,6BAA6B;YACnC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;gBACrB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;oBAAE,MAAM,IAAA,mBAAU,EAAC,KAAK,EAAE,qDAAqD,CAAC,CAAC;gBACtI,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAU,EAAE,GAAG,CAAC,EAAE,CAAC;YAClE,CAAC;SACF;QACD;YACE,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAU,CAAC,CAAC;gBAC7C,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;YAChC,CAAC;SACF;QACD;YACE,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,6BAA6B;YACnC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;gBAC/C,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;YAChC,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/api/routes.ts"],"names":[],"mappings":"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"}
@@ -271,6 +271,8 @@ class BridgeClient extends node_events_1.EventEmitter {
271
271
  log.error(text);
272
272
  else if (level === 'WARNING')
273
273
  log.warn(text);
274
+ else if (level === 'INFO' && this.options.infoLevel === 'info')
275
+ log.info(text);
274
276
  else
275
277
  log.debug(text);
276
278
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/bridge/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/bridge/client.ts"],"names":[],"mappings":"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"}
@@ -19,8 +19,10 @@ function methodTimeoutMs(method, params) {
19
19
  return 30 * SECOND;
20
20
  case 'apps.list':
21
21
  case 'app.launch':
22
- case 'power.set':
23
22
  return 15 * SECOND;
23
+ case 'power.set':
24
+ // The bridge waits up to 20 s for the new state, plus the command and a 6 s session check.
25
+ return 45 * SECOND;
24
26
  default:
25
27
  return 10 * SECOND;
26
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/bridge/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/bridge/protocol.ts"],"names":[],"mappings":";;;AA+FA,0CAoBC;AAMD,oCA4BC;AArJY,QAAA,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AA4F9C,MAAM,MAAM,GAAG,IAAI,CAAC;AAEpB,wDAAwD;AACxD,SAAgB,eAAe,CAAC,MAAc,EAAE,MAAY;IAC1D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,MAAM,CAAC;QACpB,KAAK,MAAM;YACT,OAAO,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;QACxF,KAAK,YAAY,CAAC;QAClB,KAAK,UAAU,CAAC;QAChB,KAAK,aAAa,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,EAAE,GAAG,MAAM,CAAC;QACrB,KAAK,WAAW,CAAC;QACjB,KAAK,YAAY;YACf,OAAO,EAAE,GAAG,MAAM,CAAC;QACrB,KAAK,WAAW;YACd,2FAA2F;YAC3F,OAAO,EAAE,GAAG,MAAM,CAAC;QACrB;YACE,OAAO,EAAE,GAAG,MAAM,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAiB,EAAE,CACjD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvE,uFAAuF;AACvF,SAAgB,YAAY,CAAC,IAAY;IACvC,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,MAAM,OAAO,GAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACvF,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACpE,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACnE,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,IAAI,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC5G,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,EAAE;QACF,EAAE,EAAE,KAAK;QACT,KAAK,EAAE;YACL,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU;YAC9D,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc;YAC3E,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;SACtD;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAa,YAAY;IAMJ;IACA;IACA;IAPX,MAAM,GAAa,EAAE,CAAC;IACtB,IAAI,GAAG,CAAC,CAAC;IACT,WAAW,GAAG,KAAK,CAAC;IAE5B,YACmB,MAA8B,EAC9B,UAAsB,EACtB,WAAW,sBAAc;QAFzB,WAAM,GAAN,MAAM,CAAwB;QAC9B,eAAU,GAAV,UAAU,CAAY;QACtB,aAAQ,GAAR,QAAQ,CAAiB;IACzC,CAAC;IAEJ,IAAI,CAAC,KAAa;QAChB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,SAAS,CAAC;YACR,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzC,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,CAAC;IAEO,MAAM,CAAC,IAAY;QACzB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAClD,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;IAC3B,CAAC;IAEO,KAAK;QACX,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;CACF;AA9CD,oCA8CC;AAED,6DAA6D;AAChD,QAAA,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AACjF,QAAA,aAAa,GAAG;IAC3B,WAAW;IACX,UAAU;IACV,MAAM;IACN,OAAO;IACP,YAAY;IACZ,MAAM;IACN,MAAM;IACN,UAAU;IACV,WAAW;IACX,aAAa;IACb,YAAY;IACZ,cAAc;IACd,aAAa;IACb,OAAO;IACP,gBAAgB;IAChB,cAAc;IACd,eAAe;CACP,CAAC;AACE,QAAA,IAAI,GAAsB,CAAC,GAAG,mBAAW,EAAE,GAAG,qBAAa,CAAC,CAAC;AAC7D,QAAA,WAAW,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TelevisionAccessories = void 0;
4
4
  const promises_1 = require("node:fs/promises");
5
+ const errors_1 = require("../api/errors");
5
6
  const logger_1 = require("../logger");
6
7
  const settings_1 = require("../settings");
7
8
  /** HAP `Categories.APPLE_TV`; the enum is ambient, so its value can't be read at runtime here. */
@@ -60,7 +61,7 @@ class TelevisionAccessories {
60
61
  return chosen.slice(0, config.homekit.maxInputs);
61
62
  }
62
63
  build(device, inputs) {
63
- const { api, devices } = this.options;
64
+ const { api, devices, log } = this.options;
64
65
  const { Service: S, Characteristic: C, uuid } = api.hap;
65
66
  const name = devices.displayName(device);
66
67
  const accessory = new api.platformAccessory(name, uuid.generate(`agent-atv:${device.id}`), APPLE_TV_CATEGORY);
@@ -76,11 +77,16 @@ class TelevisionAccessories {
76
77
  television
77
78
  .getCharacteristic(C.Active)
78
79
  .onGet(() => (device.state.power === 'on' ? C.Active.ACTIVE : C.Active.INACTIVE))
79
- .onSet(async (value) => {
80
- const on = value === C.Active.ACTIVE;
81
- await this.act(device, async () => {
82
- const { power } = await devices.call(device, 'power.set', { on });
83
- devices.patchState(device, { power });
80
+ .onSet((value) => {
81
+ this.requireConnected(device);
82
+ // HomeKit gives up on a write after 10 s and the Apple TV takes up to 20 s to confirm, so the
83
+ // write answers once sent and Active follows the state events.
84
+ devices
85
+ .call(device, 'power.set', { on: value === C.Active.ACTIVE })
86
+ .then(({ power }) => devices.patchState(device, { power }))
87
+ .catch((error) => {
88
+ const failure = (0, errors_1.toApiError)(error, devices.displayName(device));
89
+ log.warn(`${devices.displayName(device)}: HomeKit power command failed: ${failure.message}; ${failure.hint}`);
84
90
  });
85
91
  });
86
92
  television
@@ -144,16 +150,27 @@ class TelevisionAccessories {
144
150
  published.television.updateCharacteristic(C.ActiveIdentifier, this.activeIdentifier(device, published.inputs));
145
151
  }
146
152
  async act(device, action) {
147
- const { api, devices, log } = this.options;
153
+ this.requireConnected(device);
148
154
  try {
149
- devices.requireConnected(device);
150
155
  await action();
151
156
  }
152
157
  catch (error) {
153
- log.warn(`${devices.displayName(device)}: HomeKit command failed: ${(0, logger_1.errorMessage)(error)}`);
154
- throw new api.hap.HapStatusError(api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE);
158
+ throw this.failed(device, error);
159
+ }
160
+ }
161
+ requireConnected(device) {
162
+ try {
163
+ this.options.devices.requireConnected(device);
164
+ }
165
+ catch (error) {
166
+ throw this.failed(device, error);
155
167
  }
156
168
  }
169
+ failed(device, error) {
170
+ const { api, devices, log } = this.options;
171
+ log.warn(`${devices.displayName(device)}: HomeKit command failed: ${(0, logger_1.errorMessage)(error)}`);
172
+ return new api.hap.HapStatusError(api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE);
173
+ }
157
174
  async logSetupCode(name) {
158
175
  let pin;
159
176
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"television.js","sourceRoot":"","sources":["../../src/homekit/television.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"television.js","sourceRoot":"","sources":["../../src/homekit/television.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pngSize = pngSize;
4
+ exports.jpegSize = jpegSize;
5
+ const SIGNATURE = Buffer.from([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);
6
+ /** Width and height from the IHDR chunk, or null when `data` isn't a PNG. */
7
+ function pngSize(data) {
8
+ if (data.length < 24 || !data.subarray(0, 8).equals(SIGNATURE))
9
+ return null;
10
+ if (data.toString('ascii', 12, 16) !== 'IHDR')
11
+ return null;
12
+ return { width: data.readUInt32BE(16), height: data.readUInt32BE(20) };
13
+ }
14
+ const SOF = new Set([0xc0, 0xc1, 0xc2, 0xc3, 0xc5, 0xc6, 0xc7, 0xc9, 0xca, 0xcb, 0xcd, 0xce, 0xcf]);
15
+ /** Width and height from the first SOF segment, or null when `data` isn't a JPEG. */
16
+ function jpegSize(data) {
17
+ if (data.length < 4 || data[0] !== 0xff || data[1] !== 0xd8)
18
+ return null;
19
+ let at = 2;
20
+ while (at + 4 <= data.length && data[at] === 0xff) {
21
+ const marker = data[at + 1];
22
+ if (marker === 0xff) {
23
+ at += 1;
24
+ continue;
25
+ }
26
+ if (SOF.has(marker)) {
27
+ if (at + 9 > data.length)
28
+ return null;
29
+ return { width: data.readUInt16BE(at + 7), height: data.readUInt16BE(at + 5) };
30
+ }
31
+ at += 2 + data.readUInt16BE(at + 2);
32
+ }
33
+ return null;
34
+ }
35
+ //# sourceMappingURL=image-size.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-size.js","sourceRoot":"","sources":["../../src/screen/image-size.ts"],"names":[],"mappings":";;AAGA,0BAIC;AAKD,4BAgBC;AA5BD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAEhF,6EAA6E;AAC7E,SAAgB,OAAO,CAAC,IAAY;IAClC,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5E,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC3D,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAEpG,qFAAqF;AACrF,SAAgB,QAAQ,CAAC,IAAY;IACnC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACzE,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAE,CAAC;QAC7B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,EAAE,IAAI,CAAC,CAAC;YACR,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACpB,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACtC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACjF,CAAC;QACD,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -12,7 +12,7 @@ const errors_1 = require("../api/errors");
12
12
  const client_1 = require("../bridge/client");
13
13
  const fs_util_1 = require("../fs-util");
14
14
  const logger_1 = require("../logger");
15
- const png_1 = require("./png");
15
+ const image_size_1 = require("./image-size");
16
16
  const SECOND = 1000;
17
17
  // The worker itself bounds a read to a tunnel reconnect (30 s) plus two attempts (20 s each).
18
18
  const TIMEOUTS = {
@@ -248,20 +248,23 @@ class ScreenService {
248
248
  });
249
249
  return Promise.race([read, timeout]).finally(() => clearTimeout(timer));
250
250
  }
251
- /** Captures one screenshot through the device's worker (one at a time per device). */
252
- async capture(device, ifNoneMatch) {
251
+ /**
252
+ * Captures one screenshot through the device's worker (one at a time per device). The sha256 is
253
+ * of the bytes returned, so `ifNoneMatch` only matches a capture taken with the same options.
254
+ */
255
+ async capture(device, ifNoneMatch, { maxWidth, format = 'png' } = {}) {
253
256
  const started = Date.now();
254
- const out = node_path_1.default.join((0, node_os_1.tmpdir)(), `agent-atv-${(0, node_crypto_1.randomBytes)(8).toString('hex')}.png`);
257
+ const out = node_path_1.default.join((0, node_os_1.tmpdir)(), `agent-atv-${(0, node_crypto_1.randomBytes)(8).toString('hex')}.${format === 'jpeg' ? 'jpg' : 'png'}`);
255
258
  try {
256
- await this.request(device, 'screenshot', { path: out });
257
- const png = await (0, promises_1.readFile)(out);
258
- const size = (0, png_1.pngSize)(png);
259
+ await this.request(device, 'screenshot', { path: out, format, ...(maxWidth === undefined ? {} : { maxWidth }) });
260
+ const image = await (0, promises_1.readFile)(out);
261
+ const size = format === 'jpeg' ? (0, image_size_1.jpegSize)(image) : (0, image_size_1.pngSize)(image);
259
262
  if (!size)
260
- throw new errors_1.ApiError('SCREEN_FAILED', 'The Apple TV sent something that is not a PNG', {});
261
- const sha256 = (0, node_crypto_1.createHash)('sha256').update(png).digest('hex');
263
+ throw new errors_1.ApiError('SCREEN_FAILED', `The Apple TV sent something that is not a ${format.toUpperCase()}`, {});
264
+ const sha256 = (0, node_crypto_1.createHash)('sha256').update(image).digest('hex');
262
265
  if (ifNoneMatch === sha256)
263
266
  return { changed: false, sha256 };
264
- return { changed: true, png, sha256, ...size, capturedAt: new Date().toISOString(), durationMs: Date.now() - started };
267
+ return { changed: true, image, format, sha256, ...size, capturedAt: new Date().toISOString(), durationMs: Date.now() - started };
265
268
  }
266
269
  finally {
267
270
  await (0, promises_1.rm)(out, { force: true });
@@ -383,10 +386,12 @@ class ScreenService {
383
386
  log: this.options.log,
384
387
  label: `screen worker for ${name}`,
385
388
  logPrefix: `screen ${name}`,
389
+ // The worker logs status changes at INFO, the rest at DEBUG (DESIGN.md §6.2).
390
+ infoLevel: 'info',
386
391
  timeoutFor: (method) => TIMEOUTS[method] ?? DEFAULT_TIMEOUT_MS,
387
392
  describeReady: (ready) => `${name}: screen worker ready (${ready?.backend ?? '?'}, pymobiledevice3 ${ready?.pymobiledevice3 ?? 'n/a'})`,
388
393
  });
389
- const worker = { client, spec, status: null };
394
+ const worker = { client, spec, status: null, announced: null };
390
395
  client.on('exit', () => {
391
396
  worker.status = null;
392
397
  // The restart picks up a new address (DHCP) or pair record.
@@ -404,14 +409,33 @@ class ScreenService {
404
409
  const previous = worker.status;
405
410
  worker.status = status;
406
411
  const name = this.options.devices.displayName(device);
407
- if (status.tunnel !== previous?.tunnel) {
408
- const detail = status.error ? ` (${status.error})` : '';
409
- this.options.log.debug(`${name}: screen reading ${status.tunnel}${detail}`);
410
- }
412
+ if (status.tunnel !== previous?.tunnel)
413
+ this.announce(device, worker, status);
411
414
  if (status.identifier && status.identifier !== device.record?.remotePairing?.identifier) {
412
415
  this.remember(device, status.identifier).catch((error) => this.options.log.error(`${name}: cannot save the RemotePairing identifier: ${(0, logger_1.errorMessage)(error)}`));
413
416
  }
414
417
  }
418
+ /**
419
+ * Tunnel changes at info, so a field failure shows in the normal log; while a reconnect keeps
420
+ * failing (every 2 to 60 s), only its first failure.
421
+ */
422
+ announce(device, worker, status) {
423
+ const name = this.options.devices.displayName(device);
424
+ const detail = status.error ? ` (${status.error})` : '';
425
+ const retrying = status.tunnel === 'connecting' && worker.announced === 'disconnected';
426
+ if (status.tunnel === worker.announced || retrying) {
427
+ this.options.log.debug(`${name}: screen reading ${status.tunnel}${detail}`);
428
+ return;
429
+ }
430
+ const lines = {
431
+ connected: 'connected',
432
+ connecting: worker.announced === 'connected' ? 'reconnecting' : 'connecting',
433
+ disconnected: `disconnected${detail}; retrying with backoff`,
434
+ unpaired: `not paired${detail}; pair it with agent-atv pair ${device.id} --screen`,
435
+ };
436
+ worker.announced = status.tunnel;
437
+ this.options.log.info(`${name}: screen reading ${lines[status.tunnel]}`);
438
+ }
415
439
  async remember(device, identifier) {
416
440
  await this.options.devices.setRemotePairing(device, identifier);
417
441
  const worker = this.workers.get(device.id);
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/screen/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/screen/service.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAsD;AACtD,+CAAgD;AAChD,qCAAiC;AACjC,0DAA6B;AAC7B,0CAAqD;AACrD,6CAA+F;AAG/F,wCAAuC;AACvC,sCAAsD;AACtD,6CAAiD;AA0FjD,MAAM,MAAM,GAAG,IAAI,CAAC;AACpB,8FAA8F;AAC9F,MAAM,QAAQ,GAA2B;IACvC,IAAI,EAAE,CAAC,GAAG,MAAM;IAChB,KAAK,EAAE,EAAE,GAAG,MAAM;IAClB,UAAU,EAAE,EAAE,GAAG,MAAM;IACvB,UAAU,EAAE,GAAG,GAAG,MAAM;IACxB,YAAY,EAAE,EAAE,GAAG,MAAM;IACzB,UAAU,EAAE,EAAE,GAAG,MAAM;CACxB,CAAC;AACF,MAAM,kBAAkB,GAAG,EAAE,GAAG,MAAM,CAAC;AACvC,MAAM,aAAa,GAAG,EAAE,GAAG,MAAM,CAAC;AAClC,wGAAwG;AACxG,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,+FAA+F;AAC/F,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,0EAA0E;AAC1E,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAErC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAErF,MAAM,OAAO,GAA2B;IACtC,qBAAqB,EAAE,oBAAoB;IAC3C,iBAAiB,EAAE,2BAA2B;IAC9C,kBAAkB,EAAE,8BAA8B;IAClD,aAAa,EAAE,iBAAiB;IAChC,UAAU,EAAE,cAAc;CAC3B,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAEhF,MAAM,WAAW,GAAG,CAAC,CAAe,EAAE,CAAe,EAAW,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAEpG,MAAM,cAAc,GAAG,CAAC,KAAc,EAAqB,EAAE,CAAC,KAAK,YAAY,iBAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC;AAApH,QAAA,cAAc,kBAAsG;AAEjI,oGAAoG;AACpG,MAAa,aAAa;IAUL;IATnB,MAAM,CAAe;IACb,KAAK,GAAkB,IAAI,CAAC;IAC5B,MAAM,CAAS;IACN,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,OAAO,GAAG,KAAK,CAAC;IAChB,SAAS,CAAU;IACnB,OAAO,GAAG,KAAK,CAAC;IAExB,YACmB,OAahB;QAbgB,YAAO,GAAP,OAAO,CAavB;QAED,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,iHAAiH;IACjH,KAAK;QACH,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,IAAA,qBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7H,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,IAAA,qBAAY,EAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,IAAA,qBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChF,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,6FAA6F;IAC7F,MAAM;QACJ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACxD,CAAC;IAED,0EAA0E;IAClE,KAAK,CAAC,KAAK,CAAC,MAAc;QAChC,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,IAAA,mBAAS,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAEO,IAAI,CAAC,OAAe;QAC1B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,IAAA,qBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAClI,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC1F,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;YAAE,MAAM,GAAG,uBAAuB,CAAC;aAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY;YAAE,MAAM,GAAG,6DAA6D,CAAC;aACzG,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;YAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;aACjD,IAAI,CAAC,SAAS;YAAE,MAAM,GAAG,0CAA0C,CAAC;QACzE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;IACvI,CAAC;IAED,QAAQ,CAAC,MAAc;QACrB,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,UAAU,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAc;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAyC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrG,uFAAuF;QACvF,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,EAAE,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,iBAAQ,CAAC,eAAe,EAAE,0BAA0B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAC;QACnJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iFAAiF;IACjF,SAAS,CAAC,MAAc,EAAE,IAAe;QACvC,OAAO,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,iBAAiB,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,EAAE,MAAM,EAAE,UAAU,EAA4C;QAC3F,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1H,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,yGAAyG;IACzG,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,QAAiB;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAa,MAAM,EAAE,YAAY,CAAC,CAAC;QAC5D,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC3F,CAAC;IAED,uGAAuG;IACvG,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,QAAQ,GAAG,cAAc;QACvD,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QACrG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,wBAAwB,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,MAAc;QAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC;QACrD,IAAI,MAAM,KAAK,WAAW;YAAE,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,IAAI,YAAY,CAAC,CAAC;IACrF,CAAC;IAEO,WAAW,CAAC,MAAc,EAAE,KAAc,EAAE,MAAc;QAChE,MAAM,QAAQ,GAAG,IAAA,mBAAU,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzG,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChF,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,UAA8B;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;QAC5C,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,IAA2B,CAAC;QAChC,IAAI,QAAQ,GAAG,IAAI,iBAAQ,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,0CAA0C,EAAE,EAAE,CAAC,CAAC;QACxI,KAAK,IAAI,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;YACrE,IAAI,IAAe,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACvH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,IAAA,sBAAc,EAAC,KAAK,CAAC,EAAE,CAAC;oBAC3B,IAAI,KAAK;wBAAE,MAAM,KAAK,CAAC;oBACvB,MAAM;gBACR,CAAC;gBACD,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBACtC,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC7B,SAAS;YACX,CAAC;YACD,IAAI,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,UAAU,EAAE,CAAC;gBAC5D,IAAI,GAAG,SAAS,CAAC;gBACjB,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC7B,SAAS;YACX,CAAC;YACD,IAAI,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC,OAAO,CAAC;YACzE,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QAC9B,MAAM,QAAQ,CAAC;IACjB,CAAC;IAEO,UAAU,CAAC,MAAc,EAAE,EAAU;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAEO,MAAM,CAAI,MAAc,EAAE,IAAgB,EAAE,EAAU,EAAE,IAAY;QAC1E,IAAI,KAAiC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;YACtD,KAAK,GAAG,UAAU,CAChB,GAAG,EAAE,CACH,MAAM,CACJ,IAAI,iBAAQ,CAAC,oBAAoB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,uBAAuB,IAAI,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE;gBACnI,IAAI,EAAE,wBAAwB;aAC/B,CAAC,CACH,EACH,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAChB,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,WAA+B,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,KAAqB,EAAE;QAC9G,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAA,gBAAM,GAAE,EAAE,aAAa,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACpH,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YACjH,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAQ,EAAC,GAAG,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,KAAK,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,iBAAQ,CAAC,eAAe,EAAE,6CAA6C,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACxH,MAAM,MAAM,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChE,IAAI,WAAW,KAAK,MAAM;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QACnI,CAAC;gBAAS,CAAC;YACT,MAAM,IAAA,aAAE,EAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc;QAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,2FAA2F;IAC3F,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,GAAW;QACvC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAyB,MAAM,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACtH,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO;QAC9C,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,IAAA,qBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7I,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,MAAc;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC;QAClG,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,0FAA0F;YAC1F,KAAK,MAAM,MAAM,IAAI,CAAC,mBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC;gBAC3F,MAAM,IAAA,aAAE,EAAC,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,UAAU,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/B,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,IAAA,qBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1I,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,MAAc,EAAE,UAAU,GAAG,IAAI;QAChD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,iBAAQ,CAAC,uBAAuB,EAAE,8CAA8C,EAAE,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACjC,MAAM,IAAI,iBAAQ,CAAC,oBAAoB,EAAE,yCAAyC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE;gBAC3G,IAAI,EAAE,6DAA6D;aACpE,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,iBAAQ,CAAC,uBAAuB,EAAE,0CAA0C,IAAI,CAAC,KAAK,IAAI,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE;gBAC9I,IAAI,EAAE,4FAA4F;aACnG,CAAC,CAAC;QACL,CAAC;QACD,IAAI,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC/C,MAAM,IAAI,iBAAQ,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;gBACrG,IAAI,EAAE,gCAAgC;aACvC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,MAAc,EAAE,MAAc;QAChD,IAAI,MAAM,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,IAAI,iBAAQ,CAAC,oBAAoB,EAAE,qBAAqB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;YAClI,IAAI,EAAE,wBAAwB;SAC/B,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,MAAc;QAC9B,OAAO,IAAI,iBAAQ,CAAC,mBAAmB,EAAE,mCAAmC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE;YAC7I,IAAI,EAAE,sBAAsB,MAAM,CAAC,EAAE,WAAW;SACjD,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,OAAO,CAAW,MAAc,EAAE,MAAc,EAAE,SAAe,EAAE,EAAE,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,EAAE;QAC3G,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,iBAAQ,CAAC,oBAAoB,EAAE,gCAAgC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE;gBAC3G,IAAI,EAAE,kEAAkE;aACzE,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAI,MAAM,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,MAAc,EAAE,KAAc;QAC7C,IAAI,CAAC,CAAC,KAAK,YAAY,oBAAW,CAAC;YAAE,OAAO,IAAA,mBAAU,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACxG,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,mBAAmB;gBACtB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAChC,KAAK,oBAAoB;gBACvB,OAAO,IAAI,iBAAQ,CAAC,oBAAoB,EAAE,GAAG,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE;oBACpF,IAAI,EAAE,uDAAuD;iBAC9D,CAAC,CAAC;YACL,KAAK,oBAAoB;gBACvB,OAAO,IAAI,iBAAQ,CAAC,oBAAoB,EAAE,yBAAyB,IAAI,gBAAgB,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;YAC9I,KAAK,gBAAgB;gBACnB,OAAO,IAAI,iBAAQ,CAAC,eAAe,EAAE,yBAAyB,IAAI,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9G,KAAK,gBAAgB;gBACnB,OAAO,IAAI,iBAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;oBAClE,IAAI,EAAE,yGAAyG,MAAM,CAAC,EAAE,WAAW;iBACpI,CAAC,CAAC;YACL;gBACE,OAAO,IAAA,mBAAU,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,MAAc;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,IAAI,GAAc,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QAChI,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,qBAAY,CAAc;YAC3C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,IAAI;YACJ,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;YACrB,KAAK,EAAE,qBAAqB,IAAI,EAAE;YAClC,SAAS,EAAE,UAAU,IAAI,EAAE;YAC3B,8EAA8E;YAC9E,SAAS,EAAE,MAAM;YACjB,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,kBAAkB;YAC9D,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,0BAA0B,KAAK,EAAE,OAAO,IAAI,GAAG,qBAAqB,KAAK,EAAE,eAAe,IAAI,KAAK,GAAG;SACxI,CAAC,CAAC;QACH,MAAM,MAAM,GAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACvE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACrB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,4DAA4D;YAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC1C,IAAI,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAoB,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,QAAQ,CAAC,MAAc,EAAE,MAAc,EAAE,MAAoB;QACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAC/B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9E,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;YACxF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,+CAA+C,IAAA,qBAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CACpG,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,QAAQ,CAAC,MAAc,EAAE,MAAc,EAAE,MAAoB;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,YAAY,IAAI,MAAM,CAAC,SAAS,KAAK,cAAc,CAAC;QACvF,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,oBAAoB,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;YAC5E,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAA2B;YACpC,SAAS,EAAE,WAAW;YACtB,UAAU,EAAE,MAAM,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY;YAC5E,YAAY,EAAE,eAAe,MAAM,yBAAyB;YAC5D,QAAQ,EAAE,aAAa,MAAM,iCAAiC,MAAM,CAAC,EAAE,WAAW;SACnF,CAAC;QACF,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,oBAAoB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,UAAkB;QACvD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAEO,OAAO,CAAC,MAAc;QAC5B,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC;QAC5D,IAAI,UAAU;YAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,QAAQ;QACd,MAAM,GAAG,GAAsB,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5D,IAAI,KAAK,KAAK,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC;gBAAE,SAAS;YACjG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACnB,CAAC;QACD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QACzB,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QACxC,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAjcD,sCAicC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge-agent-atv",
3
3
  "displayName": "Agent ATV",
4
- "version": "0.1.0",
4
+ "version": "0.1.1",
5
5
  "description": "Control an Apple TV from AI agents: an authenticated HTTP API (pyatv bridge), keyboard input, wait conditions, optional screen reading (focused element, screenshots), and a minimal HomeKit TV accessory.",
6
6
  "license": "MIT",
7
7
  "author": "AlexDemzz",
@@ -3,16 +3,17 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import asyncio
6
+ import contextlib
6
7
  import ipaddress
7
8
  import logging
8
9
  import socket
9
- from typing import Any, Awaitable, Callable, Dict, Optional, TypeVar
10
+ from typing import Any, Awaitable, Callable, Dict, Iterator, Optional, TypeVar
10
11
 
11
12
  from .errors import BridgeError, exception_classes, map_exception
12
13
  from .pairing import PairingSessions
13
14
  from .keys import INPUT_ACTIONS, KEYS_WITH_ACTION
14
15
  from .publisher import StatePublisher, Timings
15
- from .state import build_state, device_id, device_summary, feature_unavailable, keyboard_focus, scan_device
16
+ from .state import build_state, device_id, device_summary, feature_unavailable, keyboard_focus, power_state, scan_device
16
17
 
17
18
  _LOGGER = logging.getLogger("agent_atv_bridge.pyatv")
18
19
 
@@ -35,6 +36,7 @@ class _Listener:
35
36
  self._connection.publisher.notify()
36
37
 
37
38
  def powerstate_update(self, old_state: Any, new_state: Any) -> None:
39
+ self._connection.power_changed.set()
38
40
  self._connection.publisher.notify()
39
41
 
40
42
  def volume_update(self, old_level: float, new_level: float) -> None:
@@ -65,6 +67,7 @@ class _Connection:
65
67
  protocols: Dict[str, bool],
66
68
  *,
67
69
  const: Any,
70
+ exceptions: Any,
68
71
  timings: Timings,
69
72
  emit: Emit,
70
73
  on_dropped: Callable[["_Connection"], bool],
@@ -76,17 +79,87 @@ class _Connection:
76
79
  self.playing: Any = None
77
80
  self.keyboard_text: Optional[str] = None
78
81
  self._const = const
82
+ self._exceptions = exceptions
79
83
  self._timings = timings
80
84
  self._emit = emit
81
85
  self._on_dropped = on_dropped
82
86
  self.publisher = StatePublisher(self.state, lambda state: emit("state", device, state), timings)
83
87
  self.listener = _Listener(self)
84
88
  self.tasks: set = set()
89
+ self.power_changed = asyncio.Event()
90
+ self.probe_supported = True
91
+ self._companion: Any = None
92
+ self.power_commands = 0
93
+ self.power_commands_started = 0
94
+ self._session_check: Optional[asyncio.Task] = None
85
95
 
86
96
  def state(self) -> Dict[str, Any]:
87
97
  volume_available = not feature_unavailable(self.atv, self._const, "Volume")
88
98
  return build_state(self.atv, self.summary, self.protocols, self.playing, self.keyboard_text, volume_available)
89
99
 
100
+ async def wait_for_power(self, target: str, timeout_s: float) -> bool:
101
+ deadline = asyncio.get_running_loop().time() + timeout_s
102
+ while power_state(self.atv) != target:
103
+ remaining = deadline - asyncio.get_running_loop().time()
104
+ if remaining <= 0:
105
+ return False
106
+ self.power_changed.clear()
107
+ try:
108
+ await asyncio.wait_for(self.power_changed.wait(), remaining)
109
+ except asyncio.TimeoutError:
110
+ pass
111
+ return True
112
+
113
+ async def probe(self, grace_s: float = 0, current: Callable[[], bool] = lambda: True) -> Optional[str]:
114
+ """The power the Apple TV reports when asked (not pushed); None without an answer.
115
+
116
+ pyatv can keep a session whose pushed updates stopped while its sockets stay up, so the
117
+ session is dropped (and the plugin reconnects) when the answer is missing or disagrees.
118
+ A result for which `current()` turned false, a power command having overtaken it, is ignored.
119
+ """
120
+ if not self.probe_supported:
121
+ return None
122
+ timeout_s = self._timings.probe_timeout_s
123
+ try:
124
+ probed = await asyncio.wait_for(_attention_power(self._companion), timeout_s)
125
+ except Exception as exc:
126
+ if _refused(exc, self._exceptions):
127
+ if self.probe_supported:
128
+ _LOGGER.warning("%s: cannot check the session for missed updates: %s", self.device, exc)
129
+ self.probe_supported = False
130
+ elif current():
131
+ failure = f"no answer within {timeout_s:g} s" if _is_timeout(exc) else f"failed: {exc}"
132
+ self.stale(f"FetchAttentionState {failure}")
133
+ return None
134
+ if probed != power_state(self.atv) and grace_s:
135
+ await asyncio.sleep(grace_s)
136
+ session = power_state(self.atv)
137
+ _LOGGER.debug("%s: session check: the Apple TV says power %s, the session %s", self.device, probed, session)
138
+ if probed != "unknown" and probed != session and current():
139
+ self.stale(f"the Apple TV says power {probed} but the session still says {session}")
140
+ return probed
141
+
142
+ async def _check_session_periodically(self) -> None:
143
+ while self.probe_supported:
144
+ await asyncio.sleep(self._timings.probe_interval_s)
145
+ if self.power_commands:
146
+ continue
147
+ commands_before = self.power_commands_started
148
+ await self.probe(self._timings.probe_grace_s, current=lambda: self.power_commands_started == commands_before)
149
+
150
+ @contextlib.contextmanager
151
+ def power_command(self) -> Iterator[None]:
152
+ self.power_commands += 1
153
+ self.power_commands_started += 1
154
+ try:
155
+ yield
156
+ finally:
157
+ self.power_commands -= 1
158
+
159
+ def stale(self, why: str) -> None:
160
+ _LOGGER.warning("%s: pushed updates stopped (%s); reconnecting", self.device, why)
161
+ self.dropped("stale_session", why)
162
+
90
163
  def _spawn(self, call: Awaitable[Any]) -> None:
91
164
  task = asyncio.ensure_future(call)
92
165
  self.tasks.add(task)
@@ -130,8 +203,20 @@ class _Connection:
130
203
  if keyboard_focus(self.atv) == "focused":
131
204
  await self.refresh_keyboard()
132
205
  self.publisher.start()
206
+ try:
207
+ self._companion = _companion_api(self.atv, self._const)
208
+ except (AttributeError, KeyError) as exc:
209
+ _LOGGER.warning(
210
+ "%s: cannot check the session for missed updates (this pyatv has no Companion power API: %r); "
211
+ "update homebridge-agent-atv", self.device, exc,
212
+ )
213
+ self.probe_supported = False
214
+ return
215
+ self._session_check = asyncio.ensure_future(self._check_session_periodically())
133
216
 
134
217
  async def close(self) -> None:
218
+ if self._session_check is not None:
219
+ self._session_check.cancel()
135
220
  self.publisher.stop()
136
221
  try:
137
222
  self.atv.push_updater.stop()
@@ -275,6 +360,7 @@ class PyatvBackend:
275
360
  config,
276
361
  protocols,
277
362
  const=self._pyatv.const,
363
+ exceptions=self._pyatv.exceptions,
278
364
  timings=self._timings,
279
365
  emit=lambda *event: self._emit(*event),
280
366
  on_dropped=self._forget_connection,
@@ -339,13 +425,31 @@ class PyatvBackend:
339
425
 
340
426
  async def power_set(self, params: Dict[str, Any]) -> Dict[str, Any]:
341
427
  connection = self._connection(params["device"])
428
+ with connection.power_command():
429
+ return await self._set_power(connection, params["on"])
430
+
431
+ async def _set_power(self, connection: _Connection, on: bool) -> Dict[str, Any]:
342
432
  power = connection.atv.power
343
- if params["on"]:
433
+ # Companion raises NotImplementedError for await_new_state=True, so the bridge waits itself.
434
+ if on:
435
+ target, wait_s = "on", self._timings.power_on_wait_s
344
436
  await self._guard(power.turn_on(await_new_state=False), feature="TurnOn")
345
437
  else:
438
+ target, wait_s = "off", self._timings.power_off_wait_s
346
439
  await self._guard(power.turn_off(await_new_state=False), feature="TurnOff")
440
+ if not await connection.wait_for_power(target, wait_s):
441
+ if await connection.probe() != target:
442
+ current = power_state(connection.atv)
443
+ raise BridgeError(
444
+ "POWER_NOT_CONFIRMED",
445
+ f"{connection.summary['name']} still reports power {current} {wait_s:g} s after power {target}",
446
+ {"requested": target, "power": current},
447
+ )
448
+ if self._connections.get(connection.device) is not connection:
449
+ # The probe dropped the stale session; the reconnect publishes the state.
450
+ return {"power": target}
347
451
  connection.publisher.notify()
348
- return {"power": connection.state()["power"]}
452
+ return {"power": target}
349
453
 
350
454
  async def volume_set(self, params: Dict[str, Any]) -> Dict[str, Any]:
351
455
  connection = self._connection(params["device"])
@@ -398,6 +502,30 @@ class PyatvBackend:
398
502
  await self._connections.pop(device).close()
399
503
 
400
504
 
505
+ def _companion_api(atv: Any, const: Any) -> Any:
506
+ """pyatv 0.18 only exposes Companion FetchAttentionState on its private Companion power object."""
507
+ return atv.power._interfaces[const.Protocol.Companion].api
508
+
509
+
510
+ async def _attention_power(companion: Any) -> str:
511
+ status = await companion.fetch_attention_state()
512
+ if status.name == "Asleep":
513
+ return "off"
514
+ return "on" if status.name in ("Awake", "Idle", "Screensaver") else "unknown"
515
+
516
+
517
+ def _refused(exc: BaseException, exceptions: Any) -> bool:
518
+ """The Apple TV answered without a state: pyatv raises ProtocolError without a cause."""
519
+ protocol_error = exception_classes(exceptions, "ProtocolError")
520
+ return bool(protocol_error) and isinstance(exc, protocol_error) and exc.__cause__ is None
521
+
522
+
523
+ def _is_timeout(exc: BaseException) -> bool:
524
+ """pyatv wraps its own Companion request timeout in a ProtocolError."""
525
+ timeouts = (asyncio.TimeoutError, TimeoutError)
526
+ return isinstance(exc, timeouts) or isinstance(exc.__cause__, timeouts)
527
+
528
+
401
529
  async def _ipv4(address: str) -> Optional[str]:
402
530
  """pyatv's unicast scan takes IPv4 literals only; host names are resolved, unresolvable ones skipped."""
403
531
  try:
@@ -21,6 +21,13 @@ class Timings:
21
21
  # Below the plugin's 10 s timeouts (DESIGN.md §2.4) so a hung call answers DEVICE_TIMEOUT first.
22
22
  call_timeout_s: float = 8.0
23
23
  connect_timeout_s: float = 25.0
24
+ # Measured on tvOS 27.2: the pushed power state flips 6 to 7.5 s after turn_on, within 1.5 s after turn_off.
25
+ power_on_wait_s: float = 20.0
26
+ power_off_wait_s: float = 10.0
27
+ # Companion's own request timeout is 5 s; this lets it answer first.
28
+ probe_timeout_s: float = 6.0
29
+ probe_interval_s: float = 60.0
30
+ probe_grace_s: float = 3.0
24
31
 
25
32
 
26
33
  def _without_position(state: Dict[str, Any]) -> Dict[str, Any]:
@@ -111,6 +111,10 @@ def app_state(app: Any) -> Optional[Dict[str, Any]]:
111
111
  return {"bundleId": app.identifier, "name": app.name or app.identifier}
112
112
 
113
113
 
114
+ def power_state(atv: Any) -> str:
115
+ return enum_name(_read(lambda: atv.power.power_state))
116
+
117
+
114
118
  def keyboard_focus(atv: Any) -> str:
115
119
  return enum_name(_read(lambda: atv.keyboard.text_focus_state))
116
120
 
@@ -134,7 +138,7 @@ def build_state(
134
138
  volume = _read(lambda: atv.audio.volume) if volume_available else None
135
139
  return {
136
140
  "device": dict(device),
137
- "power": enum_name(_read(lambda: atv.power.power_state)),
141
+ "power": power_state(atv),
138
142
  # The MRP now-playing client: the last app that played, not the foreground app.
139
143
  "nowPlaying": _read(lambda: app_state(atv.metadata.app)),
140
144
  "playing": playing_state(playing),
@@ -23,9 +23,10 @@ def _setup_logging() -> None:
23
23
  handler.setFormatter(_LineFormatter("%(levelname)s %(name)s: %(message)s"))
24
24
  root = logging.getLogger()
25
25
  root.addHandler(handler)
26
- root.setLevel(logging.DEBUG if debug else logging.INFO)
27
- for noisy in ("pymobiledevice3", "asyncio", "quic", "pytcp"):
28
- logging.getLogger(noisy).setLevel(logging.DEBUG if debug else logging.WARNING)
26
+ # The plugin logs INFO lines at info level: only the worker's own, which are status changes.
27
+ root.setLevel(logging.DEBUG if debug else logging.WARNING)
28
+ if not debug:
29
+ logging.getLogger("agent_atv_screen").setLevel(logging.INFO)
29
30
 
30
31
 
31
32
  async def _run(args: argparse.Namespace) -> None:
@@ -54,9 +55,9 @@ async def _run(args: argparse.Namespace) -> None:
54
55
  loop.add_signal_handler(signal.SIGTERM, stop.set)
55
56
  reader = asyncio.StreamReader(limit=MAX_LINE_BYTES)
56
57
  await loop.connect_read_pipe(lambda: asyncio.StreamReaderProtocol(reader), sys.stdin)
57
- _LOGGER.info("Starting with the %s backend", backend.name)
58
+ _LOGGER.debug("Starting with the %s backend", backend.name)
58
59
  await serve(backend, reader, _StdoutWriter(), stop=stop)
59
- _LOGGER.info("Stopped")
60
+ _LOGGER.debug("Stopped")
60
61
 
61
62
 
62
63
  def main(argv: list) -> int:
@@ -3,13 +3,14 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import asyncio
6
- import os
7
6
  import struct
8
7
  import zlib
9
8
  from typing import Any, Callable, Dict, Optional
10
9
 
11
10
  from agent_atv_bridge.errors import BridgeError
12
11
 
12
+ from .image import options, write_private
13
+
13
14
  FAKE_IDENTIFIER = "FAKE-REMOTEPAIRING-0001"
14
15
  FAKE_PIN = "1234"
15
16
  FAKE_FOCUS = {"label": "Fake focus", "value": None, "identifier": "fake/focus"}
@@ -23,6 +24,12 @@ def fake_png(width: int = 1920, height: int = 1080) -> bytes:
23
24
  return b"\x89PNG\r\n\x1a\n" + chunk(b"IHDR", ihdr) + chunk(b"IEND", b"")
24
25
 
25
26
 
27
+ def fake_jpeg(width: int, height: int) -> bytes:
28
+ """Just the markers that carry the size: SOI, a baseline SOF0 for 3 components, EOI."""
29
+ sof = struct.pack(">BHHB", 8, height, width, 3) + b"\x01\x11\x00\x02\x11\x00\x03\x11\x00"
30
+ return b"\xff\xd8" + b"\xff\xc0" + struct.pack(">H", len(sof) + 2) + sof + b"\xff\xd9"
31
+
32
+
26
33
  class FakeBackend:
27
34
  name = "fake"
28
35
  pmd3_version = None
@@ -60,11 +67,12 @@ class FakeBackend:
60
67
  async def screenshot(self, params: Dict[str, Any]) -> Dict[str, Any]:
61
68
  self._require_paired()
62
69
  await asyncio.sleep(0)
63
- png = fake_png()
64
- descriptor = os.open(params["path"], os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o600)
65
- with os.fdopen(descriptor, "wb") as out:
66
- out.write(png)
67
- return {"bytes": len(png)}
70
+ max_width, fmt = options(params)
71
+ width = min(1920, max_width or 1920)
72
+ height = round(1080 * width / 1920)
73
+ data = fake_jpeg(width, height) if fmt == "jpeg" else fake_png(width, height)
74
+ write_private(params["path"], data)
75
+ return {"bytes": len(data)}
68
76
 
69
77
  async def pair_begin(self, params: Dict[str, Any]) -> Dict[str, Any]:
70
78
  self._pairing = True
@@ -9,7 +9,6 @@ from __future__ import annotations
9
9
 
10
10
  import asyncio
11
11
  import logging
12
- import os
13
12
  import queue
14
13
  import threading
15
14
  from dataclasses import dataclass
@@ -18,6 +17,8 @@ from typing import Any, Callable, Dict, Iterator, List, Optional, Tuple
18
17
 
19
18
  from agent_atv_bridge.errors import BridgeError
20
19
 
20
+ from . import image
21
+
21
22
  _LOGGER = logging.getLogger("agent_atv_screen.pmd3")
22
23
 
23
24
  # HDR 4K PNGs reach about 33 MB, over pymobiledevice3's 30 MiB DTX reassembly limit.
@@ -224,6 +225,7 @@ class Pmd3Backend:
224
225
  # killed worker's, which a starting worker cannot rule out.
225
226
  self._lost_session_pending = True
226
227
  self._retarget: Optional[asyncio.Task] = None
228
+ self._follow_failing = False
227
229
  # Why the focused element is not known, or None once tvOS reported a move.
228
230
  self._unknown: Optional[str] = NOT_FOLLOWED
229
231
  self._focused: Any = None
@@ -324,7 +326,14 @@ class Pmd3Backend:
324
326
  except asyncio.CancelledError:
325
327
  raise
326
328
  except Exception as exc:
327
- _LOGGER.info("Cannot follow the focus yet (%s); the next focus read retries", _describe(exc))
329
+ # Retried at every health check: only the first failure of a streak is news.
330
+ log = _LOGGER.debug if self._follow_failing else _LOGGER.info
331
+ log("Cannot follow the focus yet (%s); the next focus read retries", _describe(exc))
332
+ self._follow_failing = True
333
+ return
334
+ if self._follow_failing:
335
+ self._follow_failing = False
336
+ _LOGGER.info("Following the focus again")
328
337
 
329
338
  def _finish_attempt(self) -> None:
330
339
  finished, self._attempt_finished = self._attempt_finished, asyncio.Event()
@@ -490,9 +499,13 @@ class Pmd3Backend:
490
499
  await asyncio.sleep(self._timings.retarget_s)
491
500
  try:
492
501
  await asyncio.wait_for(self._target(ax), self._timings.call_timeout_s)
493
- except Exception:
494
- _LOGGER.debug("Targeting the accessibility session again failed", exc_info=True)
502
+ except Exception as exc:
503
+ _LOGGER.info("Targeting the accessibility session again failed (%s); focus reads may answer unknown until the next reconnect", _describe(exc))
495
504
  return
505
+ _LOGGER.info(
506
+ "A session lost earlier may have untargeted this one: targeted the accessibility session again;"
507
+ " the focus is known again after the next move"
508
+ )
496
509
  self._lost_session_pending = False
497
510
  # The Apple TV did not report the moves made while the session was untargeted.
498
511
  self._unknown, self._focused = NOT_FOLLOWED, None
@@ -592,10 +605,10 @@ class Pmd3Backend:
592
605
  assert self._capture_lock is not None
593
606
  async with self._capture_lock:
594
607
  png = await self._with_rsd(self._capture)
595
- descriptor = os.open(params["path"], os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o600)
596
- with os.fdopen(descriptor, "wb") as out:
597
- out.write(png)
598
- return {"bytes": len(png)}
608
+ # About 1 s on a Pi for a 4K frame: off the loop, which follows the focus meanwhile.
609
+ data = await asyncio.to_thread(image.encode, png, *image.options(params))
610
+ image.write_private(params["path"], data)
611
+ return {"bytes": len(data)}
599
612
 
600
613
  async def _capture(self, rsd: Any) -> bytes:
601
614
  async with self._pmd3.dvt_provider.DvtProvider(rsd) as dvt, self._pmd3.screenshot.Screenshot(dvt) as shot:
@@ -0,0 +1,47 @@
1
+ """Screenshot output: the Apple TV's PNG as captured, or scaled down and re-encoded with Pillow (DESIGN.md §6.2)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import io
6
+ import os
7
+ from typing import Any, Dict, Optional, Tuple
8
+
9
+ from agent_atv_bridge.errors import BridgeError
10
+
11
+ FORMATS = ("png", "jpeg")
12
+
13
+
14
+ def options(params: Dict[str, Any]) -> Tuple[Optional[int], str]:
15
+ return params.get("maxWidth"), params.get("format") or "png"
16
+
17
+
18
+ def encode(png: bytes, max_width: Optional[int], fmt: str) -> bytes:
19
+ """Never upscales; returns `png` untouched when it is already what was asked for."""
20
+ if fmt == "png" and max_width is None:
21
+ return png
22
+ try:
23
+ from PIL import Image
24
+ except ImportError as exc:
25
+ raise BridgeError(
26
+ "SCREEN_FAILED",
27
+ "Pillow is missing from the screen venv: capture without maxWidth and format, or recreate the venv"
28
+ " (python.forceVenvRecreate in the plugin settings, then restart Homebridge)",
29
+ {"exception": type(exc).__name__},
30
+ ) from exc
31
+ with Image.open(io.BytesIO(png)) as image:
32
+ if fmt == "png" and image.width <= max_width:
33
+ return png
34
+ if max_width is not None and image.width > max_width:
35
+ image.thumbnail((max_width, image.height))
36
+ out = io.BytesIO()
37
+ if fmt == "jpeg":
38
+ image.convert("RGB").save(out, "JPEG")
39
+ else:
40
+ image.save(out, "PNG")
41
+ return out.getvalue()
42
+
43
+
44
+ def write_private(path: str, data: bytes) -> None:
45
+ descriptor = os.open(path, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o600)
46
+ with os.fdopen(descriptor, "wb") as out:
47
+ out.write(data)
@@ -13,6 +13,7 @@ from agent_atv_bridge.errors import BridgeError
13
13
  from agent_atv_bridge.protocol import InvalidRequest, Request, failure, parse_request, serialize, success
14
14
 
15
15
  from . import SCREEN_PROTOCOL_VERSION, __version__
16
+ from .image import FORMATS
16
17
 
17
18
  _LOGGER = logging.getLogger("agent_atv_screen.server")
18
19
 
@@ -23,7 +24,11 @@ _CHECKS: Dict[str, Dict[str, Callable[[Any], bool]]] = {
23
24
  "shutdown": {},
24
25
  "focus": {},
25
26
  "foreground": {},
26
- "screenshot": {"path": lambda v: isinstance(v, str) and os.path.isabs(v)},
27
+ "screenshot": {
28
+ "path": lambda v: isinstance(v, str) and os.path.isabs(v),
29
+ "maxWidth": lambda v: v is None or (type(v) is int and v > 0),
30
+ "format": lambda v: v is None or v in FORMATS,
31
+ },
27
32
  "pair.begin": {},
28
33
  "pair.pin": {"pin": lambda v: isinstance(v, str) and PIN.fullmatch(v) is not None},
29
34
  "pair.cancel": {},
@@ -1,3 +1,6 @@
1
1
  # pymobiledevice3 for the screen worker (DESIGN.md §6). Its dependencies resolve at install time.
2
2
  # On Python < 3.13 it builds sslpsk-pmd3 from source, which needs a C compiler and the Python and OpenSSL headers.
3
3
  pymobiledevice3==11.49.1
4
+ # Scales screenshots down and encodes them as JPEG (screenshot maxWidth and format). Already a
5
+ # pymobiledevice3 dependency; listed because the worker imports it, and left to resolve with it.
6
+ Pillow
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pngSize = pngSize;
4
- const SIGNATURE = Buffer.from([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);
5
- /** Width and height from the IHDR chunk, or null when `data` isn't a PNG. */
6
- function pngSize(data) {
7
- if (data.length < 24 || !data.subarray(0, 8).equals(SIGNATURE))
8
- return null;
9
- if (data.toString('ascii', 12, 16) !== 'IHDR')
10
- return null;
11
- return { width: data.readUInt32BE(16), height: data.readUInt32BE(20) };
12
- }
13
- //# sourceMappingURL=png.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"png.js","sourceRoot":"","sources":["../../src/screen/png.ts"],"names":[],"mappings":";;AAGA,0BAIC;AAPD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAEhF,6EAA6E;AAC7E,SAAgB,OAAO,CAAC,IAAY;IAClC,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5E,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC3D,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;AACzE,CAAC"}