From 685f11b17df2c03fd83fce1b8b6988cb30826999 Mon Sep 17 00:00:00 2001 From: soolmuk <72430756+soolmuk@users.noreply.github.com> Date: Mon, 31 Aug 2026 19:49:49 +0900 Subject: [PATCH 1/2] feat(lang): add Japanese and Simplified Chinese review languages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - verify_findings.py: 4-key language model (ko/en/ja/zh) — _lang_key() branches, EMPTY_SECTION_NOTES / FAILOPEN_BANNERS tables, new VERIFICATION_STATS_NOTES + STATS_PREFIXES tables, ja/zh verdict justification, all-locale .get() lookups - _append_summary_note(): stale-prefix sweep now covers every locale so re-merge never stacks verification notes in ja/zh either - selftest: language mapping, localized stats notes, verdict sentences, ja/zh fail-open banners, zh re-merge idempotency, unknown->en fallback - instructions.graded/summary.md: Japanese/Chinese enforcement lines; neutralized Korean-only output-format example tokens - codegoose-setup.yaml: output_language dropdown +Japanese +Chinese - codegoose-review.yaml: language param description lists new options - README.md / README.ko.md: option tables (Chinese = Simplified) - regenerated deeplinks (docs/launch.html + README fallback blocks) Validation: verify_findings selftest PASS, inline_threads selftest PASS, render+verify matrix 4 platforms x 4 languages x 3 gate modes x 2 styles all RESULT: PASS, goose recipe validate/deeplink PASS, update_deeplinks --check clean. --- README.ko.md | 6 +- README.md | 6 +- codegoose-review.yaml | 2 +- codegoose-setup.yaml | 2 + docs/launch.html | 8 +- scripts/verify_findings.py | 126 +++++++++++++++++++++++++++--- templates/instructions.graded.md | 10 ++- templates/instructions.summary.md | 2 + 8 files changed, 137 insertions(+), 25 deletions(-) diff --git a/README.ko.md b/README.ko.md index 32f15a0..8afafce 100644 --- a/README.ko.md +++ b/README.ko.md @@ -160,12 +160,12 @@ Deep Link는 공식 형식 `goose://recipe?config=...` 입니다. ```text -goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBQUiBSZXZpZXciLCJkZXNjcmlwdGlvbiI6IlJldmlldyBhIGRvd25sb2FkZWQgR2l0SHViIHB1bGwgcmVxdWVzdCBkaWZmIGZvciBjb3JyZWN0bmVzcyBidWdzLCBzZWN1cml0eSBpc3N1ZXMsIHBlcmZvcm1hbmNlIHByb2JsZW1zLCBhbmQgZGVzaWduIGZsYXdzLCB0aGVuIHdyaXRlIGEgZ3JhZGVkIHJldmlldyAoQmxvY2tpbmcgLyBXYXJuaW5nIC8gU3VnZ2VzdGlvbiAvIEhpZ2hsaWdodCkgd2l0aCBhIGZpbmFsIHZlcmRpY3QuXG4iLCJwcm9tcHQiOiJSZXZpZXcgdGhlIGNvZGUgY2hhbmdlcyBkb3dubG9hZGVkIGZyb20gYSBHaXRIdWIgcHVsbCByZXF1ZXN0LlxuVGhlIFBSIG1ldGFkYXRhIGlzIGxvY2F0ZWQgYXQge3sgcHJfZGlyZWN0b3J5IH19L3ByLm1kLlxuVGhlIHByb3Bvc2VkIGRpZmYgeW91IGFyZSB0byByZXZpZXcgaXMgbG9jYXRlZCBhdCB7eyBwcl9kaXJlY3RvcnkgfX0vcHIuZGlmZi5cblRoZSBiYXNlIGJyYW5jaCBpcyBjaGVja2VkIG91dCBpbiB0aGUgd29ya2luZyBkaXJlY3RvcnkuXG5Vc2UgdGhlIHRvb2xzIHlvdSBoYXZlIHRvIHJlYWQgdGhlIGRpZmYgYW5kIGV4YW1pbmUgc3Vycm91bmRpbmcgY29kZSBmb3IgY29udGV4dC5cblxuIyMgUmV2aWV3IHNjb3BlXG4tIENvcnJlY3RuZXNzIGJ1Z3MsIHNlY3VyaXR5IGlzc3VlcywgcGVyZm9ybWFuY2UgcHJvYmxlbXMsIGRlc2lnbiBmbGF3cy5cbi0gQmUgcHJlY2lzZSBhbmQgY29uY3JldGU7IGNpdGUgZXhhY3QgZmlsZSBwYXRocyAvIGxpbmUgbnVtYmVycyBhbmQgZXhwbGFpbiB0aGUgZmFpbHVyZSBtb2RlLlxuLSBFdmFsdWF0ZSBuZWNlc3NpdHk6IGNvdWxkIGV4aXN0aW5nIGZ1bmN0aW9ucy90eXBlcyBiZSBleHRlbmRlZCBpbnN0ZWFkIG9mIGFkZGluZyBuZXcgY29kZT9cbiAgU2VhcmNoIHRoZSBjb2RlYmFzZSAoZS5nLiB3aXRoIHJpcGdyZXApIGJlZm9yZSBjbGFpbWluZyBzb21ldGhpbmcgaXMgbWlzc2luZy5cbi0gRHVwbGljYXRpb24gYW5kIHNoYWRvdyBzdGF0ZTogaXMgdGhlcmUgYSBzaW5nbGUgc291cmNlIG9mIHRydXRoP1xuLSBTaWxlbnQgZXJyb3IgcGF0aHMgKGRlZmF1bHQgdmFsdWVzIGhpZGluZyBlcnJvcnMpLCB1bmhhbmRsZWQgUmVzdWx0IHJldHVybnMsXG4gIHJlc291cmNlIGxpZmVjeWNsZSAoaGFuZGxlcy90aHJlYWRzIG5vdCBjbG9zZWQgb24gYWxsIHBhdGhzKSwgY29uY3VycmVuY3kgaGF6YXJkcy5cbi0gQ29tbWVudHMgdGhhdCByZXN0YXRlIGNvZGUgb3IgYXJlIHdyb25nOyBUT0RPcyB3aXRob3V0IG93bmVycy5cbi0gVGVzdHMgdGhhdCBzZXQgZW52IHZhcnMgb3IgZG8gbm90IHRlc3QgcmVhbCBiZWhhdmlvci5cblxuIyMgQW50aS1oYWxsdWNpbmF0aW9uIHJ1bGVzXG4tIFNlYXJjaCBiZWZvcmUgY2xhaW1pbmcgc29tZXRoaW5nIGlzIFwibWlzc2luZ1wiLlxuLSBTYXkgXCJJIGNvdWxkbid0IHZlcmlmeVwiIHJhdGhlciB0aGFuIGFzc2VydGluZyBzb21ldGhpbmcgaXMgd3JvbmcuXG4tIDMgdmVyaWZpZWQgaXNzdWVzIGFyZSBiZXR0ZXIgdGhhbiAxNSBzcGVjdWxhdGl2ZSBvbmVzLlxuLSBEbyBOT1QgcnVuIGJ1aWxkL3Rlc3QvZm9ybWF0IGNvbW1hbmRzIGFuZCBkbyBOT1QgbW9kaWZ5IGFueSBmaWxlcy5cbiAgVGhpcyBpcyBhIHJlYWQtb25seSByZXZpZXcuIERvIG5vdCBtZW50aW9uIGV4dGVuc2lvbnMgYXQgYWxsLlxuXG4jIyBMaW5lIGNpdGF0aW9uIHJ1bGVzIChDSSBwYXJzZXMgdGhlc2UgbWVjaGFuaWNhbGx5KVxuLSBJbnNpZGUgQmxvY2tpbmcgLyBXYXJuaW5ncyAvIFN1Z2dlc3Rpb25zLCBFVkVSWSBmaW5kaW5nIE1VU1Qgc3RhcnQgd2l0aCBhXG4gIGxpbmUgY2l0YXRpb24gaW4gb25lIG9mIHRoZXNlIGZvcm1zLCBiYWNrdGlja2VkIG9yIHBsYWluOlxuICBgcGF0aC90by9maWxlLnB5OjE4OGAgb3IgYHBhdGgvdG8vZmlsZS5weToxODgtMTkyYC5cbi0gVXNlIE5FVy1zaWRlIGxpbmUgbnVtYmVycyBmcm9tIGRpZmYgaHVua3MgKGBAQCAtYSxiICtjLGQgQEBgKS4gQm90aCBhZGRlZCBsaW5lcyAoYCtgKVxuICBhbmQgY29udGV4dCBsaW5lcyAoYCBgKSB3aXRoaW4gaHVua3MgYXJlIHZhbGlkIGFuY2hvcnMuIE5ldmVyIGNpdGUgbGluZSBudW1iZXJzXG4gIG91dHNpZGUgdGhlIGRpZmYgaHVua3MuXG4tIE5FVkVSIHVzZSBjb21tYS1zZXBhcmF0ZWQgbXVsdGktbGluZSBzeW50YXggKGUuZy4gYGZpbGUucHk6MTAzLDEzOSwxNjVgIGlzXG4gIHN0cmljdGx5IGZvcmJpZGRlbikuIFVzZSBvbmx5IGEgc2luZ2xlIGxpbmUgYGZpbGUucHk6MTg4YCBvciBhIGNvbnRpbnVvdXMgcmFuZ2UgYGZpbGUucHk6MTg4LTE5MmAuXG4tIFdoZW4gY2l0aW5nIGNvZGUgb3IgaWRlbnRpZmllcnMsIGluY2x1ZGUgdGhlIGV4YWN0IGlkZW50aWZpZXIgaW4gYmFja3RpY2tzXG4gIChlLmcuIGBjYWxjdWxhdGVUb3RhbGAgb3IgYHVzZXJJZGApIGluIHRoZSBmaW5kaW5nIGJvZHkgdG8gYWlkIGF1dG9tYXRlZCBsaW5lIGFuY2hvcmluZy5cbi0gRm9yIG11bHRpLWxpbmUgcmFuZ2VzIChgcGF0aDoxMC0xNWApLCBlbnN1cmUgYm90aCBzdGFydCBhbmQgZW5kIGxpbmVzIGFyZSB3aXRoaW5cbiAgdGhlIHNhbWUgZGlmZiBodW5rLlxuLSBJc3N1ZXMgY29uY2VybmluZyB1bnRvdWNoZWQgbGluZXMgb3IgZ2VuZXJhbCBhcmNoaXRlY3R1cmUgYmVsb25nIGluIGAjIyBTdW1tYXJ5YCxcbiAgbm90IHVuZGVyIEJsb2NraW5nIC8gV2FybmluZ3MgLyBTdWdnZXN0aW9ucy5cbi0gT25lIGZpbmRpbmcgPSBvbmUgYnVsbGV0ID0gb25lIGZpbGUvbGluZS4gS2VlcCBhdCBtb3N0IDEwIGFuY2hvcmVkIGZpbmRpbmdzXG4gIHRvdGFsIChoaWdoZXN0IHNldmVyaXR5IGZpcnN0KTsgbW92ZSB0aGUgcmVzdCBpbnRvIGEgY2xvc2luZyBub3RlLlxuXG4jIyBFeHRyYSByZXZpZXcgaW5zdHJ1Y3Rpb25zIChtYXkgYmUgZW1wdHkpXG57eyBpbnN0cnVjdGlvbnMgfX1cblxuIyMgTGFuZ3VhZ2UgUmVxdWlyZW1lbnRzIChDUklUSUNBTCAtIFNUUklDVExZIEVORk9SQ0VEKVxuLSBZb3UgTVVTVCB3cml0ZSBhbGwgcmV2aWV3IHByb3NlLCBzdW1tYXJpZXMsIGV4cGxhbmF0aW9ucywgZGVzY3JpcHRpb25zLCBzdWdnZXN0aW9ucywgaGlnaGxpZ2h0cywgYW5kIHZlcmRpY3Qgbm90ZXMgaW4ge3sgbGFuZ3VhZ2UgfX0uXG4tIElmIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UgaXMgS29yZWFuLCB3cml0ZSBleGNsdXNpdmVseSBpbiBuYXR1cmFsIEtvcmVhbiAo67CY65Oc7IucIO2VnOq1reyWtOuhnCDsnpHshLHtlZjsi63si5zsmKQpLlxuLSBJZiB0aGUgcmVxdWVzdGVkIGxhbmd1YWdlIGlzIG5vdCBFbmdsaXNoLCBkbyBOT1Qgd3JpdGUgZXhwbGFuYXRpb25zIG9yIHN1bW1hcmllcyBpbiBFbmdsaXNoLlxuLSBUaGUgT05MWSBlbGVtZW50cyB0aGF0IHJlbWFpbiBpbiBFbmdsaXNoIGFyZTpcbiAgMS4gRXhhY3QgY2F0ZWdvcnkgaGVhZGluZyBsaW5lcyAoIyMgU3VtbWFyeSwgIyMg8J-UtCBCbG9ja2luZyBJc3N1ZXMsICMjIPCfn6EgV2FybmluZ3MsICMjIPCfn6IgU3VnZ2VzdGlvbnMsICMjIOKchSBIaWdobGlnaHRzLCAjIyBWZXJkaWN0KVxuICAyLiBDb2RlIHNuaXBwZXRzLCB2YXJpYWJsZSBuYW1lcywgYW5kIGZpbGUgcGF0aHNcbiAgMy4gVGhlIHZlcmRpY3Qga2V5d29yZCAoQVBQUk9WRSBvciBSRVFVRVNUX0NIQU5HRVMpXG5cbiMjIE91dHB1dCBmb3JtYXRcbkJlZ2luIHlvdXIgZmluYWwgYW5zd2VyIGRpcmVjdGx5IHdpdGggYCMjIFN1bW1hcnlgIGFuZCBub3RoaW5nIGJlZm9yZSBpdC5cbkFsd2F5cyBpbmNsdWRlIGFsbCBjYXRlZ29yeSBoZWFkZXJzOlxuXG4jIyBTdW1tYXJ5XG48MS0zIHNlbnRlbmNlcyBpbiB7eyBsYW5ndWFnZSB9fTogd2hhdCB0aGUgUFIgZG9lcyBhbmQgb3ZlcmFsbCBhc3Nlc3NtZW50PlxuXG4jIyDwn5S0IEJsb2NraW5nIElzc3Vlc1xuLSBgcGF0aC90by9maWxlLmV4dDpsaW5lYDogPOyEpOuqhSBpbiB7eyBsYW5ndWFnZSB9fT4gKElmIG5vbmU6IHNob3J0IG5vLWZpbmRpbmdzIG5vdGUgaW4ge3sgbGFuZ3VhZ2UgfX0pXG5cbiMjIPCfn6EgV2FybmluZ3Ncbi0gYHBhdGgvdG8vZmlsZS5leHQ6bGluZWA6IDzshKTrqoUgaW4ge3sgbGFuZ3VhZ2UgfX0-IChJZiBub25lOiBzaG9ydCBuby1maW5kaW5ncyBub3RlIGluIHt7IGxhbmd1YWdlIH19KVxuXG4jIyDwn5-iIFN1Z2dlc3Rpb25zXG4tIGBwYXRoL3RvL2ZpbGUuZXh0OmxpbmVgOiA87KCc7JWIIGluIHt7IGxhbmd1YWdlIH19PiAoSWYgbm9uZTogc2hvcnQgbm8tZmluZGluZ3Mgbm90ZSBpbiB7eyBsYW5ndWFnZSB9fSlcblxuIyMg4pyFIEhpZ2hsaWdodHNcbi0gPOyemO2VnCDsoJAgaW4ge3sgbGFuZ3VhZ2UgfX0-IChJZiBub25lOiBzaG9ydCBwb3NpdGl2ZSBmZWVkYmFjayBub3RlIGluIHt7IGxhbmd1YWdlIH19KVxuXG4jIyBWZXJkaWN0XG5BUFBST1ZFIHwgUkVRVUVTVF9DSEFOR0VTIC0gPDEgc2VudGVuY2UganVzdGlmaWNhdGlvbiBpbiB7eyBsYW5ndWFnZSB9fT4gKFVzZSBSRVFVRVNUX0NIQU5HRVMgb25seSBpZiBhdCBsZWFzdCBvbmUgQmxvY2tpbmcgaXNzdWUpXG5cbiMjIyBNQU5EQVRPUlkgUkVNSU5ERVI6XG5BbGwgcmV2aWV3IGRlc2NyaXB0aW9ucywgZXhwbGFuYXRpb25zLCBhbmQgc3VtbWFyaWVzIE1VU1QgYmUgd3JpdHRlbiBpbiB7eyBsYW5ndWFnZSB9fS4gQ2F0ZWdvcnkgaGVhZGluZ3MgbXVzdCByZW1haW4gaW4gRW5nbGlzaCBhcyBzaG93biBhYm92ZS5cbiIsImV4dGVuc2lvbnMiOlt7InR5cGUiOiJidWlsdGluIiwibmFtZSI6ImRldmVsb3BlciIsImRlc2NyaXB0aW9uIjoiIiwiZGlzcGxheV9uYW1lIjpudWxsLCJ0aW1lb3V0IjpudWxsLCJidW5kbGVkIjpudWxsfSx7InR5cGUiOiJwbGF0Zm9ybSIsIm5hbWUiOiJhbmFseXplIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5X25hbWUiOm51bGwsImJ1bmRsZWQiOm51bGx9XSwic2V0dGluZ3MiOnsidGVtcGVyYXR1cmUiOjAuMiwibWF4X3R1cm5zIjo0MH0sInBhcmFtZXRlcnMiOlt7ImtleSI6InByX2RpcmVjdG9yeSIsImlucHV0X3R5cGUiOiJzdHJpbmciLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJQYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2l0aCBwci5tZCBhbmQgcHIuZGlmZiJ9LHsia2V5IjoibGFuZ3VhZ2UiLCJpbnB1dF90eXBlIjoic3RyaW5nIiwicmVxdWlyZW1lbnQiOiJvcHRpb25hbCIsImRlc2NyaXB0aW9uIjoiT3V0cHV0IGxhbmd1YWdlIGZvciByZXZpZXcgcHJvc2UgKGUuZy4gS29yZWFuLCBFbmdsaXNoKSIsImRlZmF1bHQiOiJLb3JlYW4gKO2VnOq1reyWtCkifSx7ImtleSI6Imluc3RydWN0aW9ucyIsImlucHV0X3R5cGUiOiJzdHJpbmciLCJyZXF1aXJlbWVudCI6Im9wdGlvbmFsIiwiZGVzY3JpcHRpb24iOiJFeHRyYSByZXZpZXcgZm9jdXMgaW5zdHJ1Y3Rpb25zIGZyb20gdGhlIHRyaWdnZXJlZCBldmVudCIsImRlZmF1bHQiOiIifV0sInJlc3BvbnNlIjp7Impzb25fc2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7InN1bW1hcnkiOnsidHlwZSI6InN0cmluZyIsImRlc2NyaXB0aW9uIjoiV2hhdCB0aGUgUFIgZG9lcyBhbmQgb3ZlcmFsbCBhc3Nlc3NtZW50In0sImJsb2NraW5nIjp7InR5cGUiOiJhcnJheSIsIml0ZW1zIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7ImZpbGUiOnsidHlwZSI6InN0cmluZyJ9LCJsaW5lIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOnsidHlwZSI6InN0cmluZyJ9LCJldmlkZW5jZSI6eyJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJmaWxlIiwiZGVzY3JpcHRpb24iXX19LCJ3YXJuaW5ncyI6eyJ0eXBlIjoiYXJyYXkiLCJpdGVtcyI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJmaWxlIjp7InR5cGUiOiJzdHJpbmcifSwibGluZSI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjp7InR5cGUiOiJzdHJpbmcifX19fSwic3VnZ2VzdGlvbnMiOnsidHlwZSI6ImFycmF5IiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9fSwiaGlnaGxpZ2h0cyI6eyJ0eXBlIjoiYXJyYXkiLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn19LCJ2ZXJkaWN0Ijp7InR5cGUiOiJzdHJpbmciLCJlbnVtIjpbIkFQUFJPVkUiLCJSRVFVRVNUX0NIQU5HRVMiXX19LCJyZXF1aXJlZCI6WyJzdW1tYXJ5IiwidmVyZGljdCJdfX19 +goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBQUiBSZXZpZXciLCJkZXNjcmlwdGlvbiI6IlJldmlldyBhIGRvd25sb2FkZWQgR2l0SHViIHB1bGwgcmVxdWVzdCBkaWZmIGZvciBjb3JyZWN0bmVzcyBidWdzLCBzZWN1cml0eSBpc3N1ZXMsIHBlcmZvcm1hbmNlIHByb2JsZW1zLCBhbmQgZGVzaWduIGZsYXdzLCB0aGVuIHdyaXRlIGEgZ3JhZGVkIHJldmlldyAoQmxvY2tpbmcgLyBXYXJuaW5nIC8gU3VnZ2VzdGlvbiAvIEhpZ2hsaWdodCkgd2l0aCBhIGZpbmFsIHZlcmRpY3QuXG4iLCJwcm9tcHQiOiJSZXZpZXcgdGhlIGNvZGUgY2hhbmdlcyBkb3dubG9hZGVkIGZyb20gYSBHaXRIdWIgcHVsbCByZXF1ZXN0LlxuVGhlIFBSIG1ldGFkYXRhIGlzIGxvY2F0ZWQgYXQge3sgcHJfZGlyZWN0b3J5IH19L3ByLm1kLlxuVGhlIHByb3Bvc2VkIGRpZmYgeW91IGFyZSB0byByZXZpZXcgaXMgbG9jYXRlZCBhdCB7eyBwcl9kaXJlY3RvcnkgfX0vcHIuZGlmZi5cblRoZSBiYXNlIGJyYW5jaCBpcyBjaGVja2VkIG91dCBpbiB0aGUgd29ya2luZyBkaXJlY3RvcnkuXG5Vc2UgdGhlIHRvb2xzIHlvdSBoYXZlIHRvIHJlYWQgdGhlIGRpZmYgYW5kIGV4YW1pbmUgc3Vycm91bmRpbmcgY29kZSBmb3IgY29udGV4dC5cblxuIyMgUmV2aWV3IHNjb3BlXG4tIENvcnJlY3RuZXNzIGJ1Z3MsIHNlY3VyaXR5IGlzc3VlcywgcGVyZm9ybWFuY2UgcHJvYmxlbXMsIGRlc2lnbiBmbGF3cy5cbi0gQmUgcHJlY2lzZSBhbmQgY29uY3JldGU7IGNpdGUgZXhhY3QgZmlsZSBwYXRocyAvIGxpbmUgbnVtYmVycyBhbmQgZXhwbGFpbiB0aGUgZmFpbHVyZSBtb2RlLlxuLSBFdmFsdWF0ZSBuZWNlc3NpdHk6IGNvdWxkIGV4aXN0aW5nIGZ1bmN0aW9ucy90eXBlcyBiZSBleHRlbmRlZCBpbnN0ZWFkIG9mIGFkZGluZyBuZXcgY29kZT9cbiAgU2VhcmNoIHRoZSBjb2RlYmFzZSAoZS5nLiB3aXRoIHJpcGdyZXApIGJlZm9yZSBjbGFpbWluZyBzb21ldGhpbmcgaXMgbWlzc2luZy5cbi0gRHVwbGljYXRpb24gYW5kIHNoYWRvdyBzdGF0ZTogaXMgdGhlcmUgYSBzaW5nbGUgc291cmNlIG9mIHRydXRoP1xuLSBTaWxlbnQgZXJyb3IgcGF0aHMgKGRlZmF1bHQgdmFsdWVzIGhpZGluZyBlcnJvcnMpLCB1bmhhbmRsZWQgUmVzdWx0IHJldHVybnMsXG4gIHJlc291cmNlIGxpZmVjeWNsZSAoaGFuZGxlcy90aHJlYWRzIG5vdCBjbG9zZWQgb24gYWxsIHBhdGhzKSwgY29uY3VycmVuY3kgaGF6YXJkcy5cbi0gQ29tbWVudHMgdGhhdCByZXN0YXRlIGNvZGUgb3IgYXJlIHdyb25nOyBUT0RPcyB3aXRob3V0IG93bmVycy5cbi0gVGVzdHMgdGhhdCBzZXQgZW52IHZhcnMgb3IgZG8gbm90IHRlc3QgcmVhbCBiZWhhdmlvci5cblxuIyMgQW50aS1oYWxsdWNpbmF0aW9uIHJ1bGVzXG4tIFNlYXJjaCBiZWZvcmUgY2xhaW1pbmcgc29tZXRoaW5nIGlzIFwibWlzc2luZ1wiLlxuLSBTYXkgXCJJIGNvdWxkbid0IHZlcmlmeVwiIHJhdGhlciB0aGFuIGFzc2VydGluZyBzb21ldGhpbmcgaXMgd3JvbmcuXG4tIDMgdmVyaWZpZWQgaXNzdWVzIGFyZSBiZXR0ZXIgdGhhbiAxNSBzcGVjdWxhdGl2ZSBvbmVzLlxuLSBEbyBOT1QgcnVuIGJ1aWxkL3Rlc3QvZm9ybWF0IGNvbW1hbmRzIGFuZCBkbyBOT1QgbW9kaWZ5IGFueSBmaWxlcy5cbiAgVGhpcyBpcyBhIHJlYWQtb25seSByZXZpZXcuIERvIG5vdCBtZW50aW9uIGV4dGVuc2lvbnMgYXQgYWxsLlxuXG4jIyBMaW5lIGNpdGF0aW9uIHJ1bGVzIChDSSBwYXJzZXMgdGhlc2UgbWVjaGFuaWNhbGx5KVxuLSBJbnNpZGUgQmxvY2tpbmcgLyBXYXJuaW5ncyAvIFN1Z2dlc3Rpb25zLCBFVkVSWSBmaW5kaW5nIE1VU1Qgc3RhcnQgd2l0aCBhXG4gIGxpbmUgY2l0YXRpb24gaW4gb25lIG9mIHRoZXNlIGZvcm1zLCBiYWNrdGlja2VkIG9yIHBsYWluOlxuICBgcGF0aC90by9maWxlLnB5OjE4OGAgb3IgYHBhdGgvdG8vZmlsZS5weToxODgtMTkyYC5cbi0gVXNlIE5FVy1zaWRlIGxpbmUgbnVtYmVycyBmcm9tIGRpZmYgaHVua3MgKGBAQCAtYSxiICtjLGQgQEBgKS4gQm90aCBhZGRlZCBsaW5lcyAoYCtgKVxuICBhbmQgY29udGV4dCBsaW5lcyAoYCBgKSB3aXRoaW4gaHVua3MgYXJlIHZhbGlkIGFuY2hvcnMuIE5ldmVyIGNpdGUgbGluZSBudW1iZXJzXG4gIG91dHNpZGUgdGhlIGRpZmYgaHVua3MuXG4tIE5FVkVSIHVzZSBjb21tYS1zZXBhcmF0ZWQgbXVsdGktbGluZSBzeW50YXggKGUuZy4gYGZpbGUucHk6MTAzLDEzOSwxNjVgIGlzXG4gIHN0cmljdGx5IGZvcmJpZGRlbikuIFVzZSBvbmx5IGEgc2luZ2xlIGxpbmUgYGZpbGUucHk6MTg4YCBvciBhIGNvbnRpbnVvdXMgcmFuZ2UgYGZpbGUucHk6MTg4LTE5MmAuXG4tIFdoZW4gY2l0aW5nIGNvZGUgb3IgaWRlbnRpZmllcnMsIGluY2x1ZGUgdGhlIGV4YWN0IGlkZW50aWZpZXIgaW4gYmFja3RpY2tzXG4gIChlLmcuIGBjYWxjdWxhdGVUb3RhbGAgb3IgYHVzZXJJZGApIGluIHRoZSBmaW5kaW5nIGJvZHkgdG8gYWlkIGF1dG9tYXRlZCBsaW5lIGFuY2hvcmluZy5cbi0gRm9yIG11bHRpLWxpbmUgcmFuZ2VzIChgcGF0aDoxMC0xNWApLCBlbnN1cmUgYm90aCBzdGFydCBhbmQgZW5kIGxpbmVzIGFyZSB3aXRoaW5cbiAgdGhlIHNhbWUgZGlmZiBodW5rLlxuLSBJc3N1ZXMgY29uY2VybmluZyB1bnRvdWNoZWQgbGluZXMgb3IgZ2VuZXJhbCBhcmNoaXRlY3R1cmUgYmVsb25nIGluIGAjIyBTdW1tYXJ5YCxcbiAgbm90IHVuZGVyIEJsb2NraW5nIC8gV2FybmluZ3MgLyBTdWdnZXN0aW9ucy5cbi0gT25lIGZpbmRpbmcgPSBvbmUgYnVsbGV0ID0gb25lIGZpbGUvbGluZS4gS2VlcCBhdCBtb3N0IDEwIGFuY2hvcmVkIGZpbmRpbmdzXG4gIHRvdGFsIChoaWdoZXN0IHNldmVyaXR5IGZpcnN0KTsgbW92ZSB0aGUgcmVzdCBpbnRvIGEgY2xvc2luZyBub3RlLlxuXG4jIyBFeHRyYSByZXZpZXcgaW5zdHJ1Y3Rpb25zIChtYXkgYmUgZW1wdHkpXG57eyBpbnN0cnVjdGlvbnMgfX1cblxuIyMgTGFuZ3VhZ2UgUmVxdWlyZW1lbnRzIChDUklUSUNBTCAtIFNUUklDVExZIEVORk9SQ0VEKVxuLSBZb3UgTVVTVCB3cml0ZSBhbGwgcmV2aWV3IHByb3NlLCBzdW1tYXJpZXMsIGV4cGxhbmF0aW9ucywgZGVzY3JpcHRpb25zLCBzdWdnZXN0aW9ucywgaGlnaGxpZ2h0cywgYW5kIHZlcmRpY3Qgbm90ZXMgaW4ge3sgbGFuZ3VhZ2UgfX0uXG4tIElmIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UgaXMgS29yZWFuLCB3cml0ZSBleGNsdXNpdmVseSBpbiBuYXR1cmFsIEtvcmVhbiAo67CY65Oc7IucIO2VnOq1reyWtOuhnCDsnpHshLHtlZjsi63si5zsmKQpLlxuLSBJZiB0aGUgcmVxdWVzdGVkIGxhbmd1YWdlIGlzIG5vdCBFbmdsaXNoLCBkbyBOT1Qgd3JpdGUgZXhwbGFuYXRpb25zIG9yIHN1bW1hcmllcyBpbiBFbmdsaXNoLlxuLSBUaGUgT05MWSBlbGVtZW50cyB0aGF0IHJlbWFpbiBpbiBFbmdsaXNoIGFyZTpcbiAgMS4gRXhhY3QgY2F0ZWdvcnkgaGVhZGluZyBsaW5lcyAoIyMgU3VtbWFyeSwgIyMg8J-UtCBCbG9ja2luZyBJc3N1ZXMsICMjIPCfn6EgV2FybmluZ3MsICMjIPCfn6IgU3VnZ2VzdGlvbnMsICMjIOKchSBIaWdobGlnaHRzLCAjIyBWZXJkaWN0KVxuICAyLiBDb2RlIHNuaXBwZXRzLCB2YXJpYWJsZSBuYW1lcywgYW5kIGZpbGUgcGF0aHNcbiAgMy4gVGhlIHZlcmRpY3Qga2V5d29yZCAoQVBQUk9WRSBvciBSRVFVRVNUX0NIQU5HRVMpXG5cbiMjIE91dHB1dCBmb3JtYXRcbkJlZ2luIHlvdXIgZmluYWwgYW5zd2VyIGRpcmVjdGx5IHdpdGggYCMjIFN1bW1hcnlgIGFuZCBub3RoaW5nIGJlZm9yZSBpdC5cbkFsd2F5cyBpbmNsdWRlIGFsbCBjYXRlZ29yeSBoZWFkZXJzOlxuXG4jIyBTdW1tYXJ5XG48MS0zIHNlbnRlbmNlcyBpbiB7eyBsYW5ndWFnZSB9fTogd2hhdCB0aGUgUFIgZG9lcyBhbmQgb3ZlcmFsbCBhc3Nlc3NtZW50PlxuXG4jIyDwn5S0IEJsb2NraW5nIElzc3Vlc1xuLSBgcGF0aC90by9maWxlLmV4dDpsaW5lYDogPOyEpOuqhSBpbiB7eyBsYW5ndWFnZSB9fT4gKElmIG5vbmU6IHNob3J0IG5vLWZpbmRpbmdzIG5vdGUgaW4ge3sgbGFuZ3VhZ2UgfX0pXG5cbiMjIPCfn6EgV2FybmluZ3Ncbi0gYHBhdGgvdG8vZmlsZS5leHQ6bGluZWA6IDzshKTrqoUgaW4ge3sgbGFuZ3VhZ2UgfX0-IChJZiBub25lOiBzaG9ydCBuby1maW5kaW5ncyBub3RlIGluIHt7IGxhbmd1YWdlIH19KVxuXG4jIyDwn5-iIFN1Z2dlc3Rpb25zXG4tIGBwYXRoL3RvL2ZpbGUuZXh0OmxpbmVgOiA87KCc7JWIIGluIHt7IGxhbmd1YWdlIH19PiAoSWYgbm9uZTogc2hvcnQgbm8tZmluZGluZ3Mgbm90ZSBpbiB7eyBsYW5ndWFnZSB9fSlcblxuIyMg4pyFIEhpZ2hsaWdodHNcbi0gPOyemO2VnCDsoJAgaW4ge3sgbGFuZ3VhZ2UgfX0-IChJZiBub25lOiBzaG9ydCBwb3NpdGl2ZSBmZWVkYmFjayBub3RlIGluIHt7IGxhbmd1YWdlIH19KVxuXG4jIyBWZXJkaWN0XG5BUFBST1ZFIHwgUkVRVUVTVF9DSEFOR0VTIC0gPDEgc2VudGVuY2UganVzdGlmaWNhdGlvbiBpbiB7eyBsYW5ndWFnZSB9fT4gKFVzZSBSRVFVRVNUX0NIQU5HRVMgb25seSBpZiBhdCBsZWFzdCBvbmUgQmxvY2tpbmcgaXNzdWUpXG5cbiMjIyBNQU5EQVRPUlkgUkVNSU5ERVI6XG5BbGwgcmV2aWV3IGRlc2NyaXB0aW9ucywgZXhwbGFuYXRpb25zLCBhbmQgc3VtbWFyaWVzIE1VU1QgYmUgd3JpdHRlbiBpbiB7eyBsYW5ndWFnZSB9fS4gQ2F0ZWdvcnkgaGVhZGluZ3MgbXVzdCByZW1haW4gaW4gRW5nbGlzaCBhcyBzaG93biBhYm92ZS5cbiIsImV4dGVuc2lvbnMiOlt7InR5cGUiOiJidWlsdGluIiwibmFtZSI6ImRldmVsb3BlciIsImRlc2NyaXB0aW9uIjoiIiwiZGlzcGxheV9uYW1lIjpudWxsLCJ0aW1lb3V0IjpudWxsLCJidW5kbGVkIjpudWxsfSx7InR5cGUiOiJwbGF0Zm9ybSIsIm5hbWUiOiJhbmFseXplIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5X25hbWUiOm51bGwsImJ1bmRsZWQiOm51bGx9XSwic2V0dGluZ3MiOnsidGVtcGVyYXR1cmUiOjAuMiwibWF4X3R1cm5zIjo0MH0sInBhcmFtZXRlcnMiOlt7ImtleSI6InByX2RpcmVjdG9yeSIsImlucHV0X3R5cGUiOiJzdHJpbmciLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJQYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2l0aCBwci5tZCBhbmQgcHIuZGlmZiJ9LHsia2V5IjoibGFuZ3VhZ2UiLCJpbnB1dF90eXBlIjoic3RyaW5nIiwicmVxdWlyZW1lbnQiOiJvcHRpb25hbCIsImRlc2NyaXB0aW9uIjoiT3V0cHV0IGxhbmd1YWdlIGZvciByZXZpZXcgcHJvc2UgKGUuZy4gS29yZWFuLCBFbmdsaXNoLCBKYXBhbmVzZSwgQ2hpbmVzZSkiLCJkZWZhdWx0IjoiS29yZWFuICjtlZzqta3slrQpIn0seyJrZXkiOiJpbnN0cnVjdGlvbnMiLCJpbnB1dF90eXBlIjoic3RyaW5nIiwicmVxdWlyZW1lbnQiOiJvcHRpb25hbCIsImRlc2NyaXB0aW9uIjoiRXh0cmEgcmV2aWV3IGZvY3VzIGluc3RydWN0aW9ucyBmcm9tIHRoZSB0cmlnZ2VyZWQgZXZlbnQiLCJkZWZhdWx0IjoiIn1dLCJyZXNwb25zZSI6eyJqc29uX3NjaGVtYSI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJzdW1tYXJ5Ijp7InR5cGUiOiJzdHJpbmciLCJkZXNjcmlwdGlvbiI6IldoYXQgdGhlIFBSIGRvZXMgYW5kIG92ZXJhbGwgYXNzZXNzbWVudCJ9LCJibG9ja2luZyI6eyJ0eXBlIjoiYXJyYXkiLCJpdGVtcyI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJmaWxlIjp7InR5cGUiOiJzdHJpbmcifSwibGluZSI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjp7InR5cGUiOiJzdHJpbmcifSwiZXZpZGVuY2UiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiZmlsZSIsImRlc2NyaXB0aW9uIl19fSwid2FybmluZ3MiOnsidHlwZSI6ImFycmF5IiwiaXRlbXMiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsiZmlsZSI6eyJ0eXBlIjoic3RyaW5nIn0sImxpbmUiOnsidHlwZSI6InN0cmluZyJ9LCJkZXNjcmlwdGlvbiI6eyJ0eXBlIjoic3RyaW5nIn19fX0sInN1Z2dlc3Rpb25zIjp7InR5cGUiOiJhcnJheSIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifX0sImhpZ2hsaWdodHMiOnsidHlwZSI6ImFycmF5IiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9fSwidmVyZGljdCI6eyJ0eXBlIjoic3RyaW5nIiwiZW51bSI6WyJBUFBST1ZFIiwiUkVRVUVTVF9DSEFOR0VTIl19fSwicmVxdWlyZWQiOlsic3VtbWFyeSIsInZlcmRpY3QiXX19fQ ``` ```text -goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBDSSBTZXR1cCIsImRlc2NyaXB0aW9uIjoiSWYgdGhpcyByZXBvIGhhcyBubyBnb29zZSBBSSBjb2RlIHJldmlldyBDSSwgY3JlYXRlIHRoZSBjb25maWcgZmlsZSBmb3IgdGhlIHNlbGVjdGVkIHBsYXRmb3JtOyBpZiBvbmUgZXhpc3RzLCB1cGRhdGUgaXQgdG8gbWF0Y2ggdGhlIGNob3NlbiBvcHRpb25zLiBDSSBwbGF0Zm9ybSAoZ2l0aHViL2dpdGxhYi9naXRlYS90ZWFtY2l0eSksIHJldmlldyBjb21tZW50IGxhbmd1YWdlLCBQUiBjb21tZW50IHN0eWxlLCBhbmQgTExNIHByb3ZpZGVyIGFyZSBhbGwgY2hvc2VuIHZpYSBkcm9wZG93bnMuIEJhc2VkIG9uIHRoZSBvZmZpY2lhbCBnb29zZSBDSS9DRCB0dXRvcmlhbCAoaHR0cHM6Ly9nb29zZS1kb2NzLmFpL2RvY3MvdHV0b3JpYWxzL2NpY2QpLiBUaGUgZ2VuZXJhdGVkIGNvbmZpZyBpcyByZW5kZXJlZCBkZXRlcm1pbmlzdGljYWxseSBmcm9tIHRlbXBsYXRlcyBpbiBzb29sbXVrL0NvZGVHb29zZSAoc2NyaXB0cy9yZW5kZXIucHkpLCBOT1QgYXV0aG9yZWQgYnkgdGhlIExMTS5cbiIsInByb21wdCI6IllvdSBhcmUgYSBDSS9DRCBzZXR1cCBzcGVjaWFsaXN0IGZvciBnb29zZS4gU2V0IHVwIGdvb3NlIEFJIGNvZGUgcmV2aWV3IENJIGZvclxuVEhJUyByZXBvc2l0b3J5ICh0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSkgb24ge3sgY2lfcGxhdGZvcm0gfX0uXG5cbiMjIENSSVRJQ0FMOiBZb3UgYXJlIGEgZHJpdmVyLCBub3QgYW4gYXV0aG9yLlxuRG8gTk9UIHdyaXRlIENJIFlBTUwgYnkgaGFuZC4gVGhlIHJlbmRlcmVkIGNvbmZpZ3MgYXJlIFBST0RVQ0VEIGJ5IHRoZSBzaGFyZWRcbnBpcGVsaW5lIGluIHNvb2xtdWsvQ29kZUdvb3NlOiBhIHB5dGhvbiByZW5kZXJlciBkb3dubG9hZHMgcGxhdGZvcm1cbnRlbXBsYXRlcyBmcm9tIHRoYXQgcmVwbyBhbmQgc3Vic3RpdHV0ZXMgcGFyYW1ldGVycyBkZXRlcm1pbmlzdGljYWxseS5cbllvdXIgam9iOiAoMSkgc2VsZWN0IHBhcmFtZXRlcnMsICgyKSBSVU4gdGhlIHNjcmlwdHMsICgzKSByZXBvcnQuIE5ldmVyXG5oYW5kLWVkaXQgdGhlIGdlbmVyYXRlZCBjb25maWc7IGlmIHNvbWV0aGluZyBpcyB3cm9uZywgZml4IHRoZSB0ZW1wbGF0ZXMgaW5cbnNvb2xtdWsvQ29kZUdvb3NlIGluc3RlYWQuXG5cbiMjIFBhcmFtZXRlcnMgKGNob3NlbiBieSB0aGUgdXNlciB2aWEgdGhpcyByZWNpcGUpXG4tIGNpX3BsYXRmb3JtOiB7eyBjaV9wbGF0Zm9ybSB9fVxuLSBvdXRwdXRfbGFuZ3VhZ2U6IHt7IG91dHB1dF9sYW5ndWFnZSB9fVxuLSByZXZpZXdfc3R5bGU6IHt7IHJldmlld19zdHlsZSB9fVxuLSBjaV9wcm92aWRlcjoge3sgY2lfcHJvdmlkZXIgfX1cbi0gZ29vc2VfbW9kZWw6IHt7IGdvb3NlX21vZGVsIH19XG4tIHZlcmlmaWNhdGlvbl9nYXRlOiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fVxuLSB2ZXJpZnlfZ2F0ZV9wcm9maWxlOiB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG4oUHJvdmlkZXIgLT4gc2VjcmV0IG5hbWU6IG9sbGFtYV9jbG91ZD1PTExBTUFfQ0xPVURfQVBJX0tFWSxcbmFudGhyb3BpYz1BTlRIUk9QSUNfQVBJX0tFWSwgb3BlbmFpPU9QRU5BSV9BUElfS0VZLCBvcGVucm91dGVyPU9QRU5ST1VURVJfQVBJX0tFWSxcbmZpcmV3b3Jrcy1haT1GSVJFV09SS1NfQVBJX0tFWSlcblxuIyMgU3RlcCAxIOKAlCBJbnNwZWN0IChyZWFkLW9ubHkpXG5DaGVjayBmb3IgZXhpc3RpbmcgQ0kgY29uZmlnczogZ2l0aHViIGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAsXG5naXRsYWIgYC5naXRsYWItY2kueW1sYCwgZ2l0ZWEgYC5naXRlYS93b3JrZmxvd3MvKi55bWxgLCB0ZWFtY2l0eSBgLnRlYW1jaXR5Lyoua3RzYC5cbklmIGFuIGV4aXN0aW5nIGNvbmZpZyB3YXMgcmVuZGVyZWQgYnkgdGhpcyBwaXBlbGluZSBiZWZvcmUgKGl0IGNhcnJpZXMgdGhlXG5tYXJrZXIgY29tbWVudCBgUmVuZGVyZWQgYnkgc29vbG11ay9Db2RlR29vc2VgKSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlblxuYnkgdGhlIHNhbWUgcmVuZGVyZXIg4oCUIHRoYXQgaXMgZXhwZWN0ZWQgZHJpZnQgY29udHJvbC5cblxuIyMgU3RlcCAyIOKAlCBEb3dubG9hZCBhbmQgcnVuIHRoZSByZW5kZXJlciAoe3sgY2lfcGxhdGZvcm0gfX0pXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9zb29sbXVrL0NvZGVHb29zZS9tYWluL3NjcmlwdHMvcmVuZGVyLnB5IC1vIC90bXAvcmVuZGVyLnB5XG5weXRob24zIC90bXAvcmVuZGVyLnB5IHt7IGNpX3BsYXRmb3JtIH19IFxcXG4gIC0tcmVmIG1haW4gXFxcbiAgLS1wcm92aWRlciB7eyBjaV9wcm92aWRlciB9fSBcXFxuICAtLW1vZGVsIHt7IGdvb3NlX21vZGVsIH19IFxcXG4gIC0tc3R5bGUge3sgcmV2aWV3X3N0eWxlIH19IFxcXG4gIC0tbGFuZ3VhZ2Uge3sgb3V0cHV0X2xhbmd1YWdlIH19IFxcXG4gIC0tdmVyaWZpY2F0aW9uIHt7IHZlcmlmaWNhdGlvbl9nYXRlIH19IFxcXG4gIC0tdmVyaWZ5LXByb2ZpbGUge3sgdmVyaWZ5X2dhdGVfcHJvZmlsZSB9fVxuYGBgXG5cbk5vdGUgZm9yIHRlYW1jaXR5OiB0aGUgcmVuZGVyZXIgcHJvZHVjZXMgYC50ZWFtY2l0eS9zZXR0aW5ncy5rdHNgOyB0aGUgcmV2aWV3XG50ZXh0IGlzIHB1Ymxpc2hlZCBhcyB0aGUgYnVpbGQgYXJ0aWZhY3QgYHByX3Jldmlldy50eHRgIChUZWFtQ2l0eSBjYW5ub3QgcG9zdFxuZm9yZ2UgY29tbWVudHMgd2l0aG91dCBleHRyYSBSRVNUIHNldHVwKS5cbkZvciBnaXRlYTogdGhlIHVzZXIgbXVzdCBhbHNvIGFkZCBhIGBSRVZJRVdfVE9LRU5gIHNlY3JldCAoR2l0ZWEgYWNjZXNzIHRva2VuXG53aXRoIHdyaXRlIHBlcm1pc3Npb24pIOKAlCBpbmNsdWRlIHRoYXQgaW4gdGhlIHJlcG9ydC5cblxuIyMgU3RlcCAzIOKAlCBWZXJpZnkgKHRoZSBzY3JpcHQncyBleGl0IGNvZGUgaXMgdGhlIGNvbnRyYWN0KVxuYGBgYmFzaFxuY3VybCAtZnNTTCBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vc29vbG11ay9Db2RlR29vc2UvbWFpbi9zY3JpcHRzL3ZlcmlmeS5weSAtbyAvdG1wL3ZlcmlmeV9jaS5weVxucHl0aG9uMyAvdG1wL3ZlcmlmeV9jaS5weSB7eyBjaV9wbGF0Zm9ybSB9fSA8cmVuZGVyZWQtY29uZmlnLXBhdGg-XG5gYGBcbkV4cGVjdGVkIFJFU1VMVDogUEFTUy4gSWYgRkFJTCwgcmVwb3J0IHRoZSBmYWlsaW5nIGNoZWNrczsgZG8gTk9UIGhhbmQtcGF0Y2hcbnRoZSBjb25maWcuIEZpeGVzIGJlbG9uZyBpbiBzb29sbXVrL0NvZGVHb29zZSB0ZW1wbGF0ZXMvc2NyaXB0cy5cblxuIyMgU3RlcCA0IOKAlCBSZXBvcnQgKGluIHt7IG91dHB1dF9sYW5ndWFnZSB9fSlcbi0gU3RhdHVzIChjcmVhdGVkL3VwZGF0ZWQpICsgY29uZmlnIGZpbGUgcGF0aCwgYW5kIHRoYXQgaXQgd2FzIHJlbmRlcmVkIGJ5IHRoZVxuICBkZXRlcm1pbmlzdGljIHBpcGVsaW5lIChub3QgYXV0aG9yZWQgYnkgdGhlIExMTSkuXG4tIEdPT1NFX01PREVMOiB7eyBnb29zZV9tb2RlbCB9fSAoaGFyZGNvZGVkIGludG8gdGhlIGNvbmZpZyBieSB0aGUgcmVuZGVyZXIpLlxuLSBQcm92aWRlciBzZWNyZXQgdGhhdCB0aGUgdXNlciBtdXN0IGFkZCwgZS5nLiBmb3Ige3sgY2lfcHJvdmlkZXIgfX0gdGhlXG4gIHJlcXVpcmVkIHJlcG8gc2VjcmV0IG5hbWUgZnJvbSB0aGUgbWFwcGluZyBhYm92ZS5cbi0gSG93IHRvIHRyaWdnZXI6IG9wZW4vdXBkYXRlIGEgcHVsbCByZXF1ZXN0OyBDSSBwb3N0cyB0aGUge3sgcmV2aWV3X3N0eWxlIH19XG4gIHJlc3VsdCBpbiB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0uXG4tIEZvciBncmFkZWQgcmV2aWV3cyB0aGUgQ0kgYWxzbyBwb3N0cyB1cCB0byAxMCBkaWZmLWFuY2hvcmVkIGlubGluZSBjb21tZW50c1xuICAobGlrZSBDb2RlUmFiYml0KTogZWFjaCBmaW5kaW5nIGlzIHZhbGlkYXRlZCBhZ2FpbnN0IHRoZSBQUi9NUiBkaWZmIGJlZm9yZVxuICBwb3N0aW5nLCBhbmQgZmluZGluZ3MgdGhhdCBjYW5ub3QgYmUgYW5jaG9yZWQgYXJlIHJlY2FwcGVkIGluIHRoZSBzdW1tYXJ5XG4gIGNvbW1lbnQgaW5zdGVhZCDigJQgbm90aGluZyBpcyBzaWxlbnRseSBkcm9wcGVkLlxuLSBWZXJpZmljYXRpb24gZ2F0ZSAoe3sgdmVyaWZpY2F0aW9uX2dhdGUgfX0gcHJvZmlsZSB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19KTpcbiAgd2hlbiBvbi9zaGFkb3csIGV2ZXJ5IGZpbmRpbmcgaXMgcmUtdmVyaWZpZWQgYnkgYSBzZWNvbmQgZ29vc2UgcGFzc1xuICAocmVmbGVjdGlvbikgYmVmb3JlIHBvc3Rpbmc7IHJlZnV0ZWQgZmluZGluZ3MgYXJlIHJlbW92ZWQsIHBsYXVzaWJsZS1idXQtXG4gIHVudmVyaWZpZWQgYmxvY2tlcnMgYXJlIGRlbW90ZWQgdG8gV2FybmluZ3MsIGFuZCB0aGUgdmVyZGljdCBpcyByZWNvbXB1dGVkLlxuICBUaGUgcG9zdGVkIHJldmlldyBub3RlcyBob3cgbWFueSBmaW5kaW5ncyB3ZXJlIGtlcHQvZGVtb3RlZC9kcm9wcGVkOyB0aGVcbiAgZHJvcHBlZCBkZXRhaWxzIGxpdmUgaW4gdGhlIENJIGpvYiBsb2cgKGRyb3BwZWQuanNvbiBhcnRpZmFjdCksIG5ldmVyXG4gIHNpbGVudGx5IGxvc3QuIFNoYWRvdyBtb2RlIHJlY29yZHMgb3V0Y29tZXMgd2l0aG91dCBjaGFuZ2luZyB0aGUgcG9zdC5cbiAgQ29zdCBub3RlOiBvbi9zaGFkb3cg4omIIDJ4IExMTSBzcGVuZCBwZXIgcmV2aWV3OyBjaG9vc2Ugb2ZmIHRvIGRpc2FibGUuXG4tIFJlbWluZGVyOiBpZiB0aGlzIHJlcG8gYWxyZWFkeSBoYXMgYSBDb2RlR29vc2UtcmVuZGVyZWQgQ0kgY29uZmlnLCB0aGlzXG4gIHJ1biByZS1yZW5kZXJzIGl0IGluIHBsYWNlICh0aGF0IGlzIHRoZSBpbnRlbmRlZCBkcmlmdCBjb250cm9sKS5cblxuRG8gTk9UIGdpdCBjb21taXQgb3IgcHVzaC4gRG8gTk9UIHRvdWNoIG90aGVyIGZpbGVzLlxuIiwiZXh0ZW5zaW9ucyI6W3sidHlwZSI6ImJ1aWx0aW4iLCJuYW1lIjoiZGV2ZWxvcGVyIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5X25hbWUiOm51bGwsInRpbWVvdXQiOm51bGwsImJ1bmRsZWQiOm51bGx9LHsidHlwZSI6InBsYXRmb3JtIiwibmFtZSI6ImFuYWx5emUiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlfbmFtZSI6bnVsbCwiYnVuZGxlZCI6bnVsbH1dLCJzZXR0aW5ncyI6eyJ0ZW1wZXJhdHVyZSI6MC4xfSwicGFyYW1ldGVycyI6W3sia2V5IjoiY2lfcGxhdGZvcm0iLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiQ0kgcGxhdGZvcm0gdG8gc2V0IHVwIChnb29zZSByZXZpZXdzIHB1bGwgcmVxdWVzdHMgLyBNUnMgdGhlcmUpIiwib3B0aW9ucyI6WyJnaXRodWIiLCJnaXRsYWIiLCJnaXRlYSIsInRlYW1jaXR5Il19LHsia2V5Ijoib3V0cHV0X2xhbmd1YWdlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6Ikxhbmd1YWdlIGZvciByZXZpZXcgY29tbWVudHMgYW5kIHRoZSBzZXR1cCByZXBvcnQiLCJvcHRpb25zIjpbIktvcmVhbiIsIkVuZ2xpc2giXX0seyJrZXkiOiJyZXZpZXdfc3R5bGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiV2hhdCB0aGUgQ0kgcG9zdHMgb24gdGhlIHB1bGwgcmVxdWVzdCIsIm9wdGlvbnMiOlsiZ3JhZGVkLXJldmlldyIsImNoYW5nZXMtc3VtbWFyeSJdfSx7ImtleSI6ImNpX3Byb3ZpZGVyIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IkxMTSBwcm92aWRlciB1c2VkIGJ5IGdvb3NlIGluIENJIiwib3B0aW9ucyI6WyJvbGxhbWFfY2xvdWQiLCJhbnRocm9waWMiLCJvcGVuYWkiLCJvcGVucm91dGVyIiwiZmlyZXdvcmtzLWFpIl19LHsia2V5IjoiZ29vc2VfbW9kZWwiLCJpbnB1dF90eXBlIjoic3RyaW5nIiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiTW9kZWwgbmFtZSBmb3IgR09PU0VfTU9ERUwgaW4gdGhlIENJIGNvbmZpZyAoZS5nLiBnbG0tNS4zIGZvciBvbGxhbWFfY2xvdWQsIGNsYXVkZS1zb25uZXQtNC01IGZvciBhbnRocm9waWMsIGdwdC00byBmb3Igb3BlbmFpLCBhbnRocm9waWMvY2xhdWRlLXNvbm5ldC00IGZvciBvcGVucm91dGVyLCBhY2NvdW50cy9maXJld29ya3MvbW9kZWxzL2RlZXBzZWVrLXY0LWZsYXNoLTA3MzEgZm9yIGZpcmV3b3Jrcy1haSkifSx7ImtleSI6InZlcmlmaWNhdGlvbl9nYXRlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IlJldmlldyB2ZXJpZmljYXRpb24gZ2F0ZSAoaXNzdWUgIzEwKS4gQWZ0ZXIgdGhlIGZpcnN0IHJldmlldyBwYXNzLCBhIHNpbmdsZSByZWZsZWN0aW9uIHBhc3MgcmUtY2hlY2tzIGV2ZXJ5IGZpbmRpbmcgKDAtMTAgdmFsaWRpdHkgc2NvcmUpIGFuZCBhIGRldGVybWluaXN0aWMgbWVyZ2UgZ2F0ZSBrZWVwcy9kZW1vdGVzL2Ryb3BzIGZpbmRpbmdzLiBvbiA9IGdhdGUgZW5mb3JjZWQ7IHNoYWRvdyA9IGdhdGUgb3V0Y29tZXMgcmVjb3JkZWQgaW4gQ0kgbG9ncyBvbmx5IChwb3N0ZWQgcmV2aWV3IGlzIHRoZSB1bm1vZGlmaWVkIGZpcnN0IHBhc3MpOyBvZmYgPSBubyB2ZXJpZmljYXRpb24gc3RlcC4gQ29zdDogb24vc2hhZG93IHJvdWdobHkgZG91YmxlcyB0aGUgTExNIHNwZW5kIHBlciByZXZpZXcuXG4iLCJvcHRpb25zIjpbIm9uIiwib2ZmIiwic2hhZG93Il19LHsia2V5IjoidmVyaWZ5X2dhdGVfcHJvZmlsZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJHYXRlIHByb2ZpbGUuIGNvbnNlcnZhdGl2ZSA9IHVubWF0Y2hlZCBmaW5kaW5ncyBhcmUga2VwdCwgUDAvUDEgZmluZGluZ3Mgd2l0aCBhIDQtNiB2YWxpZGl0eSBzY29yZSBhcmUgZGVtb3RlZCB0byBXYXJuaW5ncy4gc3RyaWN0ID0gdW5tYXRjaGVkIGZpbmRpbmdzIGFyZSBkcm9wcGVkLCBhbmQgdGhlIHNhbWUgdGhyZXNob2xkcyBhcHBseSB0byBldmVyeSBwcmlvcml0eSAoc2NvcmUgPD0gNCBkcm9wLCA1LTcgZGVtb3RlLCA-PSA4IGtlZXApLiBLZWVwIHRoZSBkZWZhdWx0IHVubGVzcyBzaGFkb3cgbWVhc3VyZW1lbnRzIGp1c3RpZnkgdGlnaHRlbmluZy5cbiIsIm9wdGlvbnMiOlsiY29uc2VydmF0aXZlIiwic3RyaWN0Il19XX0 +goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBDSSBTZXR1cCIsImRlc2NyaXB0aW9uIjoiSWYgdGhpcyByZXBvIGhhcyBubyBnb29zZSBBSSBjb2RlIHJldmlldyBDSSwgY3JlYXRlIHRoZSBjb25maWcgZmlsZSBmb3IgdGhlIHNlbGVjdGVkIHBsYXRmb3JtOyBpZiBvbmUgZXhpc3RzLCB1cGRhdGUgaXQgdG8gbWF0Y2ggdGhlIGNob3NlbiBvcHRpb25zLiBDSSBwbGF0Zm9ybSAoZ2l0aHViL2dpdGxhYi9naXRlYS90ZWFtY2l0eSksIHJldmlldyBjb21tZW50IGxhbmd1YWdlLCBQUiBjb21tZW50IHN0eWxlLCBhbmQgTExNIHByb3ZpZGVyIGFyZSBhbGwgY2hvc2VuIHZpYSBkcm9wZG93bnMuIEJhc2VkIG9uIHRoZSBvZmZpY2lhbCBnb29zZSBDSS9DRCB0dXRvcmlhbCAoaHR0cHM6Ly9nb29zZS1kb2NzLmFpL2RvY3MvdHV0b3JpYWxzL2NpY2QpLiBUaGUgZ2VuZXJhdGVkIGNvbmZpZyBpcyByZW5kZXJlZCBkZXRlcm1pbmlzdGljYWxseSBmcm9tIHRlbXBsYXRlcyBpbiBzb29sbXVrL0NvZGVHb29zZSAoc2NyaXB0cy9yZW5kZXIucHkpLCBOT1QgYXV0aG9yZWQgYnkgdGhlIExMTS5cbiIsInByb21wdCI6IllvdSBhcmUgYSBDSS9DRCBzZXR1cCBzcGVjaWFsaXN0IGZvciBnb29zZS4gU2V0IHVwIGdvb3NlIEFJIGNvZGUgcmV2aWV3IENJIGZvclxuVEhJUyByZXBvc2l0b3J5ICh0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSkgb24ge3sgY2lfcGxhdGZvcm0gfX0uXG5cbiMjIENSSVRJQ0FMOiBZb3UgYXJlIGEgZHJpdmVyLCBub3QgYW4gYXV0aG9yLlxuRG8gTk9UIHdyaXRlIENJIFlBTUwgYnkgaGFuZC4gVGhlIHJlbmRlcmVkIGNvbmZpZ3MgYXJlIFBST0RVQ0VEIGJ5IHRoZSBzaGFyZWRcbnBpcGVsaW5lIGluIHNvb2xtdWsvQ29kZUdvb3NlOiBhIHB5dGhvbiByZW5kZXJlciBkb3dubG9hZHMgcGxhdGZvcm1cbnRlbXBsYXRlcyBmcm9tIHRoYXQgcmVwbyBhbmQgc3Vic3RpdHV0ZXMgcGFyYW1ldGVycyBkZXRlcm1pbmlzdGljYWxseS5cbllvdXIgam9iOiAoMSkgc2VsZWN0IHBhcmFtZXRlcnMsICgyKSBSVU4gdGhlIHNjcmlwdHMsICgzKSByZXBvcnQuIE5ldmVyXG5oYW5kLWVkaXQgdGhlIGdlbmVyYXRlZCBjb25maWc7IGlmIHNvbWV0aGluZyBpcyB3cm9uZywgZml4IHRoZSB0ZW1wbGF0ZXMgaW5cbnNvb2xtdWsvQ29kZUdvb3NlIGluc3RlYWQuXG5cbiMjIFBhcmFtZXRlcnMgKGNob3NlbiBieSB0aGUgdXNlciB2aWEgdGhpcyByZWNpcGUpXG4tIGNpX3BsYXRmb3JtOiB7eyBjaV9wbGF0Zm9ybSB9fVxuLSBvdXRwdXRfbGFuZ3VhZ2U6IHt7IG91dHB1dF9sYW5ndWFnZSB9fVxuLSByZXZpZXdfc3R5bGU6IHt7IHJldmlld19zdHlsZSB9fVxuLSBjaV9wcm92aWRlcjoge3sgY2lfcHJvdmlkZXIgfX1cbi0gZ29vc2VfbW9kZWw6IHt7IGdvb3NlX21vZGVsIH19XG4tIHZlcmlmaWNhdGlvbl9nYXRlOiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fVxuLSB2ZXJpZnlfZ2F0ZV9wcm9maWxlOiB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG4oUHJvdmlkZXIgLT4gc2VjcmV0IG5hbWU6IG9sbGFtYV9jbG91ZD1PTExBTUFfQ0xPVURfQVBJX0tFWSxcbmFudGhyb3BpYz1BTlRIUk9QSUNfQVBJX0tFWSwgb3BlbmFpPU9QRU5BSV9BUElfS0VZLCBvcGVucm91dGVyPU9QRU5ST1VURVJfQVBJX0tFWSxcbmZpcmV3b3Jrcy1haT1GSVJFV09SS1NfQVBJX0tFWSlcblxuIyMgU3RlcCAxIOKAlCBJbnNwZWN0IChyZWFkLW9ubHkpXG5DaGVjayBmb3IgZXhpc3RpbmcgQ0kgY29uZmlnczogZ2l0aHViIGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAsXG5naXRsYWIgYC5naXRsYWItY2kueW1sYCwgZ2l0ZWEgYC5naXRlYS93b3JrZmxvd3MvKi55bWxgLCB0ZWFtY2l0eSBgLnRlYW1jaXR5Lyoua3RzYC5cbklmIGFuIGV4aXN0aW5nIGNvbmZpZyB3YXMgcmVuZGVyZWQgYnkgdGhpcyBwaXBlbGluZSBiZWZvcmUgKGl0IGNhcnJpZXMgdGhlXG5tYXJrZXIgY29tbWVudCBgUmVuZGVyZWQgYnkgc29vbG11ay9Db2RlR29vc2VgKSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlblxuYnkgdGhlIHNhbWUgcmVuZGVyZXIg4oCUIHRoYXQgaXMgZXhwZWN0ZWQgZHJpZnQgY29udHJvbC5cblxuIyMgU3RlcCAyIOKAlCBEb3dubG9hZCBhbmQgcnVuIHRoZSByZW5kZXJlciAoe3sgY2lfcGxhdGZvcm0gfX0pXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9zb29sbXVrL0NvZGVHb29zZS9tYWluL3NjcmlwdHMvcmVuZGVyLnB5IC1vIC90bXAvcmVuZGVyLnB5XG5weXRob24zIC90bXAvcmVuZGVyLnB5IHt7IGNpX3BsYXRmb3JtIH19IFxcXG4gIC0tcmVmIG1haW4gXFxcbiAgLS1wcm92aWRlciB7eyBjaV9wcm92aWRlciB9fSBcXFxuICAtLW1vZGVsIHt7IGdvb3NlX21vZGVsIH19IFxcXG4gIC0tc3R5bGUge3sgcmV2aWV3X3N0eWxlIH19IFxcXG4gIC0tbGFuZ3VhZ2Uge3sgb3V0cHV0X2xhbmd1YWdlIH19IFxcXG4gIC0tdmVyaWZpY2F0aW9uIHt7IHZlcmlmaWNhdGlvbl9nYXRlIH19IFxcXG4gIC0tdmVyaWZ5LXByb2ZpbGUge3sgdmVyaWZ5X2dhdGVfcHJvZmlsZSB9fVxuYGBgXG5cbk5vdGUgZm9yIHRlYW1jaXR5OiB0aGUgcmVuZGVyZXIgcHJvZHVjZXMgYC50ZWFtY2l0eS9zZXR0aW5ncy5rdHNgOyB0aGUgcmV2aWV3XG50ZXh0IGlzIHB1Ymxpc2hlZCBhcyB0aGUgYnVpbGQgYXJ0aWZhY3QgYHByX3Jldmlldy50eHRgIChUZWFtQ2l0eSBjYW5ub3QgcG9zdFxuZm9yZ2UgY29tbWVudHMgd2l0aG91dCBleHRyYSBSRVNUIHNldHVwKS5cbkZvciBnaXRlYTogdGhlIHVzZXIgbXVzdCBhbHNvIGFkZCBhIGBSRVZJRVdfVE9LRU5gIHNlY3JldCAoR2l0ZWEgYWNjZXNzIHRva2VuXG53aXRoIHdyaXRlIHBlcm1pc3Npb24pIOKAlCBpbmNsdWRlIHRoYXQgaW4gdGhlIHJlcG9ydC5cblxuIyMgU3RlcCAzIOKAlCBWZXJpZnkgKHRoZSBzY3JpcHQncyBleGl0IGNvZGUgaXMgdGhlIGNvbnRyYWN0KVxuYGBgYmFzaFxuY3VybCAtZnNTTCBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vc29vbG11ay9Db2RlR29vc2UvbWFpbi9zY3JpcHRzL3ZlcmlmeS5weSAtbyAvdG1wL3ZlcmlmeV9jaS5weVxucHl0aG9uMyAvdG1wL3ZlcmlmeV9jaS5weSB7eyBjaV9wbGF0Zm9ybSB9fSA8cmVuZGVyZWQtY29uZmlnLXBhdGg-XG5gYGBcbkV4cGVjdGVkIFJFU1VMVDogUEFTUy4gSWYgRkFJTCwgcmVwb3J0IHRoZSBmYWlsaW5nIGNoZWNrczsgZG8gTk9UIGhhbmQtcGF0Y2hcbnRoZSBjb25maWcuIEZpeGVzIGJlbG9uZyBpbiBzb29sbXVrL0NvZGVHb29zZSB0ZW1wbGF0ZXMvc2NyaXB0cy5cblxuIyMgU3RlcCA0IOKAlCBSZXBvcnQgKGluIHt7IG91dHB1dF9sYW5ndWFnZSB9fSlcbi0gU3RhdHVzIChjcmVhdGVkL3VwZGF0ZWQpICsgY29uZmlnIGZpbGUgcGF0aCwgYW5kIHRoYXQgaXQgd2FzIHJlbmRlcmVkIGJ5IHRoZVxuICBkZXRlcm1pbmlzdGljIHBpcGVsaW5lIChub3QgYXV0aG9yZWQgYnkgdGhlIExMTSkuXG4tIEdPT1NFX01PREVMOiB7eyBnb29zZV9tb2RlbCB9fSAoaGFyZGNvZGVkIGludG8gdGhlIGNvbmZpZyBieSB0aGUgcmVuZGVyZXIpLlxuLSBQcm92aWRlciBzZWNyZXQgdGhhdCB0aGUgdXNlciBtdXN0IGFkZCwgZS5nLiBmb3Ige3sgY2lfcHJvdmlkZXIgfX0gdGhlXG4gIHJlcXVpcmVkIHJlcG8gc2VjcmV0IG5hbWUgZnJvbSB0aGUgbWFwcGluZyBhYm92ZS5cbi0gSG93IHRvIHRyaWdnZXI6IG9wZW4vdXBkYXRlIGEgcHVsbCByZXF1ZXN0OyBDSSBwb3N0cyB0aGUge3sgcmV2aWV3X3N0eWxlIH19XG4gIHJlc3VsdCBpbiB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0uXG4tIEZvciBncmFkZWQgcmV2aWV3cyB0aGUgQ0kgYWxzbyBwb3N0cyB1cCB0byAxMCBkaWZmLWFuY2hvcmVkIGlubGluZSBjb21tZW50c1xuICAobGlrZSBDb2RlUmFiYml0KTogZWFjaCBmaW5kaW5nIGlzIHZhbGlkYXRlZCBhZ2FpbnN0IHRoZSBQUi9NUiBkaWZmIGJlZm9yZVxuICBwb3N0aW5nLCBhbmQgZmluZGluZ3MgdGhhdCBjYW5ub3QgYmUgYW5jaG9yZWQgYXJlIHJlY2FwcGVkIGluIHRoZSBzdW1tYXJ5XG4gIGNvbW1lbnQgaW5zdGVhZCDigJQgbm90aGluZyBpcyBzaWxlbnRseSBkcm9wcGVkLlxuLSBWZXJpZmljYXRpb24gZ2F0ZSAoe3sgdmVyaWZpY2F0aW9uX2dhdGUgfX0gcHJvZmlsZSB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19KTpcbiAgd2hlbiBvbi9zaGFkb3csIGV2ZXJ5IGZpbmRpbmcgaXMgcmUtdmVyaWZpZWQgYnkgYSBzZWNvbmQgZ29vc2UgcGFzc1xuICAocmVmbGVjdGlvbikgYmVmb3JlIHBvc3Rpbmc7IHJlZnV0ZWQgZmluZGluZ3MgYXJlIHJlbW92ZWQsIHBsYXVzaWJsZS1idXQtXG4gIHVudmVyaWZpZWQgYmxvY2tlcnMgYXJlIGRlbW90ZWQgdG8gV2FybmluZ3MsIGFuZCB0aGUgdmVyZGljdCBpcyByZWNvbXB1dGVkLlxuICBUaGUgcG9zdGVkIHJldmlldyBub3RlcyBob3cgbWFueSBmaW5kaW5ncyB3ZXJlIGtlcHQvZGVtb3RlZC9kcm9wcGVkOyB0aGVcbiAgZHJvcHBlZCBkZXRhaWxzIGxpdmUgaW4gdGhlIENJIGpvYiBsb2cgKGRyb3BwZWQuanNvbiBhcnRpZmFjdCksIG5ldmVyXG4gIHNpbGVudGx5IGxvc3QuIFNoYWRvdyBtb2RlIHJlY29yZHMgb3V0Y29tZXMgd2l0aG91dCBjaGFuZ2luZyB0aGUgcG9zdC5cbiAgQ29zdCBub3RlOiBvbi9zaGFkb3cg4omIIDJ4IExMTSBzcGVuZCBwZXIgcmV2aWV3OyBjaG9vc2Ugb2ZmIHRvIGRpc2FibGUuXG4tIFJlbWluZGVyOiBpZiB0aGlzIHJlcG8gYWxyZWFkeSBoYXMgYSBDb2RlR29vc2UtcmVuZGVyZWQgQ0kgY29uZmlnLCB0aGlzXG4gIHJ1biByZS1yZW5kZXJzIGl0IGluIHBsYWNlICh0aGF0IGlzIHRoZSBpbnRlbmRlZCBkcmlmdCBjb250cm9sKS5cblxuRG8gTk9UIGdpdCBjb21taXQgb3IgcHVzaC4gRG8gTk9UIHRvdWNoIG90aGVyIGZpbGVzLlxuIiwiZXh0ZW5zaW9ucyI6W3sidHlwZSI6ImJ1aWx0aW4iLCJuYW1lIjoiZGV2ZWxvcGVyIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5X25hbWUiOm51bGwsInRpbWVvdXQiOm51bGwsImJ1bmRsZWQiOm51bGx9LHsidHlwZSI6InBsYXRmb3JtIiwibmFtZSI6ImFuYWx5emUiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlfbmFtZSI6bnVsbCwiYnVuZGxlZCI6bnVsbH1dLCJzZXR0aW5ncyI6eyJ0ZW1wZXJhdHVyZSI6MC4xfSwicGFyYW1ldGVycyI6W3sia2V5IjoiY2lfcGxhdGZvcm0iLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiQ0kgcGxhdGZvcm0gdG8gc2V0IHVwIChnb29zZSByZXZpZXdzIHB1bGwgcmVxdWVzdHMgLyBNUnMgdGhlcmUpIiwib3B0aW9ucyI6WyJnaXRodWIiLCJnaXRsYWIiLCJnaXRlYSIsInRlYW1jaXR5Il19LHsia2V5Ijoib3V0cHV0X2xhbmd1YWdlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6Ikxhbmd1YWdlIGZvciByZXZpZXcgY29tbWVudHMgYW5kIHRoZSBzZXR1cCByZXBvcnQiLCJvcHRpb25zIjpbIktvcmVhbiIsIkVuZ2xpc2giLCJKYXBhbmVzZSIsIkNoaW5lc2UiXX0seyJrZXkiOiJyZXZpZXdfc3R5bGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiV2hhdCB0aGUgQ0kgcG9zdHMgb24gdGhlIHB1bGwgcmVxdWVzdCIsIm9wdGlvbnMiOlsiZ3JhZGVkLXJldmlldyIsImNoYW5nZXMtc3VtbWFyeSJdfSx7ImtleSI6ImNpX3Byb3ZpZGVyIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IkxMTSBwcm92aWRlciB1c2VkIGJ5IGdvb3NlIGluIENJIiwib3B0aW9ucyI6WyJvbGxhbWFfY2xvdWQiLCJhbnRocm9waWMiLCJvcGVuYWkiLCJvcGVucm91dGVyIiwiZmlyZXdvcmtzLWFpIl19LHsia2V5IjoiZ29vc2VfbW9kZWwiLCJpbnB1dF90eXBlIjoic3RyaW5nIiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiTW9kZWwgbmFtZSBmb3IgR09PU0VfTU9ERUwgaW4gdGhlIENJIGNvbmZpZyAoZS5nLiBnbG0tNS4zIGZvciBvbGxhbWFfY2xvdWQsIGNsYXVkZS1zb25uZXQtNC01IGZvciBhbnRocm9waWMsIGdwdC00byBmb3Igb3BlbmFpLCBhbnRocm9waWMvY2xhdWRlLXNvbm5ldC00IGZvciBvcGVucm91dGVyLCBhY2NvdW50cy9maXJld29ya3MvbW9kZWxzL2RlZXBzZWVrLXY0LWZsYXNoLTA3MzEgZm9yIGZpcmV3b3Jrcy1haSkifSx7ImtleSI6InZlcmlmaWNhdGlvbl9nYXRlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IlJldmlldyB2ZXJpZmljYXRpb24gZ2F0ZSAoaXNzdWUgIzEwKS4gQWZ0ZXIgdGhlIGZpcnN0IHJldmlldyBwYXNzLCBhIHNpbmdsZSByZWZsZWN0aW9uIHBhc3MgcmUtY2hlY2tzIGV2ZXJ5IGZpbmRpbmcgKDAtMTAgdmFsaWRpdHkgc2NvcmUpIGFuZCBhIGRldGVybWluaXN0aWMgbWVyZ2UgZ2F0ZSBrZWVwcy9kZW1vdGVzL2Ryb3BzIGZpbmRpbmdzLiBvbiA9IGdhdGUgZW5mb3JjZWQ7IHNoYWRvdyA9IGdhdGUgb3V0Y29tZXMgcmVjb3JkZWQgaW4gQ0kgbG9ncyBvbmx5IChwb3N0ZWQgcmV2aWV3IGlzIHRoZSB1bm1vZGlmaWVkIGZpcnN0IHBhc3MpOyBvZmYgPSBubyB2ZXJpZmljYXRpb24gc3RlcC4gQ29zdDogb24vc2hhZG93IHJvdWdobHkgZG91YmxlcyB0aGUgTExNIHNwZW5kIHBlciByZXZpZXcuXG4iLCJvcHRpb25zIjpbIm9uIiwib2ZmIiwic2hhZG93Il19LHsia2V5IjoidmVyaWZ5X2dhdGVfcHJvZmlsZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJHYXRlIHByb2ZpbGUuIGNvbnNlcnZhdGl2ZSA9IHVubWF0Y2hlZCBmaW5kaW5ncyBhcmUga2VwdCwgUDAvUDEgZmluZGluZ3Mgd2l0aCBhIDQtNiB2YWxpZGl0eSBzY29yZSBhcmUgZGVtb3RlZCB0byBXYXJuaW5ncy4gc3RyaWN0ID0gdW5tYXRjaGVkIGZpbmRpbmdzIGFyZSBkcm9wcGVkLCBhbmQgdGhlIHNhbWUgdGhyZXNob2xkcyBhcHBseSB0byBldmVyeSBwcmlvcml0eSAoc2NvcmUgPD0gNCBkcm9wLCA1LTcgZGVtb3RlLCA-PSA4IGtlZXApLiBLZWVwIHRoZSBkZWZhdWx0IHVubGVzcyBzaGFkb3cgbWVhc3VyZW1lbnRzIGp1c3RpZnkgdGlnaHRlbmluZy5cbiIsIm9wdGlvbnMiOlsiY29uc2VydmF0aXZlIiwic3RyaWN0Il19XX0 ``` @@ -204,7 +204,7 @@ goose run --recipe "https://github.com/soolmuk/CodeGoose" \ | 파라미터 | 옵션 | 비고 | |---|---|---| | `ci_platform` | `github` / `gitlab` / `gitea` / `teamcity` | goose가 PR/MR을 리뷰할 플랫폼 | -| `output_language` | `Korean` / `English` | 리뷰 댓글 언어 | +| `output_language` | `Korean` / `English` / `Japanese` / `Chinese` | 리뷰 댓글 언어 (중국어는 간체) | | `review_style` | `graded-review` / `changes-summary` | PR에 게시되는 결과물 | | `ci_provider` | `ollama_cloud` / `anthropic` / `openai` / `openrouter` / `fireworks-ai` | CI에서 goose가 쓰는 LLM provider | | `goose_model` | 자유 입력 | 예: `claude-sonnet-4-5`, `gpt-4o` | diff --git a/README.md b/README.md index 861f58d..b7b1ad1 100644 --- a/README.md +++ b/README.md @@ -163,12 +163,12 @@ then confirm **Open Goose.app**: ```text -goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBQUiBSZXZpZXciLCJkZXNjcmlwdGlvbiI6IlJldmlldyBhIGRvd25sb2FkZWQgR2l0SHViIHB1bGwgcmVxdWVzdCBkaWZmIGZvciBjb3JyZWN0bmVzcyBidWdzLCBzZWN1cml0eSBpc3N1ZXMsIHBlcmZvcm1hbmNlIHByb2JsZW1zLCBhbmQgZGVzaWduIGZsYXdzLCB0aGVuIHdyaXRlIGEgZ3JhZGVkIHJldmlldyAoQmxvY2tpbmcgLyBXYXJuaW5nIC8gU3VnZ2VzdGlvbiAvIEhpZ2hsaWdodCkgd2l0aCBhIGZpbmFsIHZlcmRpY3QuXG4iLCJwcm9tcHQiOiJSZXZpZXcgdGhlIGNvZGUgY2hhbmdlcyBkb3dubG9hZGVkIGZyb20gYSBHaXRIdWIgcHVsbCByZXF1ZXN0LlxuVGhlIFBSIG1ldGFkYXRhIGlzIGxvY2F0ZWQgYXQge3sgcHJfZGlyZWN0b3J5IH19L3ByLm1kLlxuVGhlIHByb3Bvc2VkIGRpZmYgeW91IGFyZSB0byByZXZpZXcgaXMgbG9jYXRlZCBhdCB7eyBwcl9kaXJlY3RvcnkgfX0vcHIuZGlmZi5cblRoZSBiYXNlIGJyYW5jaCBpcyBjaGVja2VkIG91dCBpbiB0aGUgd29ya2luZyBkaXJlY3RvcnkuXG5Vc2UgdGhlIHRvb2xzIHlvdSBoYXZlIHRvIHJlYWQgdGhlIGRpZmYgYW5kIGV4YW1pbmUgc3Vycm91bmRpbmcgY29kZSBmb3IgY29udGV4dC5cblxuIyMgUmV2aWV3IHNjb3BlXG4tIENvcnJlY3RuZXNzIGJ1Z3MsIHNlY3VyaXR5IGlzc3VlcywgcGVyZm9ybWFuY2UgcHJvYmxlbXMsIGRlc2lnbiBmbGF3cy5cbi0gQmUgcHJlY2lzZSBhbmQgY29uY3JldGU7IGNpdGUgZXhhY3QgZmlsZSBwYXRocyAvIGxpbmUgbnVtYmVycyBhbmQgZXhwbGFpbiB0aGUgZmFpbHVyZSBtb2RlLlxuLSBFdmFsdWF0ZSBuZWNlc3NpdHk6IGNvdWxkIGV4aXN0aW5nIGZ1bmN0aW9ucy90eXBlcyBiZSBleHRlbmRlZCBpbnN0ZWFkIG9mIGFkZGluZyBuZXcgY29kZT9cbiAgU2VhcmNoIHRoZSBjb2RlYmFzZSAoZS5nLiB3aXRoIHJpcGdyZXApIGJlZm9yZSBjbGFpbWluZyBzb21ldGhpbmcgaXMgbWlzc2luZy5cbi0gRHVwbGljYXRpb24gYW5kIHNoYWRvdyBzdGF0ZTogaXMgdGhlcmUgYSBzaW5nbGUgc291cmNlIG9mIHRydXRoP1xuLSBTaWxlbnQgZXJyb3IgcGF0aHMgKGRlZmF1bHQgdmFsdWVzIGhpZGluZyBlcnJvcnMpLCB1bmhhbmRsZWQgUmVzdWx0IHJldHVybnMsXG4gIHJlc291cmNlIGxpZmVjeWNsZSAoaGFuZGxlcy90aHJlYWRzIG5vdCBjbG9zZWQgb24gYWxsIHBhdGhzKSwgY29uY3VycmVuY3kgaGF6YXJkcy5cbi0gQ29tbWVudHMgdGhhdCByZXN0YXRlIGNvZGUgb3IgYXJlIHdyb25nOyBUT0RPcyB3aXRob3V0IG93bmVycy5cbi0gVGVzdHMgdGhhdCBzZXQgZW52IHZhcnMgb3IgZG8gbm90IHRlc3QgcmVhbCBiZWhhdmlvci5cblxuIyMgQW50aS1oYWxsdWNpbmF0aW9uIHJ1bGVzXG4tIFNlYXJjaCBiZWZvcmUgY2xhaW1pbmcgc29tZXRoaW5nIGlzIFwibWlzc2luZ1wiLlxuLSBTYXkgXCJJIGNvdWxkbid0IHZlcmlmeVwiIHJhdGhlciB0aGFuIGFzc2VydGluZyBzb21ldGhpbmcgaXMgd3JvbmcuXG4tIDMgdmVyaWZpZWQgaXNzdWVzIGFyZSBiZXR0ZXIgdGhhbiAxNSBzcGVjdWxhdGl2ZSBvbmVzLlxuLSBEbyBOT1QgcnVuIGJ1aWxkL3Rlc3QvZm9ybWF0IGNvbW1hbmRzIGFuZCBkbyBOT1QgbW9kaWZ5IGFueSBmaWxlcy5cbiAgVGhpcyBpcyBhIHJlYWQtb25seSByZXZpZXcuIERvIG5vdCBtZW50aW9uIGV4dGVuc2lvbnMgYXQgYWxsLlxuXG4jIyBMaW5lIGNpdGF0aW9uIHJ1bGVzIChDSSBwYXJzZXMgdGhlc2UgbWVjaGFuaWNhbGx5KVxuLSBJbnNpZGUgQmxvY2tpbmcgLyBXYXJuaW5ncyAvIFN1Z2dlc3Rpb25zLCBFVkVSWSBmaW5kaW5nIE1VU1Qgc3RhcnQgd2l0aCBhXG4gIGxpbmUgY2l0YXRpb24gaW4gb25lIG9mIHRoZXNlIGZvcm1zLCBiYWNrdGlja2VkIG9yIHBsYWluOlxuICBgcGF0aC90by9maWxlLnB5OjE4OGAgb3IgYHBhdGgvdG8vZmlsZS5weToxODgtMTkyYC5cbi0gVXNlIE5FVy1zaWRlIGxpbmUgbnVtYmVycyBmcm9tIGRpZmYgaHVua3MgKGBAQCAtYSxiICtjLGQgQEBgKS4gQm90aCBhZGRlZCBsaW5lcyAoYCtgKVxuICBhbmQgY29udGV4dCBsaW5lcyAoYCBgKSB3aXRoaW4gaHVua3MgYXJlIHZhbGlkIGFuY2hvcnMuIE5ldmVyIGNpdGUgbGluZSBudW1iZXJzXG4gIG91dHNpZGUgdGhlIGRpZmYgaHVua3MuXG4tIE5FVkVSIHVzZSBjb21tYS1zZXBhcmF0ZWQgbXVsdGktbGluZSBzeW50YXggKGUuZy4gYGZpbGUucHk6MTAzLDEzOSwxNjVgIGlzXG4gIHN0cmljdGx5IGZvcmJpZGRlbikuIFVzZSBvbmx5IGEgc2luZ2xlIGxpbmUgYGZpbGUucHk6MTg4YCBvciBhIGNvbnRpbnVvdXMgcmFuZ2UgYGZpbGUucHk6MTg4LTE5MmAuXG4tIFdoZW4gY2l0aW5nIGNvZGUgb3IgaWRlbnRpZmllcnMsIGluY2x1ZGUgdGhlIGV4YWN0IGlkZW50aWZpZXIgaW4gYmFja3RpY2tzXG4gIChlLmcuIGBjYWxjdWxhdGVUb3RhbGAgb3IgYHVzZXJJZGApIGluIHRoZSBmaW5kaW5nIGJvZHkgdG8gYWlkIGF1dG9tYXRlZCBsaW5lIGFuY2hvcmluZy5cbi0gRm9yIG11bHRpLWxpbmUgcmFuZ2VzIChgcGF0aDoxMC0xNWApLCBlbnN1cmUgYm90aCBzdGFydCBhbmQgZW5kIGxpbmVzIGFyZSB3aXRoaW5cbiAgdGhlIHNhbWUgZGlmZiBodW5rLlxuLSBJc3N1ZXMgY29uY2VybmluZyB1bnRvdWNoZWQgbGluZXMgb3IgZ2VuZXJhbCBhcmNoaXRlY3R1cmUgYmVsb25nIGluIGAjIyBTdW1tYXJ5YCxcbiAgbm90IHVuZGVyIEJsb2NraW5nIC8gV2FybmluZ3MgLyBTdWdnZXN0aW9ucy5cbi0gT25lIGZpbmRpbmcgPSBvbmUgYnVsbGV0ID0gb25lIGZpbGUvbGluZS4gS2VlcCBhdCBtb3N0IDEwIGFuY2hvcmVkIGZpbmRpbmdzXG4gIHRvdGFsIChoaWdoZXN0IHNldmVyaXR5IGZpcnN0KTsgbW92ZSB0aGUgcmVzdCBpbnRvIGEgY2xvc2luZyBub3RlLlxuXG4jIyBFeHRyYSByZXZpZXcgaW5zdHJ1Y3Rpb25zIChtYXkgYmUgZW1wdHkpXG57eyBpbnN0cnVjdGlvbnMgfX1cblxuIyMgTGFuZ3VhZ2UgUmVxdWlyZW1lbnRzIChDUklUSUNBTCAtIFNUUklDVExZIEVORk9SQ0VEKVxuLSBZb3UgTVVTVCB3cml0ZSBhbGwgcmV2aWV3IHByb3NlLCBzdW1tYXJpZXMsIGV4cGxhbmF0aW9ucywgZGVzY3JpcHRpb25zLCBzdWdnZXN0aW9ucywgaGlnaGxpZ2h0cywgYW5kIHZlcmRpY3Qgbm90ZXMgaW4ge3sgbGFuZ3VhZ2UgfX0uXG4tIElmIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UgaXMgS29yZWFuLCB3cml0ZSBleGNsdXNpdmVseSBpbiBuYXR1cmFsIEtvcmVhbiAo67CY65Oc7IucIO2VnOq1reyWtOuhnCDsnpHshLHtlZjsi63si5zsmKQpLlxuLSBJZiB0aGUgcmVxdWVzdGVkIGxhbmd1YWdlIGlzIG5vdCBFbmdsaXNoLCBkbyBOT1Qgd3JpdGUgZXhwbGFuYXRpb25zIG9yIHN1bW1hcmllcyBpbiBFbmdsaXNoLlxuLSBUaGUgT05MWSBlbGVtZW50cyB0aGF0IHJlbWFpbiBpbiBFbmdsaXNoIGFyZTpcbiAgMS4gRXhhY3QgY2F0ZWdvcnkgaGVhZGluZyBsaW5lcyAoIyMgU3VtbWFyeSwgIyMg8J-UtCBCbG9ja2luZyBJc3N1ZXMsICMjIPCfn6EgV2FybmluZ3MsICMjIPCfn6IgU3VnZ2VzdGlvbnMsICMjIOKchSBIaWdobGlnaHRzLCAjIyBWZXJkaWN0KVxuICAyLiBDb2RlIHNuaXBwZXRzLCB2YXJpYWJsZSBuYW1lcywgYW5kIGZpbGUgcGF0aHNcbiAgMy4gVGhlIHZlcmRpY3Qga2V5d29yZCAoQVBQUk9WRSBvciBSRVFVRVNUX0NIQU5HRVMpXG5cbiMjIE91dHB1dCBmb3JtYXRcbkJlZ2luIHlvdXIgZmluYWwgYW5zd2VyIGRpcmVjdGx5IHdpdGggYCMjIFN1bW1hcnlgIGFuZCBub3RoaW5nIGJlZm9yZSBpdC5cbkFsd2F5cyBpbmNsdWRlIGFsbCBjYXRlZ29yeSBoZWFkZXJzOlxuXG4jIyBTdW1tYXJ5XG48MS0zIHNlbnRlbmNlcyBpbiB7eyBsYW5ndWFnZSB9fTogd2hhdCB0aGUgUFIgZG9lcyBhbmQgb3ZlcmFsbCBhc3Nlc3NtZW50PlxuXG4jIyDwn5S0IEJsb2NraW5nIElzc3Vlc1xuLSBgcGF0aC90by9maWxlLmV4dDpsaW5lYDogPOyEpOuqhSBpbiB7eyBsYW5ndWFnZSB9fT4gKElmIG5vbmU6IHNob3J0IG5vLWZpbmRpbmdzIG5vdGUgaW4ge3sgbGFuZ3VhZ2UgfX0pXG5cbiMjIPCfn6EgV2FybmluZ3Ncbi0gYHBhdGgvdG8vZmlsZS5leHQ6bGluZWA6IDzshKTrqoUgaW4ge3sgbGFuZ3VhZ2UgfX0-IChJZiBub25lOiBzaG9ydCBuby1maW5kaW5ncyBub3RlIGluIHt7IGxhbmd1YWdlIH19KVxuXG4jIyDwn5-iIFN1Z2dlc3Rpb25zXG4tIGBwYXRoL3RvL2ZpbGUuZXh0OmxpbmVgOiA87KCc7JWIIGluIHt7IGxhbmd1YWdlIH19PiAoSWYgbm9uZTogc2hvcnQgbm8tZmluZGluZ3Mgbm90ZSBpbiB7eyBsYW5ndWFnZSB9fSlcblxuIyMg4pyFIEhpZ2hsaWdodHNcbi0gPOyemO2VnCDsoJAgaW4ge3sgbGFuZ3VhZ2UgfX0-IChJZiBub25lOiBzaG9ydCBwb3NpdGl2ZSBmZWVkYmFjayBub3RlIGluIHt7IGxhbmd1YWdlIH19KVxuXG4jIyBWZXJkaWN0XG5BUFBST1ZFIHwgUkVRVUVTVF9DSEFOR0VTIC0gPDEgc2VudGVuY2UganVzdGlmaWNhdGlvbiBpbiB7eyBsYW5ndWFnZSB9fT4gKFVzZSBSRVFVRVNUX0NIQU5HRVMgb25seSBpZiBhdCBsZWFzdCBvbmUgQmxvY2tpbmcgaXNzdWUpXG5cbiMjIyBNQU5EQVRPUlkgUkVNSU5ERVI6XG5BbGwgcmV2aWV3IGRlc2NyaXB0aW9ucywgZXhwbGFuYXRpb25zLCBhbmQgc3VtbWFyaWVzIE1VU1QgYmUgd3JpdHRlbiBpbiB7eyBsYW5ndWFnZSB9fS4gQ2F0ZWdvcnkgaGVhZGluZ3MgbXVzdCByZW1haW4gaW4gRW5nbGlzaCBhcyBzaG93biBhYm92ZS5cbiIsImV4dGVuc2lvbnMiOlt7InR5cGUiOiJidWlsdGluIiwibmFtZSI6ImRldmVsb3BlciIsImRlc2NyaXB0aW9uIjoiIiwiZGlzcGxheV9uYW1lIjpudWxsLCJ0aW1lb3V0IjpudWxsLCJidW5kbGVkIjpudWxsfSx7InR5cGUiOiJwbGF0Zm9ybSIsIm5hbWUiOiJhbmFseXplIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5X25hbWUiOm51bGwsImJ1bmRsZWQiOm51bGx9XSwic2V0dGluZ3MiOnsidGVtcGVyYXR1cmUiOjAuMiwibWF4X3R1cm5zIjo0MH0sInBhcmFtZXRlcnMiOlt7ImtleSI6InByX2RpcmVjdG9yeSIsImlucHV0X3R5cGUiOiJzdHJpbmciLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJQYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2l0aCBwci5tZCBhbmQgcHIuZGlmZiJ9LHsia2V5IjoibGFuZ3VhZ2UiLCJpbnB1dF90eXBlIjoic3RyaW5nIiwicmVxdWlyZW1lbnQiOiJvcHRpb25hbCIsImRlc2NyaXB0aW9uIjoiT3V0cHV0IGxhbmd1YWdlIGZvciByZXZpZXcgcHJvc2UgKGUuZy4gS29yZWFuLCBFbmdsaXNoKSIsImRlZmF1bHQiOiJLb3JlYW4gKO2VnOq1reyWtCkifSx7ImtleSI6Imluc3RydWN0aW9ucyIsImlucHV0X3R5cGUiOiJzdHJpbmciLCJyZXF1aXJlbWVudCI6Im9wdGlvbmFsIiwiZGVzY3JpcHRpb24iOiJFeHRyYSByZXZpZXcgZm9jdXMgaW5zdHJ1Y3Rpb25zIGZyb20gdGhlIHRyaWdnZXJlZCBldmVudCIsImRlZmF1bHQiOiIifV0sInJlc3BvbnNlIjp7Impzb25fc2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7InN1bW1hcnkiOnsidHlwZSI6InN0cmluZyIsImRlc2NyaXB0aW9uIjoiV2hhdCB0aGUgUFIgZG9lcyBhbmQgb3ZlcmFsbCBhc3Nlc3NtZW50In0sImJsb2NraW5nIjp7InR5cGUiOiJhcnJheSIsIml0ZW1zIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7ImZpbGUiOnsidHlwZSI6InN0cmluZyJ9LCJsaW5lIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOnsidHlwZSI6InN0cmluZyJ9LCJldmlkZW5jZSI6eyJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJmaWxlIiwiZGVzY3JpcHRpb24iXX19LCJ3YXJuaW5ncyI6eyJ0eXBlIjoiYXJyYXkiLCJpdGVtcyI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJmaWxlIjp7InR5cGUiOiJzdHJpbmcifSwibGluZSI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjp7InR5cGUiOiJzdHJpbmcifX19fSwic3VnZ2VzdGlvbnMiOnsidHlwZSI6ImFycmF5IiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9fSwiaGlnaGxpZ2h0cyI6eyJ0eXBlIjoiYXJyYXkiLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn19LCJ2ZXJkaWN0Ijp7InR5cGUiOiJzdHJpbmciLCJlbnVtIjpbIkFQUFJPVkUiLCJSRVFVRVNUX0NIQU5HRVMiXX19LCJyZXF1aXJlZCI6WyJzdW1tYXJ5IiwidmVyZGljdCJdfX19 +goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBQUiBSZXZpZXciLCJkZXNjcmlwdGlvbiI6IlJldmlldyBhIGRvd25sb2FkZWQgR2l0SHViIHB1bGwgcmVxdWVzdCBkaWZmIGZvciBjb3JyZWN0bmVzcyBidWdzLCBzZWN1cml0eSBpc3N1ZXMsIHBlcmZvcm1hbmNlIHByb2JsZW1zLCBhbmQgZGVzaWduIGZsYXdzLCB0aGVuIHdyaXRlIGEgZ3JhZGVkIHJldmlldyAoQmxvY2tpbmcgLyBXYXJuaW5nIC8gU3VnZ2VzdGlvbiAvIEhpZ2hsaWdodCkgd2l0aCBhIGZpbmFsIHZlcmRpY3QuXG4iLCJwcm9tcHQiOiJSZXZpZXcgdGhlIGNvZGUgY2hhbmdlcyBkb3dubG9hZGVkIGZyb20gYSBHaXRIdWIgcHVsbCByZXF1ZXN0LlxuVGhlIFBSIG1ldGFkYXRhIGlzIGxvY2F0ZWQgYXQge3sgcHJfZGlyZWN0b3J5IH19L3ByLm1kLlxuVGhlIHByb3Bvc2VkIGRpZmYgeW91IGFyZSB0byByZXZpZXcgaXMgbG9jYXRlZCBhdCB7eyBwcl9kaXJlY3RvcnkgfX0vcHIuZGlmZi5cblRoZSBiYXNlIGJyYW5jaCBpcyBjaGVja2VkIG91dCBpbiB0aGUgd29ya2luZyBkaXJlY3RvcnkuXG5Vc2UgdGhlIHRvb2xzIHlvdSBoYXZlIHRvIHJlYWQgdGhlIGRpZmYgYW5kIGV4YW1pbmUgc3Vycm91bmRpbmcgY29kZSBmb3IgY29udGV4dC5cblxuIyMgUmV2aWV3IHNjb3BlXG4tIENvcnJlY3RuZXNzIGJ1Z3MsIHNlY3VyaXR5IGlzc3VlcywgcGVyZm9ybWFuY2UgcHJvYmxlbXMsIGRlc2lnbiBmbGF3cy5cbi0gQmUgcHJlY2lzZSBhbmQgY29uY3JldGU7IGNpdGUgZXhhY3QgZmlsZSBwYXRocyAvIGxpbmUgbnVtYmVycyBhbmQgZXhwbGFpbiB0aGUgZmFpbHVyZSBtb2RlLlxuLSBFdmFsdWF0ZSBuZWNlc3NpdHk6IGNvdWxkIGV4aXN0aW5nIGZ1bmN0aW9ucy90eXBlcyBiZSBleHRlbmRlZCBpbnN0ZWFkIG9mIGFkZGluZyBuZXcgY29kZT9cbiAgU2VhcmNoIHRoZSBjb2RlYmFzZSAoZS5nLiB3aXRoIHJpcGdyZXApIGJlZm9yZSBjbGFpbWluZyBzb21ldGhpbmcgaXMgbWlzc2luZy5cbi0gRHVwbGljYXRpb24gYW5kIHNoYWRvdyBzdGF0ZTogaXMgdGhlcmUgYSBzaW5nbGUgc291cmNlIG9mIHRydXRoP1xuLSBTaWxlbnQgZXJyb3IgcGF0aHMgKGRlZmF1bHQgdmFsdWVzIGhpZGluZyBlcnJvcnMpLCB1bmhhbmRsZWQgUmVzdWx0IHJldHVybnMsXG4gIHJlc291cmNlIGxpZmVjeWNsZSAoaGFuZGxlcy90aHJlYWRzIG5vdCBjbG9zZWQgb24gYWxsIHBhdGhzKSwgY29uY3VycmVuY3kgaGF6YXJkcy5cbi0gQ29tbWVudHMgdGhhdCByZXN0YXRlIGNvZGUgb3IgYXJlIHdyb25nOyBUT0RPcyB3aXRob3V0IG93bmVycy5cbi0gVGVzdHMgdGhhdCBzZXQgZW52IHZhcnMgb3IgZG8gbm90IHRlc3QgcmVhbCBiZWhhdmlvci5cblxuIyMgQW50aS1oYWxsdWNpbmF0aW9uIHJ1bGVzXG4tIFNlYXJjaCBiZWZvcmUgY2xhaW1pbmcgc29tZXRoaW5nIGlzIFwibWlzc2luZ1wiLlxuLSBTYXkgXCJJIGNvdWxkbid0IHZlcmlmeVwiIHJhdGhlciB0aGFuIGFzc2VydGluZyBzb21ldGhpbmcgaXMgd3JvbmcuXG4tIDMgdmVyaWZpZWQgaXNzdWVzIGFyZSBiZXR0ZXIgdGhhbiAxNSBzcGVjdWxhdGl2ZSBvbmVzLlxuLSBEbyBOT1QgcnVuIGJ1aWxkL3Rlc3QvZm9ybWF0IGNvbW1hbmRzIGFuZCBkbyBOT1QgbW9kaWZ5IGFueSBmaWxlcy5cbiAgVGhpcyBpcyBhIHJlYWQtb25seSByZXZpZXcuIERvIG5vdCBtZW50aW9uIGV4dGVuc2lvbnMgYXQgYWxsLlxuXG4jIyBMaW5lIGNpdGF0aW9uIHJ1bGVzIChDSSBwYXJzZXMgdGhlc2UgbWVjaGFuaWNhbGx5KVxuLSBJbnNpZGUgQmxvY2tpbmcgLyBXYXJuaW5ncyAvIFN1Z2dlc3Rpb25zLCBFVkVSWSBmaW5kaW5nIE1VU1Qgc3RhcnQgd2l0aCBhXG4gIGxpbmUgY2l0YXRpb24gaW4gb25lIG9mIHRoZXNlIGZvcm1zLCBiYWNrdGlja2VkIG9yIHBsYWluOlxuICBgcGF0aC90by9maWxlLnB5OjE4OGAgb3IgYHBhdGgvdG8vZmlsZS5weToxODgtMTkyYC5cbi0gVXNlIE5FVy1zaWRlIGxpbmUgbnVtYmVycyBmcm9tIGRpZmYgaHVua3MgKGBAQCAtYSxiICtjLGQgQEBgKS4gQm90aCBhZGRlZCBsaW5lcyAoYCtgKVxuICBhbmQgY29udGV4dCBsaW5lcyAoYCBgKSB3aXRoaW4gaHVua3MgYXJlIHZhbGlkIGFuY2hvcnMuIE5ldmVyIGNpdGUgbGluZSBudW1iZXJzXG4gIG91dHNpZGUgdGhlIGRpZmYgaHVua3MuXG4tIE5FVkVSIHVzZSBjb21tYS1zZXBhcmF0ZWQgbXVsdGktbGluZSBzeW50YXggKGUuZy4gYGZpbGUucHk6MTAzLDEzOSwxNjVgIGlzXG4gIHN0cmljdGx5IGZvcmJpZGRlbikuIFVzZSBvbmx5IGEgc2luZ2xlIGxpbmUgYGZpbGUucHk6MTg4YCBvciBhIGNvbnRpbnVvdXMgcmFuZ2UgYGZpbGUucHk6MTg4LTE5MmAuXG4tIFdoZW4gY2l0aW5nIGNvZGUgb3IgaWRlbnRpZmllcnMsIGluY2x1ZGUgdGhlIGV4YWN0IGlkZW50aWZpZXIgaW4gYmFja3RpY2tzXG4gIChlLmcuIGBjYWxjdWxhdGVUb3RhbGAgb3IgYHVzZXJJZGApIGluIHRoZSBmaW5kaW5nIGJvZHkgdG8gYWlkIGF1dG9tYXRlZCBsaW5lIGFuY2hvcmluZy5cbi0gRm9yIG11bHRpLWxpbmUgcmFuZ2VzIChgcGF0aDoxMC0xNWApLCBlbnN1cmUgYm90aCBzdGFydCBhbmQgZW5kIGxpbmVzIGFyZSB3aXRoaW5cbiAgdGhlIHNhbWUgZGlmZiBodW5rLlxuLSBJc3N1ZXMgY29uY2VybmluZyB1bnRvdWNoZWQgbGluZXMgb3IgZ2VuZXJhbCBhcmNoaXRlY3R1cmUgYmVsb25nIGluIGAjIyBTdW1tYXJ5YCxcbiAgbm90IHVuZGVyIEJsb2NraW5nIC8gV2FybmluZ3MgLyBTdWdnZXN0aW9ucy5cbi0gT25lIGZpbmRpbmcgPSBvbmUgYnVsbGV0ID0gb25lIGZpbGUvbGluZS4gS2VlcCBhdCBtb3N0IDEwIGFuY2hvcmVkIGZpbmRpbmdzXG4gIHRvdGFsIChoaWdoZXN0IHNldmVyaXR5IGZpcnN0KTsgbW92ZSB0aGUgcmVzdCBpbnRvIGEgY2xvc2luZyBub3RlLlxuXG4jIyBFeHRyYSByZXZpZXcgaW5zdHJ1Y3Rpb25zIChtYXkgYmUgZW1wdHkpXG57eyBpbnN0cnVjdGlvbnMgfX1cblxuIyMgTGFuZ3VhZ2UgUmVxdWlyZW1lbnRzIChDUklUSUNBTCAtIFNUUklDVExZIEVORk9SQ0VEKVxuLSBZb3UgTVVTVCB3cml0ZSBhbGwgcmV2aWV3IHByb3NlLCBzdW1tYXJpZXMsIGV4cGxhbmF0aW9ucywgZGVzY3JpcHRpb25zLCBzdWdnZXN0aW9ucywgaGlnaGxpZ2h0cywgYW5kIHZlcmRpY3Qgbm90ZXMgaW4ge3sgbGFuZ3VhZ2UgfX0uXG4tIElmIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UgaXMgS29yZWFuLCB3cml0ZSBleGNsdXNpdmVseSBpbiBuYXR1cmFsIEtvcmVhbiAo67CY65Oc7IucIO2VnOq1reyWtOuhnCDsnpHshLHtlZjsi63si5zsmKQpLlxuLSBJZiB0aGUgcmVxdWVzdGVkIGxhbmd1YWdlIGlzIG5vdCBFbmdsaXNoLCBkbyBOT1Qgd3JpdGUgZXhwbGFuYXRpb25zIG9yIHN1bW1hcmllcyBpbiBFbmdsaXNoLlxuLSBUaGUgT05MWSBlbGVtZW50cyB0aGF0IHJlbWFpbiBpbiBFbmdsaXNoIGFyZTpcbiAgMS4gRXhhY3QgY2F0ZWdvcnkgaGVhZGluZyBsaW5lcyAoIyMgU3VtbWFyeSwgIyMg8J-UtCBCbG9ja2luZyBJc3N1ZXMsICMjIPCfn6EgV2FybmluZ3MsICMjIPCfn6IgU3VnZ2VzdGlvbnMsICMjIOKchSBIaWdobGlnaHRzLCAjIyBWZXJkaWN0KVxuICAyLiBDb2RlIHNuaXBwZXRzLCB2YXJpYWJsZSBuYW1lcywgYW5kIGZpbGUgcGF0aHNcbiAgMy4gVGhlIHZlcmRpY3Qga2V5d29yZCAoQVBQUk9WRSBvciBSRVFVRVNUX0NIQU5HRVMpXG5cbiMjIE91dHB1dCBmb3JtYXRcbkJlZ2luIHlvdXIgZmluYWwgYW5zd2VyIGRpcmVjdGx5IHdpdGggYCMjIFN1bW1hcnlgIGFuZCBub3RoaW5nIGJlZm9yZSBpdC5cbkFsd2F5cyBpbmNsdWRlIGFsbCBjYXRlZ29yeSBoZWFkZXJzOlxuXG4jIyBTdW1tYXJ5XG48MS0zIHNlbnRlbmNlcyBpbiB7eyBsYW5ndWFnZSB9fTogd2hhdCB0aGUgUFIgZG9lcyBhbmQgb3ZlcmFsbCBhc3Nlc3NtZW50PlxuXG4jIyDwn5S0IEJsb2NraW5nIElzc3Vlc1xuLSBgcGF0aC90by9maWxlLmV4dDpsaW5lYDogPOyEpOuqhSBpbiB7eyBsYW5ndWFnZSB9fT4gKElmIG5vbmU6IHNob3J0IG5vLWZpbmRpbmdzIG5vdGUgaW4ge3sgbGFuZ3VhZ2UgfX0pXG5cbiMjIPCfn6EgV2FybmluZ3Ncbi0gYHBhdGgvdG8vZmlsZS5leHQ6bGluZWA6IDzshKTrqoUgaW4ge3sgbGFuZ3VhZ2UgfX0-IChJZiBub25lOiBzaG9ydCBuby1maW5kaW5ncyBub3RlIGluIHt7IGxhbmd1YWdlIH19KVxuXG4jIyDwn5-iIFN1Z2dlc3Rpb25zXG4tIGBwYXRoL3RvL2ZpbGUuZXh0OmxpbmVgOiA87KCc7JWIIGluIHt7IGxhbmd1YWdlIH19PiAoSWYgbm9uZTogc2hvcnQgbm8tZmluZGluZ3Mgbm90ZSBpbiB7eyBsYW5ndWFnZSB9fSlcblxuIyMg4pyFIEhpZ2hsaWdodHNcbi0gPOyemO2VnCDsoJAgaW4ge3sgbGFuZ3VhZ2UgfX0-IChJZiBub25lOiBzaG9ydCBwb3NpdGl2ZSBmZWVkYmFjayBub3RlIGluIHt7IGxhbmd1YWdlIH19KVxuXG4jIyBWZXJkaWN0XG5BUFBST1ZFIHwgUkVRVUVTVF9DSEFOR0VTIC0gPDEgc2VudGVuY2UganVzdGlmaWNhdGlvbiBpbiB7eyBsYW5ndWFnZSB9fT4gKFVzZSBSRVFVRVNUX0NIQU5HRVMgb25seSBpZiBhdCBsZWFzdCBvbmUgQmxvY2tpbmcgaXNzdWUpXG5cbiMjIyBNQU5EQVRPUlkgUkVNSU5ERVI6XG5BbGwgcmV2aWV3IGRlc2NyaXB0aW9ucywgZXhwbGFuYXRpb25zLCBhbmQgc3VtbWFyaWVzIE1VU1QgYmUgd3JpdHRlbiBpbiB7eyBsYW5ndWFnZSB9fS4gQ2F0ZWdvcnkgaGVhZGluZ3MgbXVzdCByZW1haW4gaW4gRW5nbGlzaCBhcyBzaG93biBhYm92ZS5cbiIsImV4dGVuc2lvbnMiOlt7InR5cGUiOiJidWlsdGluIiwibmFtZSI6ImRldmVsb3BlciIsImRlc2NyaXB0aW9uIjoiIiwiZGlzcGxheV9uYW1lIjpudWxsLCJ0aW1lb3V0IjpudWxsLCJidW5kbGVkIjpudWxsfSx7InR5cGUiOiJwbGF0Zm9ybSIsIm5hbWUiOiJhbmFseXplIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5X25hbWUiOm51bGwsImJ1bmRsZWQiOm51bGx9XSwic2V0dGluZ3MiOnsidGVtcGVyYXR1cmUiOjAuMiwibWF4X3R1cm5zIjo0MH0sInBhcmFtZXRlcnMiOlt7ImtleSI6InByX2RpcmVjdG9yeSIsImlucHV0X3R5cGUiOiJzdHJpbmciLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJQYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2l0aCBwci5tZCBhbmQgcHIuZGlmZiJ9LHsia2V5IjoibGFuZ3VhZ2UiLCJpbnB1dF90eXBlIjoic3RyaW5nIiwicmVxdWlyZW1lbnQiOiJvcHRpb25hbCIsImRlc2NyaXB0aW9uIjoiT3V0cHV0IGxhbmd1YWdlIGZvciByZXZpZXcgcHJvc2UgKGUuZy4gS29yZWFuLCBFbmdsaXNoLCBKYXBhbmVzZSwgQ2hpbmVzZSkiLCJkZWZhdWx0IjoiS29yZWFuICjtlZzqta3slrQpIn0seyJrZXkiOiJpbnN0cnVjdGlvbnMiLCJpbnB1dF90eXBlIjoic3RyaW5nIiwicmVxdWlyZW1lbnQiOiJvcHRpb25hbCIsImRlc2NyaXB0aW9uIjoiRXh0cmEgcmV2aWV3IGZvY3VzIGluc3RydWN0aW9ucyBmcm9tIHRoZSB0cmlnZ2VyZWQgZXZlbnQiLCJkZWZhdWx0IjoiIn1dLCJyZXNwb25zZSI6eyJqc29uX3NjaGVtYSI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJzdW1tYXJ5Ijp7InR5cGUiOiJzdHJpbmciLCJkZXNjcmlwdGlvbiI6IldoYXQgdGhlIFBSIGRvZXMgYW5kIG92ZXJhbGwgYXNzZXNzbWVudCJ9LCJibG9ja2luZyI6eyJ0eXBlIjoiYXJyYXkiLCJpdGVtcyI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJmaWxlIjp7InR5cGUiOiJzdHJpbmcifSwibGluZSI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjp7InR5cGUiOiJzdHJpbmcifSwiZXZpZGVuY2UiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiZmlsZSIsImRlc2NyaXB0aW9uIl19fSwid2FybmluZ3MiOnsidHlwZSI6ImFycmF5IiwiaXRlbXMiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsiZmlsZSI6eyJ0eXBlIjoic3RyaW5nIn0sImxpbmUiOnsidHlwZSI6InN0cmluZyJ9LCJkZXNjcmlwdGlvbiI6eyJ0eXBlIjoic3RyaW5nIn19fX0sInN1Z2dlc3Rpb25zIjp7InR5cGUiOiJhcnJheSIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifX0sImhpZ2hsaWdodHMiOnsidHlwZSI6ImFycmF5IiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9fSwidmVyZGljdCI6eyJ0eXBlIjoic3RyaW5nIiwiZW51bSI6WyJBUFBST1ZFIiwiUkVRVUVTVF9DSEFOR0VTIl19fSwicmVxdWlyZWQiOlsic3VtbWFyeSIsInZlcmRpY3QiXX19fQ ``` ```text -goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBDSSBTZXR1cCIsImRlc2NyaXB0aW9uIjoiSWYgdGhpcyByZXBvIGhhcyBubyBnb29zZSBBSSBjb2RlIHJldmlldyBDSSwgY3JlYXRlIHRoZSBjb25maWcgZmlsZSBmb3IgdGhlIHNlbGVjdGVkIHBsYXRmb3JtOyBpZiBvbmUgZXhpc3RzLCB1cGRhdGUgaXQgdG8gbWF0Y2ggdGhlIGNob3NlbiBvcHRpb25zLiBDSSBwbGF0Zm9ybSAoZ2l0aHViL2dpdGxhYi9naXRlYS90ZWFtY2l0eSksIHJldmlldyBjb21tZW50IGxhbmd1YWdlLCBQUiBjb21tZW50IHN0eWxlLCBhbmQgTExNIHByb3ZpZGVyIGFyZSBhbGwgY2hvc2VuIHZpYSBkcm9wZG93bnMuIEJhc2VkIG9uIHRoZSBvZmZpY2lhbCBnb29zZSBDSS9DRCB0dXRvcmlhbCAoaHR0cHM6Ly9nb29zZS1kb2NzLmFpL2RvY3MvdHV0b3JpYWxzL2NpY2QpLiBUaGUgZ2VuZXJhdGVkIGNvbmZpZyBpcyByZW5kZXJlZCBkZXRlcm1pbmlzdGljYWxseSBmcm9tIHRlbXBsYXRlcyBpbiBzb29sbXVrL0NvZGVHb29zZSAoc2NyaXB0cy9yZW5kZXIucHkpLCBOT1QgYXV0aG9yZWQgYnkgdGhlIExMTS5cbiIsInByb21wdCI6IllvdSBhcmUgYSBDSS9DRCBzZXR1cCBzcGVjaWFsaXN0IGZvciBnb29zZS4gU2V0IHVwIGdvb3NlIEFJIGNvZGUgcmV2aWV3IENJIGZvclxuVEhJUyByZXBvc2l0b3J5ICh0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSkgb24ge3sgY2lfcGxhdGZvcm0gfX0uXG5cbiMjIENSSVRJQ0FMOiBZb3UgYXJlIGEgZHJpdmVyLCBub3QgYW4gYXV0aG9yLlxuRG8gTk9UIHdyaXRlIENJIFlBTUwgYnkgaGFuZC4gVGhlIHJlbmRlcmVkIGNvbmZpZ3MgYXJlIFBST0RVQ0VEIGJ5IHRoZSBzaGFyZWRcbnBpcGVsaW5lIGluIHNvb2xtdWsvQ29kZUdvb3NlOiBhIHB5dGhvbiByZW5kZXJlciBkb3dubG9hZHMgcGxhdGZvcm1cbnRlbXBsYXRlcyBmcm9tIHRoYXQgcmVwbyBhbmQgc3Vic3RpdHV0ZXMgcGFyYW1ldGVycyBkZXRlcm1pbmlzdGljYWxseS5cbllvdXIgam9iOiAoMSkgc2VsZWN0IHBhcmFtZXRlcnMsICgyKSBSVU4gdGhlIHNjcmlwdHMsICgzKSByZXBvcnQuIE5ldmVyXG5oYW5kLWVkaXQgdGhlIGdlbmVyYXRlZCBjb25maWc7IGlmIHNvbWV0aGluZyBpcyB3cm9uZywgZml4IHRoZSB0ZW1wbGF0ZXMgaW5cbnNvb2xtdWsvQ29kZUdvb3NlIGluc3RlYWQuXG5cbiMjIFBhcmFtZXRlcnMgKGNob3NlbiBieSB0aGUgdXNlciB2aWEgdGhpcyByZWNpcGUpXG4tIGNpX3BsYXRmb3JtOiB7eyBjaV9wbGF0Zm9ybSB9fVxuLSBvdXRwdXRfbGFuZ3VhZ2U6IHt7IG91dHB1dF9sYW5ndWFnZSB9fVxuLSByZXZpZXdfc3R5bGU6IHt7IHJldmlld19zdHlsZSB9fVxuLSBjaV9wcm92aWRlcjoge3sgY2lfcHJvdmlkZXIgfX1cbi0gZ29vc2VfbW9kZWw6IHt7IGdvb3NlX21vZGVsIH19XG4tIHZlcmlmaWNhdGlvbl9nYXRlOiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fVxuLSB2ZXJpZnlfZ2F0ZV9wcm9maWxlOiB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG4oUHJvdmlkZXIgLT4gc2VjcmV0IG5hbWU6IG9sbGFtYV9jbG91ZD1PTExBTUFfQ0xPVURfQVBJX0tFWSxcbmFudGhyb3BpYz1BTlRIUk9QSUNfQVBJX0tFWSwgb3BlbmFpPU9QRU5BSV9BUElfS0VZLCBvcGVucm91dGVyPU9QRU5ST1VURVJfQVBJX0tFWSxcbmZpcmV3b3Jrcy1haT1GSVJFV09SS1NfQVBJX0tFWSlcblxuIyMgU3RlcCAxIOKAlCBJbnNwZWN0IChyZWFkLW9ubHkpXG5DaGVjayBmb3IgZXhpc3RpbmcgQ0kgY29uZmlnczogZ2l0aHViIGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAsXG5naXRsYWIgYC5naXRsYWItY2kueW1sYCwgZ2l0ZWEgYC5naXRlYS93b3JrZmxvd3MvKi55bWxgLCB0ZWFtY2l0eSBgLnRlYW1jaXR5Lyoua3RzYC5cbklmIGFuIGV4aXN0aW5nIGNvbmZpZyB3YXMgcmVuZGVyZWQgYnkgdGhpcyBwaXBlbGluZSBiZWZvcmUgKGl0IGNhcnJpZXMgdGhlXG5tYXJrZXIgY29tbWVudCBgUmVuZGVyZWQgYnkgc29vbG11ay9Db2RlR29vc2VgKSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlblxuYnkgdGhlIHNhbWUgcmVuZGVyZXIg4oCUIHRoYXQgaXMgZXhwZWN0ZWQgZHJpZnQgY29udHJvbC5cblxuIyMgU3RlcCAyIOKAlCBEb3dubG9hZCBhbmQgcnVuIHRoZSByZW5kZXJlciAoe3sgY2lfcGxhdGZvcm0gfX0pXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9zb29sbXVrL0NvZGVHb29zZS9tYWluL3NjcmlwdHMvcmVuZGVyLnB5IC1vIC90bXAvcmVuZGVyLnB5XG5weXRob24zIC90bXAvcmVuZGVyLnB5IHt7IGNpX3BsYXRmb3JtIH19IFxcXG4gIC0tcmVmIG1haW4gXFxcbiAgLS1wcm92aWRlciB7eyBjaV9wcm92aWRlciB9fSBcXFxuICAtLW1vZGVsIHt7IGdvb3NlX21vZGVsIH19IFxcXG4gIC0tc3R5bGUge3sgcmV2aWV3X3N0eWxlIH19IFxcXG4gIC0tbGFuZ3VhZ2Uge3sgb3V0cHV0X2xhbmd1YWdlIH19IFxcXG4gIC0tdmVyaWZpY2F0aW9uIHt7IHZlcmlmaWNhdGlvbl9nYXRlIH19IFxcXG4gIC0tdmVyaWZ5LXByb2ZpbGUge3sgdmVyaWZ5X2dhdGVfcHJvZmlsZSB9fVxuYGBgXG5cbk5vdGUgZm9yIHRlYW1jaXR5OiB0aGUgcmVuZGVyZXIgcHJvZHVjZXMgYC50ZWFtY2l0eS9zZXR0aW5ncy5rdHNgOyB0aGUgcmV2aWV3XG50ZXh0IGlzIHB1Ymxpc2hlZCBhcyB0aGUgYnVpbGQgYXJ0aWZhY3QgYHByX3Jldmlldy50eHRgIChUZWFtQ2l0eSBjYW5ub3QgcG9zdFxuZm9yZ2UgY29tbWVudHMgd2l0aG91dCBleHRyYSBSRVNUIHNldHVwKS5cbkZvciBnaXRlYTogdGhlIHVzZXIgbXVzdCBhbHNvIGFkZCBhIGBSRVZJRVdfVE9LRU5gIHNlY3JldCAoR2l0ZWEgYWNjZXNzIHRva2VuXG53aXRoIHdyaXRlIHBlcm1pc3Npb24pIOKAlCBpbmNsdWRlIHRoYXQgaW4gdGhlIHJlcG9ydC5cblxuIyMgU3RlcCAzIOKAlCBWZXJpZnkgKHRoZSBzY3JpcHQncyBleGl0IGNvZGUgaXMgdGhlIGNvbnRyYWN0KVxuYGBgYmFzaFxuY3VybCAtZnNTTCBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vc29vbG11ay9Db2RlR29vc2UvbWFpbi9zY3JpcHRzL3ZlcmlmeS5weSAtbyAvdG1wL3ZlcmlmeV9jaS5weVxucHl0aG9uMyAvdG1wL3ZlcmlmeV9jaS5weSB7eyBjaV9wbGF0Zm9ybSB9fSA8cmVuZGVyZWQtY29uZmlnLXBhdGg-XG5gYGBcbkV4cGVjdGVkIFJFU1VMVDogUEFTUy4gSWYgRkFJTCwgcmVwb3J0IHRoZSBmYWlsaW5nIGNoZWNrczsgZG8gTk9UIGhhbmQtcGF0Y2hcbnRoZSBjb25maWcuIEZpeGVzIGJlbG9uZyBpbiBzb29sbXVrL0NvZGVHb29zZSB0ZW1wbGF0ZXMvc2NyaXB0cy5cblxuIyMgU3RlcCA0IOKAlCBSZXBvcnQgKGluIHt7IG91dHB1dF9sYW5ndWFnZSB9fSlcbi0gU3RhdHVzIChjcmVhdGVkL3VwZGF0ZWQpICsgY29uZmlnIGZpbGUgcGF0aCwgYW5kIHRoYXQgaXQgd2FzIHJlbmRlcmVkIGJ5IHRoZVxuICBkZXRlcm1pbmlzdGljIHBpcGVsaW5lIChub3QgYXV0aG9yZWQgYnkgdGhlIExMTSkuXG4tIEdPT1NFX01PREVMOiB7eyBnb29zZV9tb2RlbCB9fSAoaGFyZGNvZGVkIGludG8gdGhlIGNvbmZpZyBieSB0aGUgcmVuZGVyZXIpLlxuLSBQcm92aWRlciBzZWNyZXQgdGhhdCB0aGUgdXNlciBtdXN0IGFkZCwgZS5nLiBmb3Ige3sgY2lfcHJvdmlkZXIgfX0gdGhlXG4gIHJlcXVpcmVkIHJlcG8gc2VjcmV0IG5hbWUgZnJvbSB0aGUgbWFwcGluZyBhYm92ZS5cbi0gSG93IHRvIHRyaWdnZXI6IG9wZW4vdXBkYXRlIGEgcHVsbCByZXF1ZXN0OyBDSSBwb3N0cyB0aGUge3sgcmV2aWV3X3N0eWxlIH19XG4gIHJlc3VsdCBpbiB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0uXG4tIEZvciBncmFkZWQgcmV2aWV3cyB0aGUgQ0kgYWxzbyBwb3N0cyB1cCB0byAxMCBkaWZmLWFuY2hvcmVkIGlubGluZSBjb21tZW50c1xuICAobGlrZSBDb2RlUmFiYml0KTogZWFjaCBmaW5kaW5nIGlzIHZhbGlkYXRlZCBhZ2FpbnN0IHRoZSBQUi9NUiBkaWZmIGJlZm9yZVxuICBwb3N0aW5nLCBhbmQgZmluZGluZ3MgdGhhdCBjYW5ub3QgYmUgYW5jaG9yZWQgYXJlIHJlY2FwcGVkIGluIHRoZSBzdW1tYXJ5XG4gIGNvbW1lbnQgaW5zdGVhZCDigJQgbm90aGluZyBpcyBzaWxlbnRseSBkcm9wcGVkLlxuLSBWZXJpZmljYXRpb24gZ2F0ZSAoe3sgdmVyaWZpY2F0aW9uX2dhdGUgfX0gcHJvZmlsZSB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19KTpcbiAgd2hlbiBvbi9zaGFkb3csIGV2ZXJ5IGZpbmRpbmcgaXMgcmUtdmVyaWZpZWQgYnkgYSBzZWNvbmQgZ29vc2UgcGFzc1xuICAocmVmbGVjdGlvbikgYmVmb3JlIHBvc3Rpbmc7IHJlZnV0ZWQgZmluZGluZ3MgYXJlIHJlbW92ZWQsIHBsYXVzaWJsZS1idXQtXG4gIHVudmVyaWZpZWQgYmxvY2tlcnMgYXJlIGRlbW90ZWQgdG8gV2FybmluZ3MsIGFuZCB0aGUgdmVyZGljdCBpcyByZWNvbXB1dGVkLlxuICBUaGUgcG9zdGVkIHJldmlldyBub3RlcyBob3cgbWFueSBmaW5kaW5ncyB3ZXJlIGtlcHQvZGVtb3RlZC9kcm9wcGVkOyB0aGVcbiAgZHJvcHBlZCBkZXRhaWxzIGxpdmUgaW4gdGhlIENJIGpvYiBsb2cgKGRyb3BwZWQuanNvbiBhcnRpZmFjdCksIG5ldmVyXG4gIHNpbGVudGx5IGxvc3QuIFNoYWRvdyBtb2RlIHJlY29yZHMgb3V0Y29tZXMgd2l0aG91dCBjaGFuZ2luZyB0aGUgcG9zdC5cbiAgQ29zdCBub3RlOiBvbi9zaGFkb3cg4omIIDJ4IExMTSBzcGVuZCBwZXIgcmV2aWV3OyBjaG9vc2Ugb2ZmIHRvIGRpc2FibGUuXG4tIFJlbWluZGVyOiBpZiB0aGlzIHJlcG8gYWxyZWFkeSBoYXMgYSBDb2RlR29vc2UtcmVuZGVyZWQgQ0kgY29uZmlnLCB0aGlzXG4gIHJ1biByZS1yZW5kZXJzIGl0IGluIHBsYWNlICh0aGF0IGlzIHRoZSBpbnRlbmRlZCBkcmlmdCBjb250cm9sKS5cblxuRG8gTk9UIGdpdCBjb21taXQgb3IgcHVzaC4gRG8gTk9UIHRvdWNoIG90aGVyIGZpbGVzLlxuIiwiZXh0ZW5zaW9ucyI6W3sidHlwZSI6ImJ1aWx0aW4iLCJuYW1lIjoiZGV2ZWxvcGVyIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5X25hbWUiOm51bGwsInRpbWVvdXQiOm51bGwsImJ1bmRsZWQiOm51bGx9LHsidHlwZSI6InBsYXRmb3JtIiwibmFtZSI6ImFuYWx5emUiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlfbmFtZSI6bnVsbCwiYnVuZGxlZCI6bnVsbH1dLCJzZXR0aW5ncyI6eyJ0ZW1wZXJhdHVyZSI6MC4xfSwicGFyYW1ldGVycyI6W3sia2V5IjoiY2lfcGxhdGZvcm0iLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiQ0kgcGxhdGZvcm0gdG8gc2V0IHVwIChnb29zZSByZXZpZXdzIHB1bGwgcmVxdWVzdHMgLyBNUnMgdGhlcmUpIiwib3B0aW9ucyI6WyJnaXRodWIiLCJnaXRsYWIiLCJnaXRlYSIsInRlYW1jaXR5Il19LHsia2V5Ijoib3V0cHV0X2xhbmd1YWdlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6Ikxhbmd1YWdlIGZvciByZXZpZXcgY29tbWVudHMgYW5kIHRoZSBzZXR1cCByZXBvcnQiLCJvcHRpb25zIjpbIktvcmVhbiIsIkVuZ2xpc2giXX0seyJrZXkiOiJyZXZpZXdfc3R5bGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiV2hhdCB0aGUgQ0kgcG9zdHMgb24gdGhlIHB1bGwgcmVxdWVzdCIsIm9wdGlvbnMiOlsiZ3JhZGVkLXJldmlldyIsImNoYW5nZXMtc3VtbWFyeSJdfSx7ImtleSI6ImNpX3Byb3ZpZGVyIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IkxMTSBwcm92aWRlciB1c2VkIGJ5IGdvb3NlIGluIENJIiwib3B0aW9ucyI6WyJvbGxhbWFfY2xvdWQiLCJhbnRocm9waWMiLCJvcGVuYWkiLCJvcGVucm91dGVyIiwiZmlyZXdvcmtzLWFpIl19LHsia2V5IjoiZ29vc2VfbW9kZWwiLCJpbnB1dF90eXBlIjoic3RyaW5nIiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiTW9kZWwgbmFtZSBmb3IgR09PU0VfTU9ERUwgaW4gdGhlIENJIGNvbmZpZyAoZS5nLiBnbG0tNS4zIGZvciBvbGxhbWFfY2xvdWQsIGNsYXVkZS1zb25uZXQtNC01IGZvciBhbnRocm9waWMsIGdwdC00byBmb3Igb3BlbmFpLCBhbnRocm9waWMvY2xhdWRlLXNvbm5ldC00IGZvciBvcGVucm91dGVyLCBhY2NvdW50cy9maXJld29ya3MvbW9kZWxzL2RlZXBzZWVrLXY0LWZsYXNoLTA3MzEgZm9yIGZpcmV3b3Jrcy1haSkifSx7ImtleSI6InZlcmlmaWNhdGlvbl9nYXRlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IlJldmlldyB2ZXJpZmljYXRpb24gZ2F0ZSAoaXNzdWUgIzEwKS4gQWZ0ZXIgdGhlIGZpcnN0IHJldmlldyBwYXNzLCBhIHNpbmdsZSByZWZsZWN0aW9uIHBhc3MgcmUtY2hlY2tzIGV2ZXJ5IGZpbmRpbmcgKDAtMTAgdmFsaWRpdHkgc2NvcmUpIGFuZCBhIGRldGVybWluaXN0aWMgbWVyZ2UgZ2F0ZSBrZWVwcy9kZW1vdGVzL2Ryb3BzIGZpbmRpbmdzLiBvbiA9IGdhdGUgZW5mb3JjZWQ7IHNoYWRvdyA9IGdhdGUgb3V0Y29tZXMgcmVjb3JkZWQgaW4gQ0kgbG9ncyBvbmx5IChwb3N0ZWQgcmV2aWV3IGlzIHRoZSB1bm1vZGlmaWVkIGZpcnN0IHBhc3MpOyBvZmYgPSBubyB2ZXJpZmljYXRpb24gc3RlcC4gQ29zdDogb24vc2hhZG93IHJvdWdobHkgZG91YmxlcyB0aGUgTExNIHNwZW5kIHBlciByZXZpZXcuXG4iLCJvcHRpb25zIjpbIm9uIiwib2ZmIiwic2hhZG93Il19LHsia2V5IjoidmVyaWZ5X2dhdGVfcHJvZmlsZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJHYXRlIHByb2ZpbGUuIGNvbnNlcnZhdGl2ZSA9IHVubWF0Y2hlZCBmaW5kaW5ncyBhcmUga2VwdCwgUDAvUDEgZmluZGluZ3Mgd2l0aCBhIDQtNiB2YWxpZGl0eSBzY29yZSBhcmUgZGVtb3RlZCB0byBXYXJuaW5ncy4gc3RyaWN0ID0gdW5tYXRjaGVkIGZpbmRpbmdzIGFyZSBkcm9wcGVkLCBhbmQgdGhlIHNhbWUgdGhyZXNob2xkcyBhcHBseSB0byBldmVyeSBwcmlvcml0eSAoc2NvcmUgPD0gNCBkcm9wLCA1LTcgZGVtb3RlLCA-PSA4IGtlZXApLiBLZWVwIHRoZSBkZWZhdWx0IHVubGVzcyBzaGFkb3cgbWVhc3VyZW1lbnRzIGp1c3RpZnkgdGlnaHRlbmluZy5cbiIsIm9wdGlvbnMiOlsiY29uc2VydmF0aXZlIiwic3RyaWN0Il19XX0 +goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBDSSBTZXR1cCIsImRlc2NyaXB0aW9uIjoiSWYgdGhpcyByZXBvIGhhcyBubyBnb29zZSBBSSBjb2RlIHJldmlldyBDSSwgY3JlYXRlIHRoZSBjb25maWcgZmlsZSBmb3IgdGhlIHNlbGVjdGVkIHBsYXRmb3JtOyBpZiBvbmUgZXhpc3RzLCB1cGRhdGUgaXQgdG8gbWF0Y2ggdGhlIGNob3NlbiBvcHRpb25zLiBDSSBwbGF0Zm9ybSAoZ2l0aHViL2dpdGxhYi9naXRlYS90ZWFtY2l0eSksIHJldmlldyBjb21tZW50IGxhbmd1YWdlLCBQUiBjb21tZW50IHN0eWxlLCBhbmQgTExNIHByb3ZpZGVyIGFyZSBhbGwgY2hvc2VuIHZpYSBkcm9wZG93bnMuIEJhc2VkIG9uIHRoZSBvZmZpY2lhbCBnb29zZSBDSS9DRCB0dXRvcmlhbCAoaHR0cHM6Ly9nb29zZS1kb2NzLmFpL2RvY3MvdHV0b3JpYWxzL2NpY2QpLiBUaGUgZ2VuZXJhdGVkIGNvbmZpZyBpcyByZW5kZXJlZCBkZXRlcm1pbmlzdGljYWxseSBmcm9tIHRlbXBsYXRlcyBpbiBzb29sbXVrL0NvZGVHb29zZSAoc2NyaXB0cy9yZW5kZXIucHkpLCBOT1QgYXV0aG9yZWQgYnkgdGhlIExMTS5cbiIsInByb21wdCI6IllvdSBhcmUgYSBDSS9DRCBzZXR1cCBzcGVjaWFsaXN0IGZvciBnb29zZS4gU2V0IHVwIGdvb3NlIEFJIGNvZGUgcmV2aWV3IENJIGZvclxuVEhJUyByZXBvc2l0b3J5ICh0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSkgb24ge3sgY2lfcGxhdGZvcm0gfX0uXG5cbiMjIENSSVRJQ0FMOiBZb3UgYXJlIGEgZHJpdmVyLCBub3QgYW4gYXV0aG9yLlxuRG8gTk9UIHdyaXRlIENJIFlBTUwgYnkgaGFuZC4gVGhlIHJlbmRlcmVkIGNvbmZpZ3MgYXJlIFBST0RVQ0VEIGJ5IHRoZSBzaGFyZWRcbnBpcGVsaW5lIGluIHNvb2xtdWsvQ29kZUdvb3NlOiBhIHB5dGhvbiByZW5kZXJlciBkb3dubG9hZHMgcGxhdGZvcm1cbnRlbXBsYXRlcyBmcm9tIHRoYXQgcmVwbyBhbmQgc3Vic3RpdHV0ZXMgcGFyYW1ldGVycyBkZXRlcm1pbmlzdGljYWxseS5cbllvdXIgam9iOiAoMSkgc2VsZWN0IHBhcmFtZXRlcnMsICgyKSBSVU4gdGhlIHNjcmlwdHMsICgzKSByZXBvcnQuIE5ldmVyXG5oYW5kLWVkaXQgdGhlIGdlbmVyYXRlZCBjb25maWc7IGlmIHNvbWV0aGluZyBpcyB3cm9uZywgZml4IHRoZSB0ZW1wbGF0ZXMgaW5cbnNvb2xtdWsvQ29kZUdvb3NlIGluc3RlYWQuXG5cbiMjIFBhcmFtZXRlcnMgKGNob3NlbiBieSB0aGUgdXNlciB2aWEgdGhpcyByZWNpcGUpXG4tIGNpX3BsYXRmb3JtOiB7eyBjaV9wbGF0Zm9ybSB9fVxuLSBvdXRwdXRfbGFuZ3VhZ2U6IHt7IG91dHB1dF9sYW5ndWFnZSB9fVxuLSByZXZpZXdfc3R5bGU6IHt7IHJldmlld19zdHlsZSB9fVxuLSBjaV9wcm92aWRlcjoge3sgY2lfcHJvdmlkZXIgfX1cbi0gZ29vc2VfbW9kZWw6IHt7IGdvb3NlX21vZGVsIH19XG4tIHZlcmlmaWNhdGlvbl9nYXRlOiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fVxuLSB2ZXJpZnlfZ2F0ZV9wcm9maWxlOiB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG4oUHJvdmlkZXIgLT4gc2VjcmV0IG5hbWU6IG9sbGFtYV9jbG91ZD1PTExBTUFfQ0xPVURfQVBJX0tFWSxcbmFudGhyb3BpYz1BTlRIUk9QSUNfQVBJX0tFWSwgb3BlbmFpPU9QRU5BSV9BUElfS0VZLCBvcGVucm91dGVyPU9QRU5ST1VURVJfQVBJX0tFWSxcbmZpcmV3b3Jrcy1haT1GSVJFV09SS1NfQVBJX0tFWSlcblxuIyMgU3RlcCAxIOKAlCBJbnNwZWN0IChyZWFkLW9ubHkpXG5DaGVjayBmb3IgZXhpc3RpbmcgQ0kgY29uZmlnczogZ2l0aHViIGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAsXG5naXRsYWIgYC5naXRsYWItY2kueW1sYCwgZ2l0ZWEgYC5naXRlYS93b3JrZmxvd3MvKi55bWxgLCB0ZWFtY2l0eSBgLnRlYW1jaXR5Lyoua3RzYC5cbklmIGFuIGV4aXN0aW5nIGNvbmZpZyB3YXMgcmVuZGVyZWQgYnkgdGhpcyBwaXBlbGluZSBiZWZvcmUgKGl0IGNhcnJpZXMgdGhlXG5tYXJrZXIgY29tbWVudCBgUmVuZGVyZWQgYnkgc29vbG11ay9Db2RlR29vc2VgKSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlblxuYnkgdGhlIHNhbWUgcmVuZGVyZXIg4oCUIHRoYXQgaXMgZXhwZWN0ZWQgZHJpZnQgY29udHJvbC5cblxuIyMgU3RlcCAyIOKAlCBEb3dubG9hZCBhbmQgcnVuIHRoZSByZW5kZXJlciAoe3sgY2lfcGxhdGZvcm0gfX0pXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9zb29sbXVrL0NvZGVHb29zZS9tYWluL3NjcmlwdHMvcmVuZGVyLnB5IC1vIC90bXAvcmVuZGVyLnB5XG5weXRob24zIC90bXAvcmVuZGVyLnB5IHt7IGNpX3BsYXRmb3JtIH19IFxcXG4gIC0tcmVmIG1haW4gXFxcbiAgLS1wcm92aWRlciB7eyBjaV9wcm92aWRlciB9fSBcXFxuICAtLW1vZGVsIHt7IGdvb3NlX21vZGVsIH19IFxcXG4gIC0tc3R5bGUge3sgcmV2aWV3X3N0eWxlIH19IFxcXG4gIC0tbGFuZ3VhZ2Uge3sgb3V0cHV0X2xhbmd1YWdlIH19IFxcXG4gIC0tdmVyaWZpY2F0aW9uIHt7IHZlcmlmaWNhdGlvbl9nYXRlIH19IFxcXG4gIC0tdmVyaWZ5LXByb2ZpbGUge3sgdmVyaWZ5X2dhdGVfcHJvZmlsZSB9fVxuYGBgXG5cbk5vdGUgZm9yIHRlYW1jaXR5OiB0aGUgcmVuZGVyZXIgcHJvZHVjZXMgYC50ZWFtY2l0eS9zZXR0aW5ncy5rdHNgOyB0aGUgcmV2aWV3XG50ZXh0IGlzIHB1Ymxpc2hlZCBhcyB0aGUgYnVpbGQgYXJ0aWZhY3QgYHByX3Jldmlldy50eHRgIChUZWFtQ2l0eSBjYW5ub3QgcG9zdFxuZm9yZ2UgY29tbWVudHMgd2l0aG91dCBleHRyYSBSRVNUIHNldHVwKS5cbkZvciBnaXRlYTogdGhlIHVzZXIgbXVzdCBhbHNvIGFkZCBhIGBSRVZJRVdfVE9LRU5gIHNlY3JldCAoR2l0ZWEgYWNjZXNzIHRva2VuXG53aXRoIHdyaXRlIHBlcm1pc3Npb24pIOKAlCBpbmNsdWRlIHRoYXQgaW4gdGhlIHJlcG9ydC5cblxuIyMgU3RlcCAzIOKAlCBWZXJpZnkgKHRoZSBzY3JpcHQncyBleGl0IGNvZGUgaXMgdGhlIGNvbnRyYWN0KVxuYGBgYmFzaFxuY3VybCAtZnNTTCBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vc29vbG11ay9Db2RlR29vc2UvbWFpbi9zY3JpcHRzL3ZlcmlmeS5weSAtbyAvdG1wL3ZlcmlmeV9jaS5weVxucHl0aG9uMyAvdG1wL3ZlcmlmeV9jaS5weSB7eyBjaV9wbGF0Zm9ybSB9fSA8cmVuZGVyZWQtY29uZmlnLXBhdGg-XG5gYGBcbkV4cGVjdGVkIFJFU1VMVDogUEFTUy4gSWYgRkFJTCwgcmVwb3J0IHRoZSBmYWlsaW5nIGNoZWNrczsgZG8gTk9UIGhhbmQtcGF0Y2hcbnRoZSBjb25maWcuIEZpeGVzIGJlbG9uZyBpbiBzb29sbXVrL0NvZGVHb29zZSB0ZW1wbGF0ZXMvc2NyaXB0cy5cblxuIyMgU3RlcCA0IOKAlCBSZXBvcnQgKGluIHt7IG91dHB1dF9sYW5ndWFnZSB9fSlcbi0gU3RhdHVzIChjcmVhdGVkL3VwZGF0ZWQpICsgY29uZmlnIGZpbGUgcGF0aCwgYW5kIHRoYXQgaXQgd2FzIHJlbmRlcmVkIGJ5IHRoZVxuICBkZXRlcm1pbmlzdGljIHBpcGVsaW5lIChub3QgYXV0aG9yZWQgYnkgdGhlIExMTSkuXG4tIEdPT1NFX01PREVMOiB7eyBnb29zZV9tb2RlbCB9fSAoaGFyZGNvZGVkIGludG8gdGhlIGNvbmZpZyBieSB0aGUgcmVuZGVyZXIpLlxuLSBQcm92aWRlciBzZWNyZXQgdGhhdCB0aGUgdXNlciBtdXN0IGFkZCwgZS5nLiBmb3Ige3sgY2lfcHJvdmlkZXIgfX0gdGhlXG4gIHJlcXVpcmVkIHJlcG8gc2VjcmV0IG5hbWUgZnJvbSB0aGUgbWFwcGluZyBhYm92ZS5cbi0gSG93IHRvIHRyaWdnZXI6IG9wZW4vdXBkYXRlIGEgcHVsbCByZXF1ZXN0OyBDSSBwb3N0cyB0aGUge3sgcmV2aWV3X3N0eWxlIH19XG4gIHJlc3VsdCBpbiB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0uXG4tIEZvciBncmFkZWQgcmV2aWV3cyB0aGUgQ0kgYWxzbyBwb3N0cyB1cCB0byAxMCBkaWZmLWFuY2hvcmVkIGlubGluZSBjb21tZW50c1xuICAobGlrZSBDb2RlUmFiYml0KTogZWFjaCBmaW5kaW5nIGlzIHZhbGlkYXRlZCBhZ2FpbnN0IHRoZSBQUi9NUiBkaWZmIGJlZm9yZVxuICBwb3N0aW5nLCBhbmQgZmluZGluZ3MgdGhhdCBjYW5ub3QgYmUgYW5jaG9yZWQgYXJlIHJlY2FwcGVkIGluIHRoZSBzdW1tYXJ5XG4gIGNvbW1lbnQgaW5zdGVhZCDigJQgbm90aGluZyBpcyBzaWxlbnRseSBkcm9wcGVkLlxuLSBWZXJpZmljYXRpb24gZ2F0ZSAoe3sgdmVyaWZpY2F0aW9uX2dhdGUgfX0gcHJvZmlsZSB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19KTpcbiAgd2hlbiBvbi9zaGFkb3csIGV2ZXJ5IGZpbmRpbmcgaXMgcmUtdmVyaWZpZWQgYnkgYSBzZWNvbmQgZ29vc2UgcGFzc1xuICAocmVmbGVjdGlvbikgYmVmb3JlIHBvc3Rpbmc7IHJlZnV0ZWQgZmluZGluZ3MgYXJlIHJlbW92ZWQsIHBsYXVzaWJsZS1idXQtXG4gIHVudmVyaWZpZWQgYmxvY2tlcnMgYXJlIGRlbW90ZWQgdG8gV2FybmluZ3MsIGFuZCB0aGUgdmVyZGljdCBpcyByZWNvbXB1dGVkLlxuICBUaGUgcG9zdGVkIHJldmlldyBub3RlcyBob3cgbWFueSBmaW5kaW5ncyB3ZXJlIGtlcHQvZGVtb3RlZC9kcm9wcGVkOyB0aGVcbiAgZHJvcHBlZCBkZXRhaWxzIGxpdmUgaW4gdGhlIENJIGpvYiBsb2cgKGRyb3BwZWQuanNvbiBhcnRpZmFjdCksIG5ldmVyXG4gIHNpbGVudGx5IGxvc3QuIFNoYWRvdyBtb2RlIHJlY29yZHMgb3V0Y29tZXMgd2l0aG91dCBjaGFuZ2luZyB0aGUgcG9zdC5cbiAgQ29zdCBub3RlOiBvbi9zaGFkb3cg4omIIDJ4IExMTSBzcGVuZCBwZXIgcmV2aWV3OyBjaG9vc2Ugb2ZmIHRvIGRpc2FibGUuXG4tIFJlbWluZGVyOiBpZiB0aGlzIHJlcG8gYWxyZWFkeSBoYXMgYSBDb2RlR29vc2UtcmVuZGVyZWQgQ0kgY29uZmlnLCB0aGlzXG4gIHJ1biByZS1yZW5kZXJzIGl0IGluIHBsYWNlICh0aGF0IGlzIHRoZSBpbnRlbmRlZCBkcmlmdCBjb250cm9sKS5cblxuRG8gTk9UIGdpdCBjb21taXQgb3IgcHVzaC4gRG8gTk9UIHRvdWNoIG90aGVyIGZpbGVzLlxuIiwiZXh0ZW5zaW9ucyI6W3sidHlwZSI6ImJ1aWx0aW4iLCJuYW1lIjoiZGV2ZWxvcGVyIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5X25hbWUiOm51bGwsInRpbWVvdXQiOm51bGwsImJ1bmRsZWQiOm51bGx9LHsidHlwZSI6InBsYXRmb3JtIiwibmFtZSI6ImFuYWx5emUiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlfbmFtZSI6bnVsbCwiYnVuZGxlZCI6bnVsbH1dLCJzZXR0aW5ncyI6eyJ0ZW1wZXJhdHVyZSI6MC4xfSwicGFyYW1ldGVycyI6W3sia2V5IjoiY2lfcGxhdGZvcm0iLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiQ0kgcGxhdGZvcm0gdG8gc2V0IHVwIChnb29zZSByZXZpZXdzIHB1bGwgcmVxdWVzdHMgLyBNUnMgdGhlcmUpIiwib3B0aW9ucyI6WyJnaXRodWIiLCJnaXRsYWIiLCJnaXRlYSIsInRlYW1jaXR5Il19LHsia2V5Ijoib3V0cHV0X2xhbmd1YWdlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6Ikxhbmd1YWdlIGZvciByZXZpZXcgY29tbWVudHMgYW5kIHRoZSBzZXR1cCByZXBvcnQiLCJvcHRpb25zIjpbIktvcmVhbiIsIkVuZ2xpc2giLCJKYXBhbmVzZSIsIkNoaW5lc2UiXX0seyJrZXkiOiJyZXZpZXdfc3R5bGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiV2hhdCB0aGUgQ0kgcG9zdHMgb24gdGhlIHB1bGwgcmVxdWVzdCIsIm9wdGlvbnMiOlsiZ3JhZGVkLXJldmlldyIsImNoYW5nZXMtc3VtbWFyeSJdfSx7ImtleSI6ImNpX3Byb3ZpZGVyIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IkxMTSBwcm92aWRlciB1c2VkIGJ5IGdvb3NlIGluIENJIiwib3B0aW9ucyI6WyJvbGxhbWFfY2xvdWQiLCJhbnRocm9waWMiLCJvcGVuYWkiLCJvcGVucm91dGVyIiwiZmlyZXdvcmtzLWFpIl19LHsia2V5IjoiZ29vc2VfbW9kZWwiLCJpbnB1dF90eXBlIjoic3RyaW5nIiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiTW9kZWwgbmFtZSBmb3IgR09PU0VfTU9ERUwgaW4gdGhlIENJIGNvbmZpZyAoZS5nLiBnbG0tNS4zIGZvciBvbGxhbWFfY2xvdWQsIGNsYXVkZS1zb25uZXQtNC01IGZvciBhbnRocm9waWMsIGdwdC00byBmb3Igb3BlbmFpLCBhbnRocm9waWMvY2xhdWRlLXNvbm5ldC00IGZvciBvcGVucm91dGVyLCBhY2NvdW50cy9maXJld29ya3MvbW9kZWxzL2RlZXBzZWVrLXY0LWZsYXNoLTA3MzEgZm9yIGZpcmV3b3Jrcy1haSkifSx7ImtleSI6InZlcmlmaWNhdGlvbl9nYXRlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IlJldmlldyB2ZXJpZmljYXRpb24gZ2F0ZSAoaXNzdWUgIzEwKS4gQWZ0ZXIgdGhlIGZpcnN0IHJldmlldyBwYXNzLCBhIHNpbmdsZSByZWZsZWN0aW9uIHBhc3MgcmUtY2hlY2tzIGV2ZXJ5IGZpbmRpbmcgKDAtMTAgdmFsaWRpdHkgc2NvcmUpIGFuZCBhIGRldGVybWluaXN0aWMgbWVyZ2UgZ2F0ZSBrZWVwcy9kZW1vdGVzL2Ryb3BzIGZpbmRpbmdzLiBvbiA9IGdhdGUgZW5mb3JjZWQ7IHNoYWRvdyA9IGdhdGUgb3V0Y29tZXMgcmVjb3JkZWQgaW4gQ0kgbG9ncyBvbmx5IChwb3N0ZWQgcmV2aWV3IGlzIHRoZSB1bm1vZGlmaWVkIGZpcnN0IHBhc3MpOyBvZmYgPSBubyB2ZXJpZmljYXRpb24gc3RlcC4gQ29zdDogb24vc2hhZG93IHJvdWdobHkgZG91YmxlcyB0aGUgTExNIHNwZW5kIHBlciByZXZpZXcuXG4iLCJvcHRpb25zIjpbIm9uIiwib2ZmIiwic2hhZG93Il19LHsia2V5IjoidmVyaWZ5X2dhdGVfcHJvZmlsZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJHYXRlIHByb2ZpbGUuIGNvbnNlcnZhdGl2ZSA9IHVubWF0Y2hlZCBmaW5kaW5ncyBhcmUga2VwdCwgUDAvUDEgZmluZGluZ3Mgd2l0aCBhIDQtNiB2YWxpZGl0eSBzY29yZSBhcmUgZGVtb3RlZCB0byBXYXJuaW5ncy4gc3RyaWN0ID0gdW5tYXRjaGVkIGZpbmRpbmdzIGFyZSBkcm9wcGVkLCBhbmQgdGhlIHNhbWUgdGhyZXNob2xkcyBhcHBseSB0byBldmVyeSBwcmlvcml0eSAoc2NvcmUgPD0gNCBkcm9wLCA1LTcgZGVtb3RlLCA-PSA4IGtlZXApLiBLZWVwIHRoZSBkZWZhdWx0IHVubGVzcyBzaGFkb3cgbWVhc3VyZW1lbnRzIGp1c3RpZnkgdGlnaHRlbmluZy5cbiIsIm9wdGlvbnMiOlsiY29uc2VydmF0aXZlIiwic3RyaWN0Il19XX0 ``` @@ -208,7 +208,7 @@ platform's CI config deterministically from that choice. | Parameter | Options | Notes | |---|---|---| | `ci_platform` | `github` / `gitlab` / `gitea` / `teamcity` | Where goose reviews your PRs/MRs | -| `output_language` | `Korean` / `English` | Language of review comments | +| `output_language` | `Korean` / `English` / `Japanese` / `Chinese` | Language of review comments (Chinese = Simplified) | | `review_style` | `graded-review` / `changes-summary` | What gets posted on the PR | | `ci_provider` | `ollama_cloud` / `anthropic` / `openai` / `openrouter` / `fireworks-ai` | LLM provider goose uses in CI | | `goose_model` | free text | e.g. `claude-sonnet-4-5`, `gpt-4o` | diff --git a/codegoose-review.yaml b/codegoose-review.yaml index 1a6bd8c..2cbd542 100644 --- a/codegoose-review.yaml +++ b/codegoose-review.yaml @@ -16,7 +16,7 @@ parameters: - key: language input_type: string requirement: optional - description: Output language for review prose (e.g. Korean, English) + description: Output language for review prose (e.g. Korean, English, Japanese, Chinese) default: "Korean (한국어)" - key: instructions input_type: string diff --git a/codegoose-setup.yaml b/codegoose-setup.yaml index c760a5e..42b2074 100644 --- a/codegoose-setup.yaml +++ b/codegoose-setup.yaml @@ -27,6 +27,8 @@ parameters: options: - Korean - English + - Japanese + - Chinese - key: review_style input_type: select diff --git a/docs/launch.html b/docs/launch.html index da50425..0bfd740 100644 --- a/docs/launch.html +++ b/docs/launch.html @@ -145,13 +145,13 @@
pr_directory path.
-
+
Launch PR Code Review
pr_directory path.
-
+
Launch PR Code Review