{"data":{"format":"sidebud-widget-pack","formatVersion":2,"exportedAt":"2026-09-26T11:45:26.223Z","manifest":{"id":"app.sidebud.trello","mcp":{"env":{"TRELLO_TOKEN":"{{secret.TRELLO_TOKEN}}","TRELLO_API_KEY":"{{secret.TRELLO_API_KEY}}"},"args":["server/index.mjs"],"command":"node","transport":"stdio"},"data":[{"id":"cards","tool":"list_cards","arguments":{"limit":20,"boardId":"{{setting.boardId}}"},"refreshSeconds":300}],"logo":{"kind":"icon","name":"chat"},"name":"Trello","setup":{"steps":["Create a Trello API key and authorize a user token with scope=read.","Save the key, token, and board ID. The pack pins every call to that board; the token itself may reach other boards."],"prerequisites":[{"name":"Node.js","command":"node"}]},"skill":{"path":"SKILL.md"},"author":{"name":"Sidebud"},"blocks":[{"item":{"title":"{{item/name}}","subtitle":"{{item/due|default:No due date}}"},"type":"list","items":"{{cards/cards}}","limit":8,"emptyText":"No open cards"}],"glance":{"line":"{{cards/total|default:0}} open cards"},"license":"MIT","listing":{"account":"One selected board","category":"productivity","homepage":"https://developer.atlassian.com/cloud/trello/","connectsTo":"The Trello REST API, through the server in this pack"},"preview":{"at":"2026-09-25T09:00:00.000Z","data":{"cards":{"cards":[{"due":"Fri, Sep 26","name":"Write the launch post"},{"due":"Mon, Sep 29","name":"Record the demo video"},{"name":"Update pricing page"}],"total":6}}},"secrets":[{"name":"TRELLO_API_KEY","description":"API key from your Trello Power-Up administration page."},{"name":"TRELLO_TOKEN","description":"User token authorized with scope=read only. The token may access more boards than this pack exposes."}],"version":"2.0.0","controls":[{"id":"summary","kind":"prompt","label":"Summarize board","prompt":"Summarize open cards and upcoming deadlines on my configured Trello board.","default":true}],"settings":[{"id":"boardId","type":"text","label":"Board ID","required":true,"description":"Board ID or the short ID from the board URL."}],"description":"Read a selected board, lists, and cards through the small server in this pack, over the official Trello REST API.","permissions":{"tools":[{"name":"get_board","access":"read","argumentSettings":{"boardId":"boardId"}},{"name":"list_lists","access":"read","argumentSettings":{"boardId":"boardId"}},{"name":"list_cards","access":"read","argumentSettings":{"boardId":"boardId"}}],"network":["api.trello.com"]},"schemaVersion":3,"contentHash":"sha256:84fbbc2b7ceaa7ff69e6961fd8cdb04648fd51a76f375edf57732bd0787b1077"},"files":{"server/index.mjs":"Ly8gUmVhZC1vbmx5IFRyZWxsbyBNQ1Agc2VydmVyIGZvciB0aGlzIHBhY2ssIG92ZXIgdGhlIG9mZmljaWFsIFJFU1QgQVBJLiBUaGUKLy8gY29tcGFuaW9uIHBhc3NlcyB0aGUgQVBJIGtleSBhbmQgcmVhZC1vbmx5IHVzZXIgdG9rZW4gaW4gVFJFTExPX0FQSV9LRVkgYW5kCi8vIFRSRUxMT19UT0tFTi4gRXZlcnkgZW5kcG9pbnQgaXMgYW5jaG9yZWQgdG8gb25lIGJvYXJkOyB0aGUgcGFjayBwaW5zIGJvYXJkSWQKLy8gdG8gaXRzIGNvbmZpZ3VyZWQgYm9hcmQuCmltcG9ydCB7IHBhdGhUb0ZpbGVVUkwgfSBmcm9tICdub2RlOnVybCcKaW1wb3J0IHsgYXJnLCBzZXJ2ZSB9IGZyb20gJy4vbWNwLm1qcycKCmNvbnN0IHJlYWQgPSB7IHJlYWRPbmx5SGludDogdHJ1ZSwgZGVzdHJ1Y3RpdmVIaW50OiBmYWxzZSwgaWRlbXBvdGVudEhpbnQ6IHRydWUgfQpjb25zdCBCT0FSRF9JRCA9IC9eW2EtekEtWjAtOV17OCwzMn0kLwpjb25zdCBwaWNrID0gKHZhbHVlLCBrZXlzKSA9PiBPYmplY3QuZnJvbUVudHJpZXMoa2V5cy5maWx0ZXIoKGtleSkgPT4gdmFsdWU/LltrZXldICE9PSB1bmRlZmluZWQpLm1hcCgoa2V5KSA9PiBba2V5LCB2YWx1ZVtrZXldXSkpCgovKiogVGhlIHNlcnZlcidzIHRvb2xzOyBgY3JlZGVudGlhbHMoKWAgcmVhZHMgdGhlIGN1cnJlbnQga2V5IGFuZCB0b2tlbi4gKi8KZXhwb3J0IGZ1bmN0aW9uIHRyZWxsb1Rvb2xzKHsgY3JlZGVudGlhbHMsIGZldGNoID0gZ2xvYmFsVGhpcy5mZXRjaCB9KSB7CiAgYXN5bmMgZnVuY3Rpb24gcmVxdWVzdChwYXRoLCBwYXJhbXMpIHsKICAgIGNvbnN0IHsga2V5LCB0b2tlbiB9ID0gY3JlZGVudGlhbHMoKQogICAgaWYgKCFrZXkgfHwgIXRva2VuKSB0aHJvdyBuZXcgRXJyb3IoJ1NldCB0aGUgVHJlbGxvIEFQSSBrZXkgYW5kIHJlYWQtb25seSB1c2VyIHRva2VuLicpCiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKGBodHRwczovL2FwaS50cmVsbG8uY29tLzEvYm9hcmRzLyR7cGF0aH1gKQogICAgZm9yIChjb25zdCBbbmFtZSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtcykpIHVybC5zZWFyY2hQYXJhbXMuc2V0KG5hbWUsIHZhbHVlKQogICAgbGV0IHJlc3BvbnNlCiAgICB0cnkgewogICAgICByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCwgewogICAgICAgIHJlZGlyZWN0OiAnZXJyb3InLAogICAgICAgIHNpZ25hbDogQWJvcnRTaWduYWwudGltZW91dCgyMF8wMDApLAogICAgICAgIGhlYWRlcnM6IHsgYWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsIGF1dGhvcml6YXRpb246IGBPQXV0aCBvYXV0aF9jb25zdW1lcl9rZXk9IiR7ZW5jb2RlVVJJQ29tcG9uZW50KGtleSl9Iiwgb2F1dGhfdG9rZW49IiR7ZW5jb2RlVVJJQ29tcG9uZW50KHRva2VuKX0iYCB9LAogICAgICB9KQogICAgfSBjYXRjaCB7CiAgICAgIHRocm93IG5ldyBFcnJvcignVHJlbGxvIGNvdWxkIG5vdCBiZSByZWFjaGVkLiBUcnkgdGhlIHJlYWQgYWdhaW4gbGF0ZXIuJykKICAgIH0KICAgIGlmICghcmVzcG9uc2Uub2spIHRocm93IG5ldyBFcnJvcihgVHJlbGxvIHJlcXVlc3QgZmFpbGVkICgke3Jlc3BvbnNlLnN0YXR1c30pLiBDaGVjayBhY2NvdW50IGFjY2VzcywgdG9rZW4gZXhwaXJ5LCBhbmQgYm9hcmQgSUQuYCkKICAgIHRyeSB7CiAgICAgIHJldHVybiBhd2FpdCByZXNwb25zZS5qc29uKCkKICAgIH0gY2F0Y2ggewogICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RyZWxsbyByZXR1cm5lZCBhbiBpbnZhbGlkIHJlc3BvbnNlLicpCiAgICB9CiAgfQogIGNvbnN0IGJvYXJkSWQgPSB7IHR5cGU6ICdzdHJpbmcnLCBwYXR0ZXJuOiBCT0FSRF9JRC5zb3VyY2UgfQogIGNvbnN0IGJvYXJkID0gKGFyZ3MpID0+IGFyZy5zdHJpbmcoYXJncywgJ2JvYXJkSWQnLCB7IHBhdHRlcm46IEJPQVJEX0lEIH0pCiAgcmV0dXJuIFsKICAgIHsKICAgICAgbmFtZTogJ2dldF9ib2FyZCcsCiAgICAgIGRlc2NyaXB0aW9uOiAnUmVhZCB0aGUgc2VsZWN0ZWQgVHJlbGxvIGJvYXJkLicsCiAgICAgIGlucHV0U2NoZW1hOiB7IHR5cGU6ICdvYmplY3QnLCBwcm9wZXJ0aWVzOiB7IGJvYXJkSWQgfSwgcmVxdWlyZWQ6IFsnYm9hcmRJZCddIH0sCiAgICAgIGFubm90YXRpb25zOiByZWFkLAogICAgICBydW46IGFzeW5jIChhcmdzKSA9PiAoeyBib2FyZDogcGljayhhd2FpdCByZXF1ZXN0KGJvYXJkKGFyZ3MpLCB7IGZpZWxkczogJ2lkLG5hbWUsZGVzYyx1cmwsY2xvc2VkJyB9KSwgWydpZCcsICduYW1lJywgJ2Rlc2MnLCAndXJsJywgJ2Nsb3NlZCddKSB9KSwKICAgIH0sCiAgICB7CiAgICAgIG5hbWU6ICdsaXN0X2xpc3RzJywKICAgICAgZGVzY3JpcHRpb246ICdSZWFkIG9wZW4gbGlzdHMgb24gdGhlIHNlbGVjdGVkIGJvYXJkLicsCiAgICAgIGlucHV0U2NoZW1hOiB7IHR5cGU6ICdvYmplY3QnLCBwcm9wZXJ0aWVzOiB7IGJvYXJkSWQgfSwgcmVxdWlyZWQ6IFsnYm9hcmRJZCddIH0sCiAgICAgIGFubm90YXRpb25zOiByZWFkLAogICAgICBydW46IGFzeW5jIChhcmdzKSA9PiB7CiAgICAgICAgY29uc3QgbGlzdHMgPSBhd2FpdCByZXF1ZXN0KGAke2JvYXJkKGFyZ3MpfS9saXN0c2AsIHsgZmlsdGVyOiAnb3BlbicsIGZpZWxkczogJ2lkLG5hbWUsY2xvc2VkJyB9KQogICAgICAgIHJldHVybiB7IGxpc3RzOiAoQXJyYXkuaXNBcnJheShsaXN0cykgPyBsaXN0cyA6IFtdKS5tYXAoKGxpc3QpID0+IHBpY2sobGlzdCwgWydpZCcsICduYW1lJywgJ2Nsb3NlZCddKSkgfQogICAgICB9LAogICAgfSwKICAgIHsKICAgICAgbmFtZTogJ2xpc3RfY2FyZHMnLAogICAgICBkZXNjcmlwdGlvbjogJ1JlYWQgb3BlbiBjYXJkcyBvbiB0aGUgc2VsZWN0ZWQgYm9hcmQ7IHJlc3VsdHMgYXJlIGNhcHBlZCBhdCAxMDAgY2FyZHMuJywKICAgICAgaW5wdXRTY2hlbWE6IHsgdHlwZTogJ29iamVjdCcsIHByb3BlcnRpZXM6IHsgYm9hcmRJZCwgbGltaXQ6IHsgdHlwZTogJ2ludGVnZXInLCBtaW5pbXVtOiAxLCBtYXhpbXVtOiAxMDAsIGRlZmF1bHQ6IDUwIH0gfSwgcmVxdWlyZWQ6IFsnYm9hcmRJZCddIH0sCiAgICAgIGFubm90YXRpb25zOiByZWFkLAogICAgICBydW46IGFzeW5jIChhcmdzKSA9PiB7CiAgICAgICAgY29uc3QgaWQgPSBib2FyZChhcmdzKQogICAgICAgIGNvbnN0IGxpbWl0ID0gYXJnLmludGVnZXIoYXJncywgJ2xpbWl0JywgeyBtaW46IDEsIG1heDogMTAwLCBmYWxsYmFjazogNTAgfSkKICAgICAgICBjb25zdCBjYXJkcyA9IGF3YWl0IHJlcXVlc3QoYCR7aWR9L2NhcmRzL29wZW5gLCB7IGZpZWxkczogJ2lkLG5hbWUsZGVzYyxpZExpc3QsZHVlLGR1ZUNvbXBsZXRlLHVybCcgfSkKICAgICAgICBjb25zdCBhbGwgPSAoQXJyYXkuaXNBcnJheShjYXJkcykgPyBjYXJkcyA6IFtdKS5tYXAoKGNhcmQpID0+IHBpY2soY2FyZCwgWydpZCcsICduYW1lJywgJ2Rlc2MnLCAnaWRMaXN0JywgJ2R1ZScsICdkdWVDb21wbGV0ZScsICd1cmwnXSkpCiAgICAgICAgcmV0dXJuIHsgY2FyZHM6IGFsbC5zbGljZSgwLCBsaW1pdCksIHRvdGFsOiBhbGwubGVuZ3RoLCB0cnVuY2F0ZWQ6IGFsbC5sZW5ndGggPiBsaW1pdCB9CiAgICAgIH0sCiAgICB9LAogIF0KfQoKaWYgKGltcG9ydC5tZXRhLnVybCA9PT0gcGF0aFRvRmlsZVVSTChwcm9jZXNzLmFyZ3ZbMV0gPz8gJycpLmhyZWYpIHsKICBzZXJ2ZSh7IG5hbWU6ICdzaWRlYnVkLXBhY2stdHJlbGxvJywgdmVyc2lvbjogJzIuMC4wJywgdG9vbHM6IHRyZWxsb1Rvb2xzKHsgY3JlZGVudGlhbHM6ICgpID0+ICh7IGtleTogcHJvY2Vzcy5lbnYuVFJFTExPX0FQSV9LRVkgPz8gJycsIHRva2VuOiBwcm9jZXNzLmVudi5UUkVMTE9fVE9LRU4gPz8gJycgfSkgfSkgfSkKfQo=","server/mcp.mjs":"Ly8gQSBtaW5pbWFsIE1DUCBzZXJ2ZXIgb3ZlciBzdGRpbzogbmV3bGluZS1kZWxpbWl0ZWQgSlNPTi1SUEMgMi4wIHdpdGggdGhlCi8vIGluaXRpYWxpemUsIHBpbmcsIHRvb2xzL2xpc3QsIGFuZCB0b29scy9jYWxsIG1ldGhvZHMuIE5vIGRlcGVuZGVuY2llcywgc28gYQovLyBwYWNrJ3Mgc2VydmVyIHJ1bnMgd2l0aCBwbGFpbiBgbm9kZWAgYW5kIG5vdGhpbmcgdG8gaW5zdGFsbC4gQ29weSB0aGlzIGZpbGUKLy8gaW50byBhbnkgcGFjayB0aGF0IHNoaXBzIGl0cyBvd24gc2VydmVyLgppbXBvcnQgeyBjcmVhdGVJbnRlcmZhY2UgfSBmcm9tICdub2RlOnJlYWRsaW5lJwoKLyoqCiAqIEVhY2ggdG9vbCBpcyBgeyBuYW1lLCBkZXNjcmlwdGlvbiwgaW5wdXRTY2hlbWEsIGFubm90YXRpb25zLCBydW4gfWAsIHdoZXJlCiAqIGBydW4oYXJncylgIHJldHVybnMgSlNPTiBkYXRhIChzZW50IGFzIHN0cnVjdHVyZWQgY29udGVudCBhbmQgYXMgdGV4dCkgb3IKICogdGhyb3dzIGFuIEVycm9yIHdob3NlIG1lc3NhZ2UgdGhlIGNhbGxlciBzZWVzLgogKi8KZXhwb3J0IGZ1bmN0aW9uIHNlcnZlKHsgbmFtZSwgdmVyc2lvbiwgdG9vbHMgfSkgewogIGNvbnN0IHNlbmQgPSAobWVzc2FnZSkgPT4gcHJvY2Vzcy5zdGRvdXQud3JpdGUoYCR7SlNPTi5zdHJpbmdpZnkobWVzc2FnZSl9XG5gKQogIGNvbnN0IGhhbmRsZXJzID0gewogICAgaW5pdGlhbGl6ZTogKHBhcmFtcykgPT4gKHsgcHJvdG9jb2xWZXJzaW9uOiBwYXJhbXM/LnByb3RvY29sVmVyc2lvbiA/PyAnMjAyNS0wNi0xOCcsIGNhcGFiaWxpdGllczogeyB0b29sczoge30gfSwgc2VydmVySW5mbzogeyBuYW1lLCB2ZXJzaW9uIH0gfSksCiAgICBwaW5nOiAoKSA9PiAoe30pLAogICAgJ3Rvb2xzL2xpc3QnOiAoKSA9PiAoeyB0b29sczogdG9vbHMubWFwKCh7IHJ1bjogX3J1biwgLi4udG9vbCB9KSA9PiB0b29sKSB9KSwKICAgICd0b29scy9jYWxsJzogKHBhcmFtcykgPT4gY2FsbFRvb2wodG9vbHMsIHBhcmFtcz8ubmFtZSwgcGFyYW1zPy5hcmd1bWVudHMgPz8ge30pLAogIH0KICBjb25zdCBpbnB1dCA9IGNyZWF0ZUludGVyZmFjZSh7IGlucHV0OiBwcm9jZXNzLnN0ZGluIH0pCiAgaW5wdXQub24oJ2xpbmUnLCBhc3luYyAobGluZSkgPT4gewogICAgbGV0IG1lc3NhZ2UKICAgIHRyeSB7CiAgICAgIG1lc3NhZ2UgPSBKU09OLnBhcnNlKGxpbmUpCiAgICB9IGNhdGNoIHsKICAgICAgcmV0dXJuCiAgICB9CiAgICAvLyBOb3RpZmljYXRpb25zIChubyBpZCkgbmVlZCBubyByZXBseS4KICAgIGlmIChtZXNzYWdlPy5pZCA9PT0gdW5kZWZpbmVkIHx8IG1lc3NhZ2UuaWQgPT09IG51bGwpIHJldHVybgogICAgY29uc3QgaGFuZGxlciA9IGhhbmRsZXJzW21lc3NhZ2UubWV0aG9kXQogICAgaWYgKCFoYW5kbGVyKSByZXR1cm4gc2VuZCh7IGpzb25ycGM6ICcyLjAnLCBpZDogbWVzc2FnZS5pZCwgZXJyb3I6IHsgY29kZTogLTMyNjAxLCBtZXNzYWdlOiBgTWV0aG9kIG5vdCBmb3VuZDogJHttZXNzYWdlLm1ldGhvZH1gIH0gfSkKICAgIHRyeSB7CiAgICAgIHNlbmQoeyBqc29ucnBjOiAnMi4wJywgaWQ6IG1lc3NhZ2UuaWQsIHJlc3VsdDogYXdhaXQgaGFuZGxlcihtZXNzYWdlLnBhcmFtcykgfSkKICAgIH0gY2F0Y2ggKGVycm9yKSB7CiAgICAgIHNlbmQoeyBqc29ucnBjOiAnMi4wJywgaWQ6IG1lc3NhZ2UuaWQsIGVycm9yOiB7IGNvZGU6IC0zMjYwMywgbWVzc2FnZTogZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpIH0gfSkKICAgIH0KICB9KQogIGlucHV0Lm9uKCdjbG9zZScsICgpID0+IHByb2Nlc3MuZXhpdCgwKSkKfQoKLyoqIFJ1bnMgb25lIHRvb2w7IGZhaWx1cmVzIGJlY29tZSBhbiBlcnJvciByZXN1bHQgdGhlIGFnZW50IGNhbiByZWFkLCBuZXZlciBhIGNyYXNoLiAqLwpleHBvcnQgYXN5bmMgZnVuY3Rpb24gY2FsbFRvb2wodG9vbHMsIG5hbWUsIGFyZ3MpIHsKICBjb25zdCB0b29sID0gdG9vbHMuZmluZCgoY2FuZGlkYXRlKSA9PiBjYW5kaWRhdGUubmFtZSA9PT0gbmFtZSkKICBpZiAoIXRvb2wpIHJldHVybiB7IGNvbnRlbnQ6IFt7IHR5cGU6ICd0ZXh0JywgdGV4dDogYFVua25vd24gdG9vbCAke25hbWV9YCB9XSwgaXNFcnJvcjogdHJ1ZSB9CiAgdHJ5IHsKICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0b29sLnJ1bihhcmdzKQogICAgcmV0dXJuIHsgY29udGVudDogW3sgdHlwZTogJ3RleHQnLCB0ZXh0OiBKU09OLnN0cmluZ2lmeShkYXRhKSB9XSwgc3RydWN0dXJlZENvbnRlbnQ6IGRhdGEgfQogIH0gY2F0Y2ggKGVycm9yKSB7CiAgICByZXR1cm4geyBjb250ZW50OiBbeyB0eXBlOiAndGV4dCcsIHRleHQ6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKSB9XSwgaXNFcnJvcjogdHJ1ZSB9CiAgfQp9CgovKiogQXJndW1lbnQgY2hlY2tzIHRoYXQgdGhyb3cgYSByZWFkYWJsZSBtZXNzYWdlOyBlYWNoIHJldHVybnMgdGhlIHZhbHVlIG9yIGl0cyBkZWZhdWx0LiAqLwpleHBvcnQgY29uc3QgYXJnID0gewogIHN0cmluZyhhcmdzLCBrZXksIHsgbWF4ID0gNTAwLCBwYXR0ZXJuLCBmYWxsYmFjayB9ID0ge30pIHsKICAgIGNvbnN0IHZhbHVlID0gYXJnc1trZXldID8/IGZhbGxiYWNrCiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJyB8fCAhdmFsdWUubGVuZ3RoIHx8IHZhbHVlLmxlbmd0aCA+IG1heCB8fCAocGF0dGVybiAmJiAhcGF0dGVybi50ZXN0KHZhbHVlKSkpIHRocm93IG5ldyBFcnJvcihgJHtrZXl9IGlzIG1pc3Npbmcgb3IgaW52YWxpZGApCiAgICByZXR1cm4gdmFsdWUKICB9LAogIG9wdGlvbmFsU3RyaW5nKGFyZ3MsIGtleSwgeyBtYXggPSAyXzAwMCB9ID0ge30pIHsKICAgIGNvbnN0IHZhbHVlID0gYXJnc1trZXldCiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuIHVuZGVmaW5lZAogICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycgfHwgdmFsdWUubGVuZ3RoID4gbWF4KSB0aHJvdyBuZXcgRXJyb3IoYCR7a2V5fSBpcyBpbnZhbGlkYCkKICAgIHJldHVybiB2YWx1ZQogIH0sCiAgaW50ZWdlcihhcmdzLCBrZXksIHsgbWluLCBtYXgsIGZhbGxiYWNrIH0pIHsKICAgIGNvbnN0IHZhbHVlID0gYXJnc1trZXldID8/IGZhbGxiYWNrCiAgICBpZiAoIU51bWJlci5pc0ludGVnZXIodmFsdWUpIHx8IHZhbHVlIDwgbWluIHx8IHZhbHVlID4gbWF4KSB0aHJvdyBuZXcgRXJyb3IoYCR7a2V5fSBtdXN0IGJlIGEgd2hvbGUgbnVtYmVyIGZyb20gJHttaW59IHRvICR7bWF4fWApCiAgICByZXR1cm4gdmFsdWUKICB9LAogIGJvb2xlYW4oYXJncywga2V5LCBmYWxsYmFjaykgewogICAgY29uc3QgdmFsdWUgPSBhcmdzW2tleV0gPz8gZmFsbGJhY2sKICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykgdGhyb3cgbmV3IEVycm9yKGAke2tleX0gbXVzdCBiZSB0cnVlIG9yIGZhbHNlYCkKICAgIHJldHVybiB2YWx1ZQogIH0sCiAgb25lT2YoYXJncywga2V5LCBvcHRpb25zLCBmYWxsYmFjaykgewogICAgY29uc3QgdmFsdWUgPSBhcmdzW2tleV0gPz8gZmFsbGJhY2sKICAgIGlmICghb3B0aW9ucy5pbmNsdWRlcyh2YWx1ZSkpIHRocm93IG5ldyBFcnJvcihgJHtrZXl9IG11c3QgYmUgb25lIG9mICR7b3B0aW9ucy5qb2luKCcsICcpfWApCiAgICByZXR1cm4gdmFsdWUKICB9LAogIGxpc3QoYXJncywga2V5LCB7IG1pbiA9IDAsIG1heCA9IDIwLCBpdGVtIH0pIHsKICAgIGNvbnN0IHZhbHVlID0gYXJnc1trZXldCiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpIHx8IHZhbHVlLmxlbmd0aCA8IG1pbiB8fCB2YWx1ZS5sZW5ndGggPiBtYXggfHwgIXZhbHVlLmV2ZXJ5KGl0ZW0pKSB0aHJvdyBuZXcgRXJyb3IoYCR7a2V5fSBpcyBtaXNzaW5nIG9yIGludmFsaWRgKQogICAgcmV0dXJuIHZhbHVlCiAgfSwKICBkYXRlVGltZShhcmdzLCBrZXksIGZhbGxiYWNrKSB7CiAgICBjb25zdCB2YWx1ZSA9IGFyZ3Nba2V5XSA/PyBmYWxsYmFjawogICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQKICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnIHx8ICEvXlxkezR9LVxkezJ9LVxkezJ9VFxkezJ9OlxkezJ9KDpcZHsyfShcLlxkKyk/KT8oWnxbKy1dXGR7Mn06XGR7Mn0pJC8udGVzdCh2YWx1ZSkpIHRocm93IG5ldyBFcnJvcihgJHtrZXl9IG11c3QgYmUgYW4gSVNPIGRhdGUtdGltZSB3aXRoIGEgdGltZSB6b25lYCkKICAgIHJldHVybiB2YWx1ZQogIH0sCn0K","SKILL.md":"LS0tCm5hbWU6IFRyZWxsbwpkZXNjcmlwdGlvbjogUmVhZCBvbmUgVHJlbGxvIGJvYXJkJ3MgbGlzdHMgYW5kIG9wZW4gY2FyZHMuIFJlYWQgb25seS4KLS0tCgojIFRyZWxsbwoKVGhpcyBwYWNrJ3Mgb3duIHNlcnZlciAoYHNlcnZlci9pbmRleC5tanNgKSByZWFkcyBvbmUgVHJlbGxvIGJvYXJkIHRocm91Z2ggdGhlIFRyZWxsbyBSRVNUIEFQSS4gVG9vbCBuYW1lcyBhcmUgdGhlIHNlcnZlcidzOyB5b3VyIE1DUCBjbGllbnQgbWF5IHNob3cgdGhlbSB3aXRoIHRoaXMgaW50ZWdyYXRpb24ncyBwcmVmaXguCgojIyBSZWFkaW5nIHRoZSBib2FyZAoKLSBUaGUgYm9hcmQgaXMgZml4ZWQgYnkgdGhlIHBhY2sncyBCb2FyZCBJRCBzZXR0aW5nOyBldmVyeSBjYWxsIHVzZXMgaXQsIHNvIHlvdSBtYXkgbGVhdmUgYGJvYXJkSWRgIG91dC4KLSBgZ2V0X2JvYXJkYCBmb3IgdGhlIGJvYXJkIGl0c2VsZiwgYGxpc3RfbGlzdHNgIGZvciBpdHMgb3BlbiBsaXN0cywgYGxpc3RfY2FyZHNgIGZvciBvcGVuIGNhcmRzICh1cCB0byAxMDA7IGB0cnVuY2F0ZWRgIHNheXMgd2hlbiB0aGVyZSBhcmUgbW9yZSkuCi0gQ2FyZHMgY2FycnkgdGhlaXIgbGlzdCBhcyBgaWRMaXN0YDsgbWF0Y2ggaXQgdG8gYGxpc3RfbGlzdHNgIHRvIHNheSAiMyBjYXJkcyBpbiBEb2luZyIuCgojIyBSZWFkaW5nIGZvciB2b2ljZQoKR3JvdXAgYnkgbGlzdCBhbmQgbGVhZCB3aXRoIHdoYXQgaXMgZHVlIG9yIG92ZXJkdWUuIENhcmQgdGl0bGVzIG9ubHksIG5vIGlkcyBvciBVUkxzLgoKIyMgTGltaXRzIGFuZCBlcnJvcnMKCi0gUmVhZCBvbmx5LCBvbmUgYm9hcmQuIENyZWF0aW5nIG9yIG1vdmluZyBjYXJkcyBpcyBub3QgYXZhaWxhYmxlLgotIEEgcmVxdWVzdCBmYWlsdXJlIHVzdWFsbHkgbWVhbnMgdGhlIHRva2VuIGV4cGlyZWQgb3IgbG9zdCBhY2Nlc3MgdG8gdGhlIGJvYXJkOyB0aGUgdXNlciBuZWVkcyBhIG5ldyByZWFkIHRva2VuLgo="},"signature":{"publicKey":"4d9b98c280e248815370a0c3fe152828a508cc7955e60e1910c9a90c97e9a674","value":"f400dd554fd51025e79993851a9eebbe73e9447bb2a1e5067e4eff9deb87b014d8df26a85f2cd21ca4fc0d904f5e80f39c27d0beb997e911211211ddcd6ff405"}},"error":null}