fix: QA Exaustivo — 9 bugs críticos corrigidos (auth, SEO, CORS, segurança)#618
Conversation
…O pqpdolkaeqlyzpdpbizo, adicionar canônico doufsxqlfjyuvxuezpln; BUG-09: apple-touch-icon fallback para favicon.svg
… remove projeto PROIBIDO pqpdolkaeqlyzpdpbizo de EXACT_ALLOWED_ORIGINS
…rrigidos (TS2339 x2), totalErrors 337→335
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
More reviews will be available in 23 minutes and 18 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ba34b2cfca
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| <script type="module" src="/src/main.tsx"></script> | ||
| </body> | ||
| </html> | ||
| PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9InB0LUJSIiBjbGFzcz0iZGFyayI+CiAgPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCIgLz4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIiAvPgoKICAgIDwhLS0gU2VjdXJpdHkgSGVhZGVycyAtLT4KICAgIDwhLS0KICAgICAgT3MgY2FiZcOnYWxob3MgYWJhaXhvIHPDo28gZW50cmVndWVzIGNvbW8gSFRUUCBoZWFkZXJzIHJlYWlzIHZpYSBgcHVibGljL19oZWFkZXJzYAogICAgICBlIGB2ZXJjZWwuanNvbmAgKFgtRnJhbWUtT3B0aW9ucywgU3RyaWN0LVRyYW5zcG9ydC1TZWN1cml0eSwgUGVybWlzc2lvbnMtUG9saWN5LAogICAgICBmcmFtZS1hbmNlc3RvcnMgZGEgQ1NQIGUgY2FiZcOnYWxob3MgcmVsYWNpb25hZG9zKS4gQXF1aSBtYW50ZW1vcyBhcGVuYXMgYXMKICAgICAgZGlyZXRpdmFzIHF1ZSBmdW5jaW9uYW0gY29ycmV0YW1lbnRlIGNvbW8gPG1ldGEgaHR0cC1lcXVpdj4g4oCUIG8gbmF2ZWdhZG9yCiAgICAgIGlnbm9yYSBhcyBkZW1haXMgKGNvbW8gUGVybWlzc2lvbnMtUG9saWN5LCByZW1vdmlkbyBuZXN0YSBldGFwYSkgZSBlbWl0ZQogICAgICB3YXJuaW5ncyBubyBjb25zb2xlIGRvIHByZXZpZXcuCiAgICAtLT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtQ29udGVudC1UeXBlLU9wdGlvbnMiIGNvbnRlbnQ9Im5vc25pZmYiIC8+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJSZWZlcnJlci1Qb2xpY3kiIGNvbnRlbnQ9InN0cmljdC1vcmlnaW4td2hlbi1jcm9zcy1vcmlnaW4iIC8+CiAgICAKICAgIDwhLS0gU0VPIC0gVMOtdHVsbyBlIE1ldGEgVGFncyAtLT4KICAgIDx0aXRsZT5DYXTDoWxvZ28gZGUgUHJvZHV0b3MgfCBQcm9tbyBHaWZ0czwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iUGxhdGFmb3JtYSBjb21wbGV0YSBwYXJhIHZlbmRlZG9yZXMgZGUgcHJvZHV0b3MgcHJvbW9jaW9uYWlzLiBDYXTDoWxvZ28gaW50ZWxpZ2VudGUsIG9yw6dhbWVudG9zIHLDoXBpZG9zLCBtb2NrdXBzIHBlcnNvbmFsaXphZG9zIGUgZ2VzdMOjbyBkZSBjbGllbnRlcyBjb20gSUEuIj4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iUHJvbW8gR2lmdHMiIC8+CiAgICA8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0icHJvZHV0b3MgcHJvbW9jaW9uYWlzLCBicmluZGVzIGNvcnBvcmF0aXZvcywgY2F0w6Fsb2dvIHByb21vY2lvbmFsLCBvcsOnYW1lbnRvcywgbW9ja3VwcywgcGVyc29uYWxpemHDp8OjbywgYm9yZGFkbywgc2VyaWdyYWZpYSwgZ3JhdmHDp8OjbyBsYXNlciIgLz4KICAgIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0iaW5kZXgsIGZvbGxvdyIgLz4KICAgIDxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy5wcm9tb2dpZnRzLmNvbS5iciIgZGF0YS1yaD0idHJ1ZSIgLz4KCiAgICA8IS0tIE9wZW4gR3JhcGggLyBGYWNlYm9vayAtLT4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJ3ZWJzaXRlIiAvPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnVybCIgY29udGVudD0iaHR0cHM6Ly93d3cucHJvbW9naWZ0cy5jb20uYnIiIGRhdGEtcmg9InRydWUiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IlByb21vIEdpZnRzIHwgU29sdcOnw6NvIENvbXBsZXRhIHBhcmEgQnJpbmRlcyBDb3Jwb3JhdGl2b3MiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJBY2VsZXJlIHN1YXMgdmVuZGFzIGRlIGJyaW5kZXMgY29tIG5vc3NvIGNhdMOhbG9nbyBpbnRlbGlnZW50ZSwgb3LDp2FtZW50b3MgaW5zdGFudMOibmVvcyBlbSBQREYgZSBnZXJhZG9yIGRlIG1vY2t1cHMgY29tIElBLiI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vd3d3LnByb21vZ2lmdHMuY29tLmJyL29nLWltYWdlLnBuZyI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2U6d2lkdGgiIGNvbnRlbnQ9IjEyMDAiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2U6aGVpZ2h0IiBjb250ZW50PSI2MzAiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6bG9jYWxlIiBjb250ZW50PSJwdF9CUiIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IlByb21vIEdpZnRzIiAvPgoKICAgIDwhLS0gVHdpdHRlciAtLT4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6Y2FyZCIgY29udGVudD0ic3VtbWFyeV9sYXJnZV9pbWFnZSIgLz4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6dXJsIiBjb250ZW50PSJodHRwczovL3d3dy5wcm9tb2dpZnRzLmNvbS5iciIgZGF0YS1yaD0idHJ1ZSIgLz4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6dGl0bGUiIGNvbnRlbnQ9IlByb21vIEdpZnRzIHwgU29sdcOnw6NvIENvbXBsZXRhIHBhcmEgQnJpbmRlcyBDb3Jwb3JhdGl2b3MiPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjpkZXNjcmlwdGlvbiIgY29udGVudD0iQWNlbGVyZSBzdWFzIHZlbmRhcyBkZSBicmluZGVzIGNvbSBub3NzbyBjYXTDoWxvZ28gaW50ZWxpZ2VudGUsIG9yw6dhbWVudG9zIGluc3RhbnTDom5lb3MgZW0gUERGIGUgZ2VyYWRvciBkZSBtb2NrdXBzIGNvbSBJQS4iPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjppbWFnZSIgY29udGVudD0iaHR0cHM6Ly93d3cucHJvbW9naWZ0cy5jb20uYnIvb2ctaW1hZ2UucG5nIj4KCiAgICA8IS0tIEROUyBQcmVmZXRjaCAmIFByZWNvbm5lY3Qg4oCUIHJlZHVjZSBuZXR3b3JrIGRlcGVuZGVuY3kgY2hhaW4KICAgICAgICAgQlVHLTA2IEZJWDogUmVtb3ZlZCBwcmVjb25uZWN0L2Rucy1wcmVmZXRjaCB0byBGT1JCSURERU4gcHJvamVjdAogICAgICAgICBwcXBkb2xrYWVxbHl6cGRwYml6byAobGlzdGVkIGluIEZPUkJJRERFTl9SRUZTIGluIGNsaWVudC50cykuCiAgICAgICAgIEFkZGVkIGNhbm9uaWNhbCBwcm9qZWN0IGRvdWZzeHFsZmp5dXZ4dWV6cGxuIGluc3RlYWQuIC0tPgogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIiAvPgogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbiAvPgogICAgPGxpbmsgcmVsPSJkbnMtcHJlZmV0Y2giIGhyZWY9Imh0dHBzOi8vZG91ZnN4cWxmanl1dnh1ZXpwbG4uc3VwYWJhc2UuY28iIC8+CiAgICA8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZG91ZnN4cWxmanl1dnh1ZXpwbG4uc3VwYWJhc2UuY28iIGNyb3Nzb3JpZ2luIC8+CiAgICA8bGluayByZWw9ImRucy1wcmVmZXRjaCIgaHJlZj0iaHR0cHM6Ly9pbWFnZWRlbGl2ZXJ5Lm5ldCIgLz4KICAgIAogICAgPCEtLSBMb2FkIEdvb2dsZSBGb250cyDigJQgbm9uLXJlbmRlci1ibG9ja2luZyB2aWEgbWVkaWEgc3dhcCAtLT4KICAgIDwhLS0gQXBlbmFzIE91dGZpdCAoZGlzcGxheSkgZSBQbHVzIEpha2FydGEgU2FucyAoc2Fucykuby4gSW50ZXIgZm9pIHJlbW92aWRvCiAgICAgICAgIChlcmEgcGFyYSAic2tpbnMgT3BlcmEgR1giLCBvdmVyaGVhZCBkZXNuZWNlc3PDonJpbykuIGRpc3BsYXk9b3B0aW9uYWwgZXZpdGEgQ0xTLiAtLT4KICAgIDxsaW5rIHJlbD0icHJlbG9hZCIgYXM9InN0eWxlIiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU91dGZpdDp3Z2h0QDQwMDs1MDA7NjAwOzcwMDs4MDAmZmFtaWx5PVBsdXMrSmFrYXJ0YStTYW5zOndnaHRAMzAwOzQwMDs1MDA7NjAwOzcwMCZkaXNwbGF5PW9wdGlvbmFsIiAvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU91dGZpdDp3Z2h0QDQwMDs1MDA7NjAwOzcwMDs4MDAmZmFtaWx5PVBsdXMrSmFrYXJ0YStTYW5zOndnaHRAMzAwOzQwMDs1MDA7NjAwOzcwMCZkaXNwbGF5PW9wdGlvbmFsIiBtZWRpYT0icHJpbnQiIG9ubG9hZD0idGhpcy5tZWRpYT0nYWxsJyIgLz4KICAgIDxub3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3V0Zml0OndnaHRANDAwOzUwMDs2MDA7NzAwOzgwMCZmYW1pbHk9UGx1cytKYWthcnRhK1NhbnM6d2dodEAzMDA7NjAwOzcwMCZkaXNwbGF5PW9wdGlvbmFsIiAvPjwvbm9zY3JpcHQ+CgogICAgPCEtLSBGYXZpY29uIC0tPgogICAgPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS94LWljb24iIGhyZWY9Ii9mYXZpY29uLmljbyI+CiAgICA8bGluayByZWw9Imljb24iIHR5cGU9ImltYWdlL3N2Zyt4bWwiIGhyZWY9Ii9mYXZpY29uLnN2ZyI+CiAgICAKICAgIDwhLS0gVGhlbWUgQ29sb3IgJiBQV0Eg4oCUIGFkYXB0YXRpdm8gbGlnaHQvZGFyaywgdGhlbWUgYXp1bCBicmFuZAogICAgICAgICBCVUctMDkgTk9URTogL2ljb25zL2ljb24tMTkyLnBuZyBhbmQgL2ljb25zL2ljb24tNTEyLnBuZyBjdXJyZW50bHkgNDA0LgogICAgICAgICBhcHBsZS10b3VjaC1pY29uIGZhbGxzIGJhY2sgdG8gZmF2aWNvbi5zdmcgdW50aWwgUE5HIGFzc2V0cyBhcmUgY3JlYXRlZC4KICAgICAgICAgU2VlIHB1YmxpYy9vZy1pbWFnZS5SRUFETUUubWQgZm9yIGljb24gZ2VuZXJhdGlvbiBpbnN0cnVjdGlvbnMuIC0tPgogICAgPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiMwYTBhMGEiIC8+CiAgICA8bGluayByZWw9Im1hbmlmZXN0IiBocmVmPSIvbWFuaWZlc3QuanNvbiIgY3Jvc3NvcmlnaW49InVzZS1jcmVkZW50aWFscyIgLz4KICAgIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyIgLz4KICAgIDxtZXRhIG5hbWU9Im1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyIgLz4KICAgIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLXN0YXR1cy1iYXItc3R5bGUiIGNvbnRlbnQ9ImJsYWNrLXRyYW5zbHVjZW50IiAvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSIvZmF2aWNvbi5zdmciIC8+CgogICAgPCEtLSBKU09OLUxEIFN0cnVjdHVyZWQgRGF0YQogICAgICAgICBXZWJBcHBsaWNhdGlvbiArIE9yZ2FuaXphdGlvbiBlbSB1bSB1bmljbyBAZ3JhcGggKHJlY29tZW5kYWRvIHBlbG8gR29vZ2xlKS4KICAgICAgICAgUmVtb3ZpZG8gIm9mZmVycy9wcmljZTogMCIgLSBlcmEgZW5nYW5vc28gKG5hbyBlIFNhYVMgZ3JhdHVpdG8pLgogICAgICAgICBTdWJzdGl0dWlkbyBwb3IgYXVkaWVuY2UgQjJCICsgcG90ZW50aWFsQWN0aW9uIENvbnRhY3RBY3Rpb24uIC0tPgogICAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4KICAgIHsKICAgICAgIkBjb250ZXh0IjogImh0dHBzOi8vc2NoZW1hLm9yZyIsCiAgICAgICJAZ3JhcGgiOiBbCiAgICAgICAgewogICAgICAgICAgIkB0eXBlIjogIldlYkFwcGxpY2F0aW9uIiwKICAgICAgICAgICJAaWQiOiAiaHR0cHM6Ly93d3cucHJvbW9naWZ0cy5jb20uYnIvI3dlYmFwcCIsCiAgICAgICAgICAibmFtZSI6ICJQcm9tbyBHaWZ0cyIsCiAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnByb21vZ2lmdHMuY29tLmJyIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJQbGF0YWZvcm1hIGNvbXBsZXRhIHBhcmEgdmVuZGVkb3JlcyBkZSBwcm9kdXRvcyBwcm9tb2Npb25haXMuIENhdMOhbG9nbyBpbnRlbGlnZW50ZSwgb3LDp2FtZW50b3MgcsOhcGlkb3MgZSBtb2NrdXBzIHBlcnNvbmFsaXphZG9zLiIsCiAgICAgICAgICAiYXBwbGljYXRpb25DYXRlZ29yeSI6ICJCdXNpbmVzc0FwcGxpY2F0aW9uIiwKICAgICAgICAgICJvcGVyYXRpbmdTeXN0ZW0iOiAiV2ViIiwKICAgICAgICAgICJpbkxhbmd1YWdlIjogInB0LUJSIiwKICAgICAgICAgICJhdWRpZW5jZSI6IHsKICAgICAgICAgICAgIkB0eXBlIjogIkJ1c2luZXNzQXVkaWVuY2UiLAogICAgICAgICAgICAiYXVkaWVuY2VUeXBlIjogIlZlbmRlZG9yZXMgQjJCIGRlIGJyaW5kZXMgY29ycG9yYXRpdm9zIGUgcHJvZHV0b3MgcHJvbW9jaW9uYWlzIgogICAgICAgICAgfSwKICAgICAgICAgICJwb3RlbnRpYWxBY3Rpb24iOiB7CiAgICAgICAgICAgICJAdHlwZSI6ICJDb250YWN0QWN0aW9uIiwKICAgICAgICAgICAgIm5hbWUiOiAiU29saWNpdGFyIGFjZXNzbyIsCiAgICAgICAgICAgICJ0YXJnZXQiOiAiaHR0cHM6Ly93d3cucHJvbW9naWZ0cy5jb20uYnIvYXV0aCIKICAgICAgICAgIH0sCiAgICAgICAgICAicHVibGlzaGVyIjogewogICAgICAgICAgICAiQGlkIjogImh0dHBzOi8vd3d3LnByb21vZ2lmdHMuY29tLmJyLyNvcmdhbml6YXRpb24iCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiQHR5cGUiOiAiT3JnYW5pemF0aW9uIiwKICAgICAgICAgICJAaWQiOiAiaHR0cHM6Ly93d3cucHJvbW9naWZ0cy5jb20uYnIvI29yZ2FuaXphdGlvbiIsCiAgICAgICAgICAibmFtZSI6ICJQcm9tbyBHaWZ0cyIsCiAgICAgICAgICAibGVnYWxOYW1lIjogIkJyYXNpbCBNYXJjYXMgSW5kw7pzdHJpYSBlIENvbcOpcmNpbyBkZSBCcmluZGVzIEx0ZGEiLAogICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy5wcm9tb2dpZnRzLmNvbS5iciIsCiAgICAgICAgICAibG9nbyI6ICJodHRwczovL3d3dy5wcm9tb2dpZnRzLmNvbS5ici9mYXZpY29uLnN2ZyIsCiAgICAgICAgICAiZW1haWwiOiAidGlAcHJvbW9icmluZGVzLmNvbS5iciIsCiAgICAgICAgICAiYWRkcmVzcyI6IHsKICAgICAgICAgICAgIkB0eXBlIjogIlBvc3RhbEFkZHJlc3MiLAogICAgICAgICAgICAiYWRkcmVzc0xvY2FsaXR5IjogIlPDo28gUGF1bG8iLAogICAgICAgICAgICAiYWRkcmVzc1JlZ2lvbiI6ICJTUCIsCiAgICAgICAgICAgICJwb3N0YWxDb2RlIjogIjAzMzc3LTAwMCIsCiAgICAgICAgICAgICJhZGRyZXNzQ291bnRyeSI6ICJCUiIKICAgICAgICAgIH0sCiAgICAgICAgICAic2FtZUFzIjogWwogICAgICAgICAgICAiaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9wcm9tb2JyaW5kZXMiLAogICAgICAgICAgICAiaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2NvbXBhbnkvcHJvbW9icmluZGVzIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgXQogICAgfQogICAgPC9zY3JpcHQ+CiAgPC9oZWFkPgoKICA8Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTsgbWFyZ2luOiAwOyI+CiAgICA8ZGl2IGlkPSJyb290Ij48L2Rpdj4KICAgIDxzY3JpcHQgdHlwZT0ibW9kdWxlIiBzcmM9Ii9zcmMvbWFpbi50c3giPjwvc2NyaXB0PgogIDwvYm9keT4KPC9odG1sPgo= No newline at end of file |
There was a problem hiding this comment.
Restore decoded text instead of base64 payloads
When deployed, index.html now consists of a single base64 string (PCFkb2...) instead of actual HTML, so browsers will render text and never load the app root or module scripts. The same accidental encoding pattern appears in the other files changed by this commit (robots.txt, sitemap.xml, useProfileRoles.ts, and cors.ts), so the fix needs to write the decoded contents back to disk rather than committing the encoded payloads.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Pull request overview
This PR aims to address a set of QA-found critical issues across authentication role loading, SEO (robots/sitemap), CORS hardening for Supabase Edge Functions, and removal of references to a forbidden Supabase project.
Changes:
- Updates auth role/profile loading logic in
useProfileRoles(await Supabase client, correct roles API + mapping). - Fixes SEO assets (
robots.txt,sitemap.xml) to point towww.promogifts.com.br. - Adjusts Edge Function CORS allowlist/fallback behavior and updates TypeScript baseline counts.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
supabase/functions/_shared/cors.ts |
Intended CORS allowlist/fallback tightening, but file is currently committed as a single Base64 string (not runnable TS). |
src/hooks/auth/useProfileRoles.ts |
Intended auth fixes, but file is currently committed as a single Base64 string (not compilable TS). |
public/sitemap.xml |
Intended domain fixes, but file is currently committed as a single Base64 string (not valid XML). |
public/robots.txt |
Intended sitemap URL fix, but file is currently committed as a single Base64 string (not valid robots.txt). |
index.html |
Intended removal of forbidden preconnects + icon tweaks, but file is currently committed as a single Base64 string (not valid HTML). |
.tsc-baseline.json |
Intended baseline update, but file is currently committed as a single Base64 string (not valid JSON). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| }); | ||
|
|
||
|
|
||
| Ly8gc3VwYWJhc2UvZnVuY3Rpb25zL19zaGFyZWQvY29ycy50cwovKioKICogQ2VudHJhbGl6ZWQgQ09SUyBjb25maWd1cmF0aW9uIOKAlCByZXN0cmljdCB0byBrbm93biBvcmlnaW5zLgogKgogKiBCVUctMDcgRklYICgyMDI2LTA2LTAyKTogZ2V0QmVzdEFsbG93ZWRPcmlnaW4oKSBmYWxsYmFjayB3YXMgcmV0dXJuaW5nCiAqICAgdGhlIExvdmFibGUgZGV2IFVSTCAoY3JpYXItdG9nZXRoZXItbm93LmxvdmFibGUuYXBwKSBmb3IgdW5rbm93biBvcmlnaW5zLgogKiAgIENoYW5nZWQgdG8gcHJvZHVjdGlvbiBVUkwgKHd3dy5wcm9tb2dpZnRzLmNvbS5icikuCiAqCiAqIEJVRy0wOCBGSVggKDIwMjYtMDYtMDIpOiBwcXBkb2xrYWVxbHl6cGRwYml6by5zdXBhYmFzZS5jbyByZW1vdmVkIGZyb20KICogICBFWEFDVF9BTExPV0VEX09SSUdJTlMuIFRoYXQgcHJvamVjdCBpcyBpbiBGT1JCSURERU5fUkVGUyBpbiBjbGllbnQudHMKICogICBhbmQgbXVzdCBub3QgYmUgZ3JhbnRlZCBDT1JTIGFjY2VzcyB0byBlZGdlIGZ1bmN0aW9ucy4KICovCgovLyAtLS0gQ29uZmlndXJhdGlvbiAtLS0KCmNvbnN0IEVYQUNUX0FMTE9XRURfT1JJR0lOUyA9IG5ldyBTZXQoWwogIC8vIEJVRy0wOCBGSVg6IHBxcGRvbGthZXFseXpwZHBiaXpvLnN1cGFiYXNlLmNvIHJlbW92ZWQgKEZPUkJJRERFTiBwcm9qZWN0KS4KICAvLyBDYW5vbmljYWwgcHJvamVjdCBpcyBkb3Vmc3hxbGZqeXV2eHVlenBsbiDigJQgaXQgbmV2ZXIgbmVlZHMgdG8gY2FsbCBpdHMgb3duCiAgLy8gZWRnZSBmdW5jdGlvbnMgZnJvbSBhIGJyb3dzZXIgY29udGV4dDsgU3VwYWJhc2UgU0RLIGhhbmRsZXMgdGhhdCBpbnRlcm5hbGx5LgogICdodHRwczovL2NyaWFyLXRvZ2V0aGVyLW5vdy5sb3ZhYmxlLmFwcCcsCiAgJ2h0dHBzOi8vaWQtcHJldmlldy0tMWJlMzVhNjUtMWY2NS00YzJiLTlhNzktN2Q1NjM5MzBhYWNkLmxvdmFibGUuYXBwJywKICAnaHR0cHM6Ly8xYmUzNWE2NS0xZjY1LTRjMmItOWE3OS03ZDU2MzkzMGFhY2QubG92YWJsZXByb2plY3QuY29tJywKICAnaHR0cHM6Ly9wcm9tb2dpZnRzLmNvbS5icicsCiAgJ2h0dHBzOi8vd3d3LnByb21vZ2lmdHMuY29tLmJyJywKICAnaHR0cHM6Ly9wcm9tb2dpZnRzLmF0b21pY2Fici5jb20uYnInLAogICdodHRwOi8vbG9jYWxob3N0OjUxNzMnLAogICdodHRwOi8vbG9jYWxob3N0OjgwODAnLAogICdodHRwOi8vbG9jYWxob3N0OjMwMDAnLAogICdodHRwOi8vMTI3LjAuMC4xOjUxNzMnLAogICdodHRwOi8vMTI3LjAuMC4xOjgwODAnLAogICdodHRwOi8vMTI3LjAuMC4xOjMwMDAnLApdKTsKCmNvbnN0IEFMTE9XRURfT1JJR0lOX1BBVFRFUk5TID0gWwogIC9eaHR0cHM6XC9cL1thLXowLTktXStcLmxvdmFibGVcLmFwcCQvaSwKICAvXmh0dHBzOlwvXC9bYS16MC05LV0rXC5sb3ZhYmxlcHJvamVjdFwuY29tJC9pLAogIC9eaHR0cHM6XC9cL1thLXowLTktXStcLmF0b21pY2FiclwuY29tXC5iciQvaSwKICAvXmh0dHBzOlwvXC9bYS16MC05LV0rXC52ZXJjZWxcLmFwcCQvaSwKICAvXmh0dHA6XC9cL2xvY2FsaG9zdCg/OjpcZCspPyQvaSwKICAvXmh0dHA6XC9cLzEyN1wuMFwuMFwuMSg/OjpcZCspPyQvaSwKXTsKCmNvbnN0IEFMTE9XRURfSEVBREVSU19MSVNUID0gWwogICdhdXRob3JpemF0aW9uJywKICAneC1jbGllbnQtaW5mbycsCiAgJ2FwaWtleScsCiAgJ2NvbnRlbnQtdHlwZScsCiAgJ3gtcmVxdWVzdC1pZCcsCiAgJ3gtc3RlcC11cC10b2tlbicsCiAgJ3gtc3VwYWJhc2UtY2xpZW50LXBsYXRmb3JtJywKICAneC1zdXBhYmFzZS1jbGllbnQtcGxhdGZvcm0tdmVyc2lvbicsCiAgJ3gtc3VwYWJhc2UtY2xpZW50LXJ1bnRpbWUnLAogICd4LXN1cGFiYXNlLWNsaWVudC1ydW50aW1lLXZlcnNpb24nLApdOwoKY29uc3QgQUxMT1dFRF9IRUFERVJTX1NFVCA9IG5ldyBTZXQoQUxMT1dFRF9IRUFERVJTX0xJU1QubWFwKChoKSA9PiBoLnRvTG93ZXJDYXNlKCkpKTsKY29uc3QgQUxMT1dFRF9IRUFERVJTX1ZBTFVFID0gQUxMT1dFRF9IRUFERVJTX0xJU1Quam9pbignLCAnKTsKCmNvbnN0IFNFQ1VSSVRZX0hFQURFUlMgPSB7CiAgJ1gtQ29udGVudC1UeXBlLU9wdGlvbnMnOiAnbm9zbmlmZicsCiAgJ1gtRnJhbWUtT3B0aW9ucyc6ICdERU5ZJywKICAnU3RyaWN0LVRyYW5zcG9ydC1TZWN1cml0eSc6ICdtYXgtYWdlPTMxNTM2MDAwOyBpbmNsdWRlU3ViRG9tYWluczsgcHJlbG9hZCcsCiAgJ0NvbnRlbnQtU2VjdXJpdHktUG9saWN5JzogImRlZmF1bHQtc3JjICdzZWxmJzsgc2NyaXB0LXNyYyAnc2VsZicgJ3N0cmljdC1keW5hbWljJzsgb2JqZWN0LXNyYyAnbm9uZSc7IGZyYW1lLWFuY2VzdG9ycyAnbm9uZSc7IGJhc2UtdXJpICdzZWxmJzsgZm9ybS1hY3Rpb24gJ3NlbGYnOyB1cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzOyIsCn0gYXMgY29uc3Q7Cgpjb25zdCBDT1JTX0hFQURFUlNfQkFTRSA9IHsKICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyc6IEFMTE9XRURfSEVBREVSU19WQUxVRSwKICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyc6ICdHRVQsIFBPU1QsIFBVVCwgREVMRVRFLCBPUFRJT05TJywKICAnQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMnOiAneC1yZXF1ZXN0LWlkJywKICAuLi5TRUNVUklUWV9IRUFERVJTLAp9IGFzIGNvbnN0OwoKLy8gLS0tIEludGVybmFsIFV0aWxpdGllcyAtLS0KCmZ1bmN0aW9uIHBhcnNlSGVhZGVyTGlzdChoZWFkZXJTdHJpbmc6IHN0cmluZyB8IG51bGwpOiBzdHJpbmdbXSB7CiAgaWYgKCFoZWFkZXJTdHJpbmcpIHJldHVybiBbXTsKICByZXR1cm4gaGVhZGVyU3RyaW5nCiAgICAuc3BsaXQoJywnKQogICAgLm1hcCgoaCkgPT4gaC50cmltKCkudG9Mb3dlckNhc2UoKSkKICAgIC5maWx0ZXIoQm9vbGVhbik7Cn0KCmZ1bmN0aW9uIGlzQWxsb3dlZE9yaWdpbihvcmlnaW46IHN0cmluZyk6IGJvb2xlYW4gewogIHJldHVybiAoCiAgICBFWEFDVF9BTExPV0VEX09SSUdJTlMuaGFzKG9yaWdpbikgfHwKICAgIEFMTE9XRURfT1JJR0lOX1BBVFRFUk5TLnNvbWUoKHBhdHRlcm4pID0+IHBhdHRlcm4udGVzdChvcmlnaW4pKQogICk7Cn0KCmZ1bmN0aW9uIGdldEJlc3RBbGxvd2VkT3JpZ2luKG9yaWdpbjogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7CiAgaWYgKG9yaWdpbiAmJiBpc0FsbG93ZWRPcmlnaW4ob3JpZ2luKSkgcmV0dXJuIG9yaWdpbjsKICAvLyBCVUctMDcgRklYOiBVbmtub3duIG9yaWdpbiBub3cgZmFsbHMgYmFjayB0byB0aGUgUFJPRFVDVElPTiBVUkwgaW5zdGVhZAogIC8vIG9mIHRoZSBMb3ZhYmxlIGRldmVsb3BtZW50IFVSTCAoY3JpYXItdG9nZXRoZXItbm93LmxvdmFibGUuYXBwKS4KICAvLyBUaGUgYnJvd3NlciBzdGlsbCBibG9ja3MgdGhlIHJlc3BvbnNlIGlmIHRoZSBvcmlnaW4gZG9lc24ndCBtYXRjaCBhbnl3YXksCiAgLy8gc28gdGhpcyBvbmx5IG1hdHRlcnMgZm9yIHNhbWUtb3JpZ2luIHJlcXVlc3RzIGFuZCBzZXJ2ZXItc2lkZSBjYWxsZXJzLgogIHJldHVybiAnaHR0cHM6Ly93d3cucHJvbW9naWZ0cy5jb20uYnInOwp9CgovLyAtLS0gU3RydWN0dXJlZCBMb2dnaW5nIC0tLQoKZnVuY3Rpb24gbG9nQ29yc0V2ZW50KGV2ZW50OiBzdHJpbmcsIGZpZWxkczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB2b2lkIHsKICBjb25zdCBwYXlsb2FkID0gewogICAgc291cmNlOiAnY29ycycsCiAgICBldmVudCwKICAgIHRzOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksCiAgICAuLi5maWVsZHMsCiAgfTsKICBjb25zdCBsaW5lID0gYFtjb3JzXSAke0pTT04uc3RyaW5naWZ5KHBheWxvYWQpfWA7CiAgCiAgaWYgKGV2ZW50LmVuZHNXaXRoKCdfd2FybicpIHx8IGV2ZW50LmVuZHNXaXRoKCdfYmxvY2tlZCcpKSB7CiAgICBjb25zb2xlLndhcm4obGluZSk7CiAgfSBlbHNlIHsKICAgIGNvbnNvbGUubG9nKGxpbmUpOwogIH0KfQoKbGV0IGJvb3RMb2dnZWQgPSBmYWxzZTsKZnVuY3Rpb24gbG9nQm9vdElmTmVlZGVkKCk6IHZvaWQgewogIGlmIChib290TG9nZ2VkKSByZXR1cm47CiAgYm9vdExvZ2dlZCA9IHRydWU7CiAgbG9nQ29yc0V2ZW50KCdjb3JzX2Jvb3QnLCB7CiAgICBhbGxvd19oZWFkZXJzOiBBTExPV0VEX0hFQURFUlNfVkFMVUUsCiAgICBhbGxvd19oZWFkZXJzX2NvdW50OiBBTExPV0VEX0hFQURFUlNfTElTVC5sZW5ndGgsCiAgICBhbGxvd19tZXRob2RzOiBDT1JTX0hFQURFUlNfQkFTRVsnQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyddLAogICAgZXhwb3NlX2hlYWRlcnM6IENPUlNfSEVBREVSU19CQVNFWydBY2Nlc3MtQ29udHJvbC1FeHBvc2UtSGVhZGVycyddLAogICAgZXhhY3Rfb3JpZ2luc19jb3VudDogRVhBQ1RfQUxMT1dFRF9PUklHSU5TLnNpemUsCiAgICBwYXR0ZXJuX29yaWdpbnNfY291bnQ6IEFMTE9XRURfT1JJR0lOX1BBVFRFUk5TLmxlbmd0aCwKICB9KTsKfQoKLy8gSW5pdGlhbGl6ZSBib290IGxvZyBvbiBtb2R1bGUgbG9hZApsb2dCb290SWZOZWVkZWQoKTsKCmZ1bmN0aW9uIGxvZ1ByZWZsaWdodEZyb21SZXF1ZXN0KHJlcTogUmVxdWVzdCwgb3JpZ2luOiBzdHJpbmcpOiB2b2lkIHsKICBjb25zdCByZXF1ZXN0ZWRIZWFkZXJzUmF3ID0gcmVxLmhlYWRlcnMuZ2V0KCdBY2Nlc3MtQ29udHJvbC1SZXF1ZXN0LUhlYWRlcnMnKSB8fCByZXEuaGVhZGVycy5nZXQoJ2FjY2Vzcy1jb250cm9sLXJlcXVlc3QtaGVhZGVycycpOwogIGNvbnN0IHJlcXVlc3RlZE1ldGhvZCA9IHJlcS5oZWFkZXJzLmdldCgnQWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2QnKSB8fCByZXEuaGVhZGVycy5nZXQoJ2FjY2Vzcy1jb250cm9sLXJlcXVlc3QtbWV0aG9kJyk7CiAgY29uc3QgcmVxdWVzdGVkSGVhZGVycyA9IHBhcnNlSGVhZGVyTGlzdChyZXF1ZXN0ZWRIZWFkZXJzUmF3KTsKICAKICBjb25zdCBtaXNzaW5nSGVhZGVycyA9IHJlcXVlc3RlZEhlYWRlcnMuZmlsdGVyKChoKSA9PiAhQUxMT1dFRF9IRUFERVJTX1NFVC5oYXMoaCkpOwogIGNvbnN0IG9yaWdpbkFsbG93ZWQgPSAhb3JpZ2luIHx8IGlzQWxsb3dlZE9yaWdpbihvcmlnaW4pOwogIGNvbnN0IHJlcXVlc3RJZCA9IHJlcS5oZWFkZXJzLmdldCgneC1yZXF1ZXN0LWlkJykgfHwgcmVxLmhlYWRlcnMuZ2V0KCdYLVJlcXVlc3QtSWQnKTsKCiAgY29uc3QgYmFzZUZpZWxkcyA9IHsKICAgIHJlcXVlc3RfaWQ6IHJlcXVlc3RJZCwKICAgIG9yaWdpbjogb3JpZ2luIHx8IG51bGwsCiAgICBvcmlnaW5fYWxsb3dlZDogb3JpZ2luQWxsb3dlZCwKICAgIHJlcXVlc3RlZF9tZXRob2Q6IHJlcXVlc3RlZE1ldGhvZCwKICAgIHJlcXVlc3RlZF9oZWFkZXJzOiByZXF1ZXN0ZWRIZWFkZXJzLAogICAgbWlzc2luZ19oZWFkZXJzOiBtaXNzaW5nSGVhZGVycywKICB9OwoKICBpZiAoIW9yaWdpbkFsbG93ZWQgfHwgbWlzc2luZ0hlYWRlcnMubGVuZ3RoID4gMCkgewogICAgbG9nQ29yc0V2ZW50KCdjb3JzX3ByZWZsaWdodF93YXJuJywgewogICAgICAuLi5iYXNlRmllbGRzLAogICAgICByZWFzb246ICFvcmlnaW5BbGxvd2VkID8gJ29yaWdpbl9ub3RfYWxsb3dlZCcgOiAnaGVhZGVyX25vdF9hbGxvd2VkJywKICAgICAgaGludDogbWlzc2luZ0hlYWRlcnMubGVuZ3RoID4gMAogICAgICAgID8gYEFkZCB0byBBTExPV0VEX0hFQURFUlNfTElTVCBpbiBfc2hhcmVkL2NvcnMudHM6ICR7bWlzc2luZ0hlYWRlcnMuam9pbignLCAnKX1gCiAgICAgICAgOiAnQWRkIG9yaWdpbiB0byBFWEFDVF9BTExPV0VEX09SSUdJTlMgb3IgQUxMT1dFRF9PUklHSU5fUEFUVEVSTlMnLAogICAgfSk7CiAgfSBlbHNlIHsKICAgIGxvZ0NvcnNFdmVudCgnY29yc19wcmVmbGlnaHRfb2snLCBiYXNlRmllbGRzKTsKICB9Cn0KCi8vIC0tLSBQdWJsaWMgQVBJIC0tLQoKLyoqCiAqIFJldHVybnMgQ09SUyBoZWFkZXJzIHdpdGggb3JpZ2luIHZhbGlkYXRpb24uCiAqIElmIHRoZSByZXF1ZXN0IG9yaWdpbiBpcyBpbiB0aGUgYWxsb3dsaXN0LCBpdCBpcyByZWZsZWN0ZWQgYmFjay4KICovCmV4cG9ydCBmdW5jdGlvbiBnZXRDb3JzSGVhZGVycyhyZXE/OiBSZXF1ZXN0KTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7CiAgY29uc3Qgb3JpZ2luID0gcmVxPy5oZWFkZXJzLmdldCgnb3JpZ2luJykgfHwgcmVxPy5oZWFkZXJzLmdldCgnT3JpZ2luJykgfHwgJyc7CiAgCiAgaWYgKHJlcT8ubWV0aG9kID09PSAnT1BUSU9OUycpIHsKICAgIGxvZ1ByZWZsaWdodEZyb21SZXF1ZXN0KHJlcSwgb3JpZ2luKTsKICB9CgogIHJldHVybiB7CiAgICAuLi5DT1JTX0hFQURFUlNfQkFTRSwKICAgIC4uLlNFQ1VSSVRZX0hFQURFUlMsCiAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJzogZ2V0QmVzdEFsbG93ZWRPcmlnaW4ob3JpZ2luKSwKICB9Owp9CgovKioKICogSGFuZGxlIENPUlMgcHJlZmxpZ2h0IChPUFRJT05TKSByZXF1ZXN0LgogKiBSZXR1cm5zIGEgUmVzcG9uc2UgaWYgaXQncyBhbiBPUFRJT05TIHJlcXVlc3QsIG51bGwgb3RoZXJ3aXNlLgogKi8KZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUNvcnNQcmVmbGlnaHRJZk5lZWRlZChyZXE6IFJlcXVlc3QpOiBSZXNwb25zZSB8IG51bGwgewogIGlmIChyZXEubWV0aG9kICE9PSAnT1BUSU9OUycpIHJldHVybiBudWxsOwogIHJldHVybiBuZXcgUmVzcG9uc2UobnVsbCwgeyBoZWFkZXJzOiBnZXRDb3JzSGVhZGVycyhyZXEpIH0pOwp9CgpleHBvcnQgaW50ZXJmYWNlIFB1YmxpY0NvcnNPcHRpb25zIHsKICAvKioKICAgKiBFeHRyYSBoZWFkZXIgdG9rZW5zIHRvIGFwcGVuZCB0byBBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzLgogICAqLwogIGV4dHJhQWxsb3dIZWFkZXJzPzogc3RyaW5nW107CiAgLyoqCiAgICogT3ZlcnJpZGUgQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyAoZGVmYXVsdDogc2FtZSBhcyByZXN0cmljdGVkIGhlbHBlcikuCiAgICovCiAgYWxsb3dNZXRob2RzPzogc3RyaW5nOwp9CgovKioKICogQnVpbGQgQ09SUyBoZWFkZXJzIGZvciBwdWJsaWMvd2lsZGNhcmQgZW5kcG9pbnRzLgogKi8KZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUHVibGljQ29yc0hlYWRlcnMob3B0czogUHVibGljQ29yc09wdGlvbnMgPSB7fSk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gewogIGNvbnN0IG1lcmdlZCA9IG5ldyBTZXQoQUxMT1dFRF9IRUFERVJTX0xJU1QubWFwKChoKSA9PiBoLnRvTG93ZXJDYXNlKCkpKTsKICBmb3IgKGNvbnN0IGggb2Ygb3B0cy5leHRyYUFsbG93SGVhZGVycyA/PyBbXSkgewogICAgY29uc3QgdCA9IGgudHJpbSgpLnRvTG93ZXJDYXNlKCk7CiAgICBpZiAodCkgbWVyZ2VkLmFkZCh0KTsKICB9CiAgCiAgcmV0dXJuIHsKICAgICdBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nOiAnKicsCiAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyc6IEFycmF5LmZyb20obWVyZ2VkKS5qb2luKCcsICcpLAogICAgJ0FjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMnOiBvcHRzLmFsbG93TWV0aG9kcyA/PyBDT1JTX0hFQURFUlNfQkFTRVsnQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyddLAogICAgJ0FjY2Vzcy1Db250cm9sLUV4cG9zZS1IZWFkZXJzJzogJ3gtcmVxdWVzdC1pZCcsCiAgICAuLi5TRUNVUklUWV9IRUFERVJTLAogIH07Cn0KCi8qKgogKiBVbmlmaWVkIHByZWZsaWdodCBoYW5kbGVyIOKAlCB3b3JrcyBmb3IgQk9USCBwdWJsaWMtd2lsZGNhcmQgYW5kIG9yaWdpbi1yZXN0cmljdGVkIGVuZHBvaW50cy4KICovCmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVDb3JzUHJlZmxpZ2h0KAogIHJlcTogUmVxdWVzdCwKICBvcHRzOiB7IHB1YmxpYz86IGJvb2xlYW4gfSAmIFB1YmxpY0NvcnNPcHRpb25zID0ge30sCik6IFJlc3BvbnNlIHwgbnVsbCB7CiAgaWYgKHJlcS5tZXRob2QgIT09ICdPUFRJT05TJykgcmV0dXJuIG51bGw7CiAgCiAgaWYgKG9wdHMucHVibGljKSB7CiAgICBjb25zdCBvcmlnaW4gPSByZXEuaGVhZGVycy5nZXQoJ29yaWdpbicpIHx8IHJlcS5oZWFkZXJzLmdldCgnT3JpZ2luJykgfHwgJyc7CiAgICBsb2dQcmVmbGlnaHRGcm9tUmVxdWVzdChyZXEsIG9yaWdpbik7CiAgICByZXR1cm4gbmV3IFJlc3BvbnNlKG51bGwsIHsgaGVhZGVyczogYnVpbGRQdWJsaWNDb3JzSGVhZGVycyhvcHRzKSB9KTsKICB9CiAgCiAgcmV0dXJuIG5ldyBSZXNwb25zZShudWxsLCB7IGhlYWRlcnM6IGdldENvcnNIZWFkZXJzKHJlcSkgfSk7Cn0KCi8qKgogKiBAZGVwcmVjYXRlZCBVc2UgYGJ1aWxkUHVibGljQ29yc0hlYWRlcnMoKWAgb3IgYGhhbmRsZUNvcnNQcmVmbGlnaHQocmVxLCB7IHB1YmxpYzogdHJ1ZSB9KWAuCiAqLwpleHBvcnQgY29uc3QgcHVibGljQ29yc0hlYWRlcnMgPSBPYmplY3QuZnJlZXplKGJ1aWxkUHVibGljQ29yc0hlYWRlcnMoKSk7CgovKioKICogRXhwb3J0ZWQgZm9yIHRlc3RzIC8gaW50cm9zcGVjdGlvbi4KICovCmV4cG9ydCBjb25zdCBDT1JTX0lOVFJPU1BFQ1RJT04gPSBPYmplY3QuZnJlZXplKHsKICBhbGxvd0hlYWRlcnM6IEFMTE9XRURfSEVBREVSU19WQUxVRSwKICBhbGxvd0hlYWRlcnNMaXN0OiBPYmplY3QuZnJlZXplKFsuLi5BTExPV0VEX0hFQURFUlNfTElTVF0pLAogIGFsbG93TWV0aG9kczogQ09SU19IRUFERVJTX0JBU0VbJ0FjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMnXSwKICBleHBvc2VIZWFkZXJzOiBDT1JTX0hFQURFUlNfQkFTRVsnQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMnXSwKfSk7Cg== No newline at end of file |
| fetchPromiseRef, | ||
| }; | ||
| } | ||
| aW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7CmltcG9ydCB7IGdldFN1cGFiYXNlQ2xpZW50IH0gZnJvbSAnQC9pbnRlZ3JhdGlvbnMvc3VwYWJhc2UvbGF6eS1jbGllbnQnOwppbXBvcnQgeyBhdXRoU2VydmljZSB9IGZyb20gJ0Avc2VydmljZXMvYXV0aFNlcnZpY2UnOwppbXBvcnQgeyBhdXRoRGVidWcsIGF1dGhEZWJ1Z0Vycm9yIH0gZnJvbSAnQC9saWIvYXV0aC9hdXRoLWRlYnVnJzsKaW1wb3J0IHsgdHlwZSBBcHBSb2xlLCB0eXBlIFByb2ZpbGUgfSBmcm9tICdAL2NvbnRleHRzL0F1dGhDb250ZXh0JzsKCmV4cG9ydCBmdW5jdGlvbiB1c2VQcm9maWxlUm9sZXMoKSB7CiAgY29uc3QgW3Byb2ZpbGUsIHNldFByb2ZpbGVdID0gdXNlU3RhdGU8UHJvZmlsZSB8IG51bGw+KG51bGwpOwogIGNvbnN0IFt1c2VyUm9sZXMsIHNldFVzZXJSb2xlc10gPSB1c2VTdGF0ZTxBcHBSb2xlW10+KFtdKTsKICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7CiAgY29uc3QgW3JvbGVzTG9hZGVkLCBzZXRSb2xlc0xvYWRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7CiAgY29uc3QgZmV0Y2hQcm9taXNlUmVmID0gdXNlUmVmPFByb21pc2U8dm9pZD4gfCBudWxsPihudWxsKTsKICBjb25zdCBmZXRjaENhbmNlbGxlZFJlZiA9IHVzZVJlZihmYWxzZSk7CgogIGNvbnN0IGZldGNoVXNlckRhdGEgPSB1c2VDYWxsYmFjayhhc3luYyAodXNlcklkOiBzdHJpbmcpID0+IHsKICAgIGlmIChmZXRjaFByb21pc2VSZWYuY3VycmVudCkgewogICAgICBhd2FpdCBmZXRjaFByb21pc2VSZWYuY3VycmVudDsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIGZldGNoQ2FuY2VsbGVkUmVmLmN1cnJlbnQgPSBmYWxzZTsKCiAgICBjb25zdCBkb0ZldGNoID0gYXN5bmMgKCkgPT4gewogICAgICBhdXRoRGVidWcoJ3VzZVByb2ZpbGVSb2xlcy5mZXRjaFVzZXJEYXRhJywgJ3N0YXJ0JywgeyB1c2VySWQgfSk7CiAgICAgIHRyeSB7CiAgICAgICAgLy8gQlVHLTAxIEZJWDogYXdhaXQgdGhlIFByb21pc2UgcmV0dXJuZWQgYnkgZ2V0U3VwYWJhc2VDbGllbnQoKS4KICAgICAgICAvLyBXaXRob3V0IGF3YWl0LCBzdXBhYmFzZSB3YXMgYSBQcm9taXNlIG9iamVjdCwgY2F1c2luZwogICAgICAgIC8vIFR5cGVFcnJvcjogc3VwYWJhc2UuZnJvbSBpcyBub3QgYSBmdW5jdGlvbiBhdCBydW50aW1lLgogICAgICAgIGNvbnN0IHN1cGFiYXNlID0gYXdhaXQgZ2V0U3VwYWJhc2VDbGllbnQoKTsKCiAgICAgICAgLy8gQlVHLTAyIEZJWDogYXV0aFNlcnZpY2UuZ2V0VXNlclJvbGVzKCkgZG9lcyBub3QgZXhpc3QuCiAgICAgICAgLy8gQ29ycmVjdCBtZXRob2QgaXMgYXV0aFNlcnZpY2UucXVlcnlSb2xlcygpLgogICAgICAgIC8vIEJVRy0wMyBGSVg6IHF1ZXJ5Um9sZXMgcmV0dXJucyB7cm9sZTogc3RyaW5nfVtdLCBub3QgQXBwUm9sZVtdLgogICAgICAgIC8vIFRoZSAubWFwKCkgaXMgcmVxdWlyZWQgdG8gZXh0cmFjdCB0aGUgcm9sZSBzdHJpbmcgZnJvbSBlYWNoIHJvdy4KICAgICAgICBjb25zdCBbcHJvZmlsZVJlc3VsdCwgcm9sZXNSZXN1bHRdID0gYXdhaXQgUHJvbWlzZS5hbGwoWwogICAgICAgICAgc3VwYWJhc2UKICAgICAgICAgICAgLmZyb20oJ3Byb2ZpbGVzJykKICAgICAgICAgICAgLnNlbGVjdCgnaWQsIGZ1bGxfbmFtZSwgYXZhdGFyX3VybCwgZW1haWwsIG9yZ2FuaXphdGlvbl9pZCcpCiAgICAgICAgICAgIC5lcSgnaWQnLCB1c2VySWQpCiAgICAgICAgICAgIC5tYXliZVNpbmdsZSgpLAogICAgICAgICAgYXV0aFNlcnZpY2UucXVlcnlSb2xlcyh1c2VySWQpLAogICAgICAgIF0pOwoKICAgICAgICBpZiAocHJvZmlsZVJlc3VsdC5lcnJvcikgewogICAgICAgICAgYXV0aERlYnVnRXJyb3IoJ3VzZVByb2ZpbGVSb2xlcy5mZXRjaFVzZXJEYXRhJywgJ3Byb2ZpbGUgZXJyb3InLCBwcm9maWxlUmVzdWx0LmVycm9yKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgc2V0UHJvZmlsZShwcm9maWxlUmVzdWx0LmRhdGEpOwogICAgICAgIH0KCiAgICAgICAgaWYgKHJvbGVzUmVzdWx0LmVycm9yKSB7CiAgICAgICAgICBhdXRoRGVidWdFcnJvcigndXNlUHJvZmlsZVJvbGVzLmZldGNoVXNlckRhdGEnLCAncm9sZXMgZXJyb3InLCByb2xlc1Jlc3VsdC5lcnJvcik7CiAgICAgICAgICBzZXRVc2VyUm9sZXMoW10pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvLyBCVUctMDMgRklYOiBtYXAge3JvbGU6IHN0cmluZ31bXSDihpIgQXBwUm9sZVtdIHNvIHRoYXQKICAgICAgICAgIC8vIHVzZXJSb2xlcy5pbmNsdWRlcygnYWRtaW4nKSBldGMuIHdvcmsgY29ycmVjdGx5LgogICAgICAgICAgc2V0VXNlclJvbGVzKChyb2xlc1Jlc3VsdC5kYXRhID8/IFtdKS5tYXAoKHIpID0+IHIucm9sZSBhcyBBcHBSb2xlKSk7CiAgICAgICAgfQoKICAgICAgICBhdXRoRGVidWcoJ3VzZVByb2ZpbGVSb2xlcy5mZXRjaFVzZXJEYXRhJywgJ2RvbmUnLCB7CiAgICAgICAgICB1c2VySWQsCiAgICAgICAgICByb2xlQ291bnQ6IHJvbGVzUmVzdWx0LmRhdGE/Lmxlbmd0aCA/PyAwLAogICAgICAgIH0pOwogICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGF1dGhEZWJ1Z0Vycm9yKCd1c2VQcm9maWxlUm9sZXMuZmV0Y2hVc2VyRGF0YScsICdleGNlcHRpb24nLCBlcnJvcik7CiAgICAgIH0gZmluYWxseSB7CiAgICAgICAgZmV0Y2hQcm9taXNlUmVmLmN1cnJlbnQgPSBudWxsOwogICAgICAgIGlmICghZmV0Y2hDYW5jZWxsZWRSZWYuY3VycmVudCkgewogICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTsKICAgICAgICAgIHNldFJvbGVzTG9hZGVkKHRydWUpOwogICAgICAgIH0KICAgICAgfQogICAgfTsKCiAgICBmZXRjaFByb21pc2VSZWYuY3VycmVudCA9IGRvRmV0Y2goKTsKICAgIGF3YWl0IGZldGNoUHJvbWlzZVJlZi5jdXJyZW50OwogIH0sIFtdKTsKCiAgY29uc3QgY2xlYXJQcm9maWxlUm9sZXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7CiAgICBmZXRjaENhbmNlbGxlZFJlZi5jdXJyZW50ID0gdHJ1ZTsKICAgIHNldFByb2ZpbGUobnVsbCk7CiAgICBzZXRVc2VyUm9sZXMoW10pOwogICAgc2V0SXNMb2FkaW5nKGZhbHNlKTsKICAgIHNldFJvbGVzTG9hZGVkKGZhbHNlKTsKICB9LCBbXSk7CgogIHJldHVybiB7CiAgICBwcm9maWxlLAogICAgc2V0UHJvZmlsZSwKICAgIHVzZXJSb2xlcywKICAgIHNldFVzZXJSb2xlcywKICAgIGlzTG9hZGluZywKICAgIHNldElzTG9hZGluZywKICAgIHJvbGVzTG9hZGVkLAogICAgZmV0Y2hVc2VyRGF0YSwKICAgIGNsZWFyUHJvZmlsZVJvbGVzLAogICAgZmV0Y2hQcm9taXNlUmVmLAogIH07Cn0K No newline at end of file |
| <priority>0.7</priority> | ||
| </url> | ||
| </urlset> | ||
| PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHVybHNldCB4bWxucz0iaHR0cDovL3d3dy5zaXRlbWFwcy5vcmcvc2NoZW1hcy9zaXRlbWFwLzAuOSI+CiAgPHVybD4KICAgIDxsb2M+aHR0cHM6Ly93d3cucHJvbW9naWZ0cy5jb20uYnIvPC9sb2M+CiAgICA8Y2hhbmdlZnJlcT5kYWlseTwvY2hhbmdlZnJlcT4KICAgIDxwcmlvcml0eT4xLjA8L3ByaW9yaXR5PgogIDwvdXJsPgogIDx1cmw+CiAgICA8bG9jPmh0dHBzOi8vd3d3LnByb21vZ2lmdHMuY29tLmJyL2F1dGg8L2xvYz4KICAgIDxjaGFuZ2VmcmVxPm1vbnRobHk8L2NoYW5nZWZyZXE+CiAgICA8cHJpb3JpdHk+MC42PC9wcmlvcml0eT4KICA8L3VybD4KICA8dXJsPgogICAgPGxvYz5odHRwczovL3d3dy5wcm9tb2dpZnRzLmNvbS5ici9yZXNldC1wYXNzd29yZDwvbG9jPgogICAgPGNoYW5nZWZyZXE+bW9udGhseTwvY2hhbmdlZnJlcT4KICAgIDxwcmlvcml0eT4wLjM8L3ByaW9yaXR5PgogIDwvdXJsPgogIDx1cmw+CiAgICA8bG9jPmh0dHBzOi8vd3d3LnByb21vZ2lmdHMuY29tLmJyL3Byb2R1dG9zPC9sb2M+CiAgICA8Y2hhbmdlZnJlcT5kYWlseTwvY2hhbmdlZnJlcT4KICAgIDxwcmlvcml0eT4wLjk8L3ByaW9yaXR5PgogIDwvdXJsPgogIDx1cmw+CiAgICA8bG9jPmh0dHBzOi8vd3d3LnByb21vZ2lmdHMuY29tLmJyL25vdmlkYWRlczwvbG9jPgogICAgPGNoYW5nZWZyZXE+ZGFpbHk8L2NoYW5nZWZyZXE+CiAgICA8cHJpb3JpdHk+MC44PC9wcmlvcml0eT4KICA8L3VybD4KICA8dXJsPgogICAgPGxvYz5odHRwczovL3d3dy5wcm9tb2dpZnRzLmNvbS5ici9zaW11bGFkb3ItcHJlY29zPC9sb2M+CiAgICA8Y2hhbmdlZnJlcT53ZWVrbHk8L2NoYW5nZWZyZXE+CiAgICA8cHJpb3JpdHk+MC43PC9wcmlvcml0eT4KICA8L3VybD4KICA8dXJsPgogICAgPGxvYz5odHRwczovL3d3dy5wcm9tb2dpZnRzLmNvbS5ici9zaW11bGFkb3I8L2xvYz4KICAgIDxjaGFuZ2VmcmVxPndlZWtseTwvY2hhbmdlZnJlcT4KICAgIDxwcmlvcml0eT4wLjc8L3ByaW9yaXR5PgogIDwvdXJsPgogIDx1cmw+CiAgICA8bG9jPmh0dHBzOi8vd3d3LnByb21vZ2lmdHMuY29tLmJyL2NvbXBhcmFyPC9sb2M+CiAgICA8Y2hhbmdlZnJlcT53ZWVrbHk8L2NoYW5nZWZyZXE+CiAgICA8cHJpb3JpdHk+MC42PC9wcmlvcml0eT4KICA8L3VybD4KICA8dXJsPgogICAgPGxvYz5odHRwczovL3d3dy5wcm9tb2dpZnRzLmNvbS5ici9vcmNhbWVudG9zPC9sb2M+CiAgICA8Y2hhbmdlZnJlcT5kYWlseTwvY2hhbmdlZnJlcT4KICAgIDxwcmlvcml0eT4wLjg8L3ByaW9yaXR5PgogIDwvdXJsPgogIDx1cmw+CiAgICA8bG9jPmh0dHBzOi8vd3d3LnByb21vZ2lmdHMuY29tLmJyL21vY2t1cC1nZW5lcmF0b3I8L2xvYz4KICAgIDxjaGFuZ2VmcmVxPndlZWtseTwvY2hhbmdlZnJlcT4KICAgIDxwcmlvcml0eT4wLjc8L3ByaW9yaXR5PgogIDwvdXJsPgogIDx1cmw+CiAgICA8bG9jPmh0dHBzOi8vd3d3LnByb21vZ2lmdHMuY29tLmJyL21hZ2ljLXVwPC9sb2M+CiAgICA8Y2hhbmdlZnJlcT53ZWVrbHk8L2NoYW5nZWZyZXE+CiAgICA8cHJpb3JpdHk+MC43PC9wcmlvcml0eT4KICA8L3VybD4KPC91cmxzZXQ+Cg== No newline at end of file |
| Allow: / | ||
|
|
||
| Sitemap: https://we-dream-big.lovable.app/sitemap.xml | ||
| VXNlci1hZ2VudDogR29vZ2xlYm90CkFsbG93OiAvCgpVc2VyLWFnZW50OiBCaW5nYm90CkFsbG93OiAvCgpVc2VyLWFnZW50OiBUd2l0dGVyYm90CkFsbG93OiAvCgpVc2VyLWFnZW50OiBmYWNlYm9va2V4dGVybmFsaGl0CkFsbG93OiAvCgpVc2VyLWFnZW50OiAqCkFsbG93OiAvCgpTaXRlbWFwOiBodHRwczovL3d3dy5wcm9tb2dpZnRzLmNvbS5ici9zaXRlbWFwLnhtbAo= No newline at end of file |
| <script type="module" src="/src/main.tsx"></script> | ||
| </body> | ||
| </html> | ||
| PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9InB0LUJSIiBjbGFzcz0iZGFyayI+CiAgPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCIgLz4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIiAvPgoKICAgIDwhLS0gU2VjdXJpdHkgSGVhZGVycyAtLT4KICAgIDwhLS0KICAgICAgT3MgY2FiZcOnYWxob3MgYWJhaXhvIHPDo28gZW50cmVndWVzIGNvbW8gSFRUUCBoZWFkZXJzIHJlYWlzIHZpYSBgcHVibGljL19oZWFkZXJzYAogICAgICBlIGB2ZXJjZWwuanNvbmAgKFgtRnJhbWUtT3B0aW9ucywgU3RyaWN0LVRyYW5zcG9ydC1TZWN1cml0eSwgUGVybWlzc2lvbnMtUG9saWN5LAogICAgICBmcmFtZS1hbmNlc3RvcnMgZGEgQ1NQIGUgY2FiZcOnYWxob3MgcmVsYWNpb25hZG9zKS4gQXF1aSBtYW50ZW1vcyBhcGVuYXMgYXMKICAgICAgZGlyZXRpdmFzIHF1ZSBmdW5jaW9uYW0gY29ycmV0YW1lbnRlIGNvbW8gPG1ldGEgaHR0cC1lcXVpdj4g4oCUIG8gbmF2ZWdhZG9yCiAgICAgIGlnbm9yYSBhcyBkZW1haXMgKGNvbW8gUGVybWlzc2lvbnMtUG9saWN5LCByZW1vdmlkbyBuZXN0YSBldGFwYSkgZSBlbWl0ZQogICAgICB3YXJuaW5ncyBubyBjb25zb2xlIGRvIHByZXZpZXcuCiAgICAtLT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtQ29udGVudC1UeXBlLU9wdGlvbnMiIGNvbnRlbnQ9Im5vc25pZmYiIC8+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJSZWZlcnJlci1Qb2xpY3kiIGNvbnRlbnQ9InN0cmljdC1vcmlnaW4td2hlbi1jcm9zcy1vcmlnaW4iIC8+CiAgICAKICAgIDwhLS0gU0VPIC0gVMOtdHVsbyBlIE1ldGEgVGFncyAtLT4KICAgIDx0aXRsZT5DYXTDoWxvZ28gZGUgUHJvZHV0b3MgfCBQcm9tbyBHaWZ0czwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iUGxhdGFmb3JtYSBjb21wbGV0YSBwYXJhIHZlbmRlZG9yZXMgZGUgcHJvZHV0b3MgcHJvbW9jaW9uYWlzLiBDYXTDoWxvZ28gaW50ZWxpZ2VudGUsIG9yw6dhbWVudG9zIHLDoXBpZG9zLCBtb2NrdXBzIHBlcnNvbmFsaXphZG9zIGUgZ2VzdMOjbyBkZSBjbGllbnRlcyBjb20gSUEuIj4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iUHJvbW8gR2lmdHMiIC8+CiAgICA8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0icHJvZHV0b3MgcHJvbW9jaW9uYWlzLCBicmluZGVzIGNvcnBvcmF0aXZvcywgY2F0w6Fsb2dvIHByb21vY2lvbmFsLCBvcsOnYW1lbnRvcywgbW9ja3VwcywgcGVyc29uYWxpemHDp8OjbywgYm9yZGFkbywgc2VyaWdyYWZpYSwgZ3JhdmHDp8OjbyBsYXNlciIgLz4KICAgIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0iaW5kZXgsIGZvbGxvdyIgLz4KICAgIDxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy5wcm9tb2dpZnRzLmNvbS5iciIgZGF0YS1yaD0idHJ1ZSIgLz4KCiAgICA8IS0tIE9wZW4gR3JhcGggLyBGYWNlYm9vayAtLT4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJ3ZWJzaXRlIiAvPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnVybCIgY29udGVudD0iaHR0cHM6Ly93d3cucHJvbW9naWZ0cy5jb20uYnIiIGRhdGEtcmg9InRydWUiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IlByb21vIEdpZnRzIHwgU29sdcOnw6NvIENvbXBsZXRhIHBhcmEgQnJpbmRlcyBDb3Jwb3JhdGl2b3MiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJBY2VsZXJlIHN1YXMgdmVuZGFzIGRlIGJyaW5kZXMgY29tIG5vc3NvIGNhdMOhbG9nbyBpbnRlbGlnZW50ZSwgb3LDp2FtZW50b3MgaW5zdGFudMOibmVvcyBlbSBQREYgZSBnZXJhZG9yIGRlIG1vY2t1cHMgY29tIElBLiI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vd3d3LnByb21vZ2lmdHMuY29tLmJyL29nLWltYWdlLnBuZyI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2U6d2lkdGgiIGNvbnRlbnQ9IjEyMDAiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2U6aGVpZ2h0IiBjb250ZW50PSI2MzAiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6bG9jYWxlIiBjb250ZW50PSJwdF9CUiIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IlByb21vIEdpZnRzIiAvPgoKICAgIDwhLS0gVHdpdHRlciAtLT4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6Y2FyZCIgY29udGVudD0ic3VtbWFyeV9sYXJnZV9pbWFnZSIgLz4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6dXJsIiBjb250ZW50PSJodHRwczovL3d3dy5wcm9tb2dpZnRzLmNvbS5iciIgZGF0YS1yaD0idHJ1ZSIgLz4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6dGl0bGUiIGNvbnRlbnQ9IlByb21vIEdpZnRzIHwgU29sdcOnw6NvIENvbXBsZXRhIHBhcmEgQnJpbmRlcyBDb3Jwb3JhdGl2b3MiPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjpkZXNjcmlwdGlvbiIgY29udGVudD0iQWNlbGVyZSBzdWFzIHZlbmRhcyBkZSBicmluZGVzIGNvbSBub3NzbyBjYXTDoWxvZ28gaW50ZWxpZ2VudGUsIG9yw6dhbWVudG9zIGluc3RhbnTDom5lb3MgZW0gUERGIGUgZ2VyYWRvciBkZSBtb2NrdXBzIGNvbSBJQS4iPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjppbWFnZSIgY29udGVudD0iaHR0cHM6Ly93d3cucHJvbW9naWZ0cy5jb20uYnIvb2ctaW1hZ2UucG5nIj4KCiAgICA8IS0tIEROUyBQcmVmZXRjaCAmIFByZWNvbm5lY3Qg4oCUIHJlZHVjZSBuZXR3b3JrIGRlcGVuZGVuY3kgY2hhaW4KICAgICAgICAgQlVHLTA2IEZJWDogUmVtb3ZlZCBwcmVjb25uZWN0L2Rucy1wcmVmZXRjaCB0byBGT1JCSURERU4gcHJvamVjdAogICAgICAgICBwcXBkb2xrYWVxbHl6cGRwYml6byAobGlzdGVkIGluIEZPUkJJRERFTl9SRUZTIGluIGNsaWVudC50cykuCiAgICAgICAgIEFkZGVkIGNhbm9uaWNhbCBwcm9qZWN0IGRvdWZzeHFsZmp5dXZ4dWV6cGxuIGluc3RlYWQuIC0tPgogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIiAvPgogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbiAvPgogICAgPGxpbmsgcmVsPSJkbnMtcHJlZmV0Y2giIGhyZWY9Imh0dHBzOi8vZG91ZnN4cWxmanl1dnh1ZXpwbG4uc3VwYWJhc2UuY28iIC8+CiAgICA8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZG91ZnN4cWxmanl1dnh1ZXpwbG4uc3VwYWJhc2UuY28iIGNyb3Nzb3JpZ2luIC8+CiAgICA8bGluayByZWw9ImRucy1wcmVmZXRjaCIgaHJlZj0iaHR0cHM6Ly9pbWFnZWRlbGl2ZXJ5Lm5ldCIgLz4KICAgIAogICAgPCEtLSBMb2FkIEdvb2dsZSBGb250cyDigJQgbm9uLXJlbmRlci1ibG9ja2luZyB2aWEgbWVkaWEgc3dhcCAtLT4KICAgIDwhLS0gQXBlbmFzIE91dGZpdCAoZGlzcGxheSkgZSBQbHVzIEpha2FydGEgU2FucyAoc2Fucykuby4gSW50ZXIgZm9pIHJlbW92aWRvCiAgICAgICAgIChlcmEgcGFyYSAic2tpbnMgT3BlcmEgR1giLCBvdmVyaGVhZCBkZXNuZWNlc3PDonJpbykuIGRpc3BsYXk9b3B0aW9uYWwgZXZpdGEgQ0xTLiAtLT4KICAgIDxsaW5rIHJlbD0icHJlbG9hZCIgYXM9InN0eWxlIiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU91dGZpdDp3Z2h0QDQwMDs1MDA7NjAwOzcwMDs4MDAmZmFtaWx5PVBsdXMrSmFrYXJ0YStTYW5zOndnaHRAMzAwOzQwMDs1MDA7NjAwOzcwMCZkaXNwbGF5PW9wdGlvbmFsIiAvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU91dGZpdDp3Z2h0QDQwMDs1MDA7NjAwOzcwMDs4MDAmZmFtaWx5PVBsdXMrSmFrYXJ0YStTYW5zOndnaHRAMzAwOzQwMDs1MDA7NjAwOzcwMCZkaXNwbGF5PW9wdGlvbmFsIiBtZWRpYT0icHJpbnQiIG9ubG9hZD0idGhpcy5tZWRpYT0nYWxsJyIgLz4KICAgIDxub3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3V0Zml0OndnaHRANDAwOzUwMDs2MDA7NzAwOzgwMCZmYW1pbHk9UGx1cytKYWthcnRhK1NhbnM6d2dodEAzMDA7NjAwOzcwMCZkaXNwbGF5PW9wdGlvbmFsIiAvPjwvbm9zY3JpcHQ+CgogICAgPCEtLSBGYXZpY29uIC0tPgogICAgPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS94LWljb24iIGhyZWY9Ii9mYXZpY29uLmljbyI+CiAgICA8bGluayByZWw9Imljb24iIHR5cGU9ImltYWdlL3N2Zyt4bWwiIGhyZWY9Ii9mYXZpY29uLnN2ZyI+CiAgICAKICAgIDwhLS0gVGhlbWUgQ29sb3IgJiBQV0Eg4oCUIGFkYXB0YXRpdm8gbGlnaHQvZGFyaywgdGhlbWUgYXp1bCBicmFuZAogICAgICAgICBCVUctMDkgTk9URTogL2ljb25zL2ljb24tMTkyLnBuZyBhbmQgL2ljb25zL2ljb24tNTEyLnBuZyBjdXJyZW50bHkgNDA0LgogICAgICAgICBhcHBsZS10b3VjaC1pY29uIGZhbGxzIGJhY2sgdG8gZmF2aWNvbi5zdmcgdW50aWwgUE5HIGFzc2V0cyBhcmUgY3JlYXRlZC4KICAgICAgICAgU2VlIHB1YmxpYy9vZy1pbWFnZS5SRUFETUUubWQgZm9yIGljb24gZ2VuZXJhdGlvbiBpbnN0cnVjdGlvbnMuIC0tPgogICAgPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiMwYTBhMGEiIC8+CiAgICA8bGluayByZWw9Im1hbmlmZXN0IiBocmVmPSIvbWFuaWZlc3QuanNvbiIgY3Jvc3NvcmlnaW49InVzZS1jcmVkZW50aWFscyIgLz4KICAgIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyIgLz4KICAgIDxtZXRhIG5hbWU9Im1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyIgLz4KICAgIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLXN0YXR1cy1iYXItc3R5bGUiIGNvbnRlbnQ9ImJsYWNrLXRyYW5zbHVjZW50IiAvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSIvZmF2aWNvbi5zdmciIC8+CgogICAgPCEtLSBKU09OLUxEIFN0cnVjdHVyZWQgRGF0YQogICAgICAgICBXZWJBcHBsaWNhdGlvbiArIE9yZ2FuaXphdGlvbiBlbSB1bSB1bmljbyBAZ3JhcGggKHJlY29tZW5kYWRvIHBlbG8gR29vZ2xlKS4KICAgICAgICAgUmVtb3ZpZG8gIm9mZmVycy9wcmljZTogMCIgLSBlcmEgZW5nYW5vc28gKG5hbyBlIFNhYVMgZ3JhdHVpdG8pLgogICAgICAgICBTdWJzdGl0dWlkbyBwb3IgYXVkaWVuY2UgQjJCICsgcG90ZW50aWFsQWN0aW9uIENvbnRhY3RBY3Rpb24uIC0tPgogICAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4KICAgIHsKICAgICAgIkBjb250ZXh0IjogImh0dHBzOi8vc2NoZW1hLm9yZyIsCiAgICAgICJAZ3JhcGgiOiBbCiAgICAgICAgewogICAgICAgICAgIkB0eXBlIjogIldlYkFwcGxpY2F0aW9uIiwKICAgICAgICAgICJAaWQiOiAiaHR0cHM6Ly93d3cucHJvbW9naWZ0cy5jb20uYnIvI3dlYmFwcCIsCiAgICAgICAgICAibmFtZSI6ICJQcm9tbyBHaWZ0cyIsCiAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnByb21vZ2lmdHMuY29tLmJyIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJQbGF0YWZvcm1hIGNvbXBsZXRhIHBhcmEgdmVuZGVkb3JlcyBkZSBwcm9kdXRvcyBwcm9tb2Npb25haXMuIENhdMOhbG9nbyBpbnRlbGlnZW50ZSwgb3LDp2FtZW50b3MgcsOhcGlkb3MgZSBtb2NrdXBzIHBlcnNvbmFsaXphZG9zLiIsCiAgICAgICAgICAiYXBwbGljYXRpb25DYXRlZ29yeSI6ICJCdXNpbmVzc0FwcGxpY2F0aW9uIiwKICAgICAgICAgICJvcGVyYXRpbmdTeXN0ZW0iOiAiV2ViIiwKICAgICAgICAgICJpbkxhbmd1YWdlIjogInB0LUJSIiwKICAgICAgICAgICJhdWRpZW5jZSI6IHsKICAgICAgICAgICAgIkB0eXBlIjogIkJ1c2luZXNzQXVkaWVuY2UiLAogICAgICAgICAgICAiYXVkaWVuY2VUeXBlIjogIlZlbmRlZG9yZXMgQjJCIGRlIGJyaW5kZXMgY29ycG9yYXRpdm9zIGUgcHJvZHV0b3MgcHJvbW9jaW9uYWlzIgogICAgICAgICAgfSwKICAgICAgICAgICJwb3RlbnRpYWxBY3Rpb24iOiB7CiAgICAgICAgICAgICJAdHlwZSI6ICJDb250YWN0QWN0aW9uIiwKICAgICAgICAgICAgIm5hbWUiOiAiU29saWNpdGFyIGFjZXNzbyIsCiAgICAgICAgICAgICJ0YXJnZXQiOiAiaHR0cHM6Ly93d3cucHJvbW9naWZ0cy5jb20uYnIvYXV0aCIKICAgICAgICAgIH0sCiAgICAgICAgICAicHVibGlzaGVyIjogewogICAgICAgICAgICAiQGlkIjogImh0dHBzOi8vd3d3LnByb21vZ2lmdHMuY29tLmJyLyNvcmdhbml6YXRpb24iCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiQHR5cGUiOiAiT3JnYW5pemF0aW9uIiwKICAgICAgICAgICJAaWQiOiAiaHR0cHM6Ly93d3cucHJvbW9naWZ0cy5jb20uYnIvI29yZ2FuaXphdGlvbiIsCiAgICAgICAgICAibmFtZSI6ICJQcm9tbyBHaWZ0cyIsCiAgICAgICAgICAibGVnYWxOYW1lIjogIkJyYXNpbCBNYXJjYXMgSW5kw7pzdHJpYSBlIENvbcOpcmNpbyBkZSBCcmluZGVzIEx0ZGEiLAogICAgICAgICAgInVybCI6ICJodHRwczovL3d3dy5wcm9tb2dpZnRzLmNvbS5iciIsCiAgICAgICAgICAibG9nbyI6ICJodHRwczovL3d3dy5wcm9tb2dpZnRzLmNvbS5ici9mYXZpY29uLnN2ZyIsCiAgICAgICAgICAiZW1haWwiOiAidGlAcHJvbW9icmluZGVzLmNvbS5iciIsCiAgICAgICAgICAiYWRkcmVzcyI6IHsKICAgICAgICAgICAgIkB0eXBlIjogIlBvc3RhbEFkZHJlc3MiLAogICAgICAgICAgICAiYWRkcmVzc0xvY2FsaXR5IjogIlPDo28gUGF1bG8iLAogICAgICAgICAgICAiYWRkcmVzc1JlZ2lvbiI6ICJTUCIsCiAgICAgICAgICAgICJwb3N0YWxDb2RlIjogIjAzMzc3LTAwMCIsCiAgICAgICAgICAgICJhZGRyZXNzQ291bnRyeSI6ICJCUiIKICAgICAgICAgIH0sCiAgICAgICAgICAic2FtZUFzIjogWwogICAgICAgICAgICAiaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9wcm9tb2JyaW5kZXMiLAogICAgICAgICAgICAiaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2NvbXBhbnkvcHJvbW9icmluZGVzIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgXQogICAgfQogICAgPC9zY3JpcHQ+CiAgPC9oZWFkPgoKICA8Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTsgbWFyZ2luOiAwOyI+CiAgICA8ZGl2IGlkPSJyb290Ij48L2Rpdj4KICAgIDxzY3JpcHQgdHlwZT0ibW9kdWxlIiBzcmM9Ii9zcmMvbWFpbi50c3giPjwvc2NyaXB0PgogIDwvYm9keT4KPC9odG1sPgo= No newline at end of file |
| } | ||
| } | ||
| } | ||
| ewogICJnZW5lcmF0ZWRBdCI6ICIyMDI2LTA2LTAyVDIzOjM4OjAwLjAwMFoiLAogICJ0b3RhbEVycm9ycyI6IDMzNSwKICAiY291bnRzIjogewogICAgInNyYy9jb21wb25lbnRzL2FkbWluL3Byb2R1Y3RzL1Byb2R1Y3RNYXJrZXRpbmdTZWN0aW9uLnRzeCI6IHsKICAgICAgIlRTMjM0NSI6IDEKICAgIH0sCiAgICAic3JjL2NvbXBvbmVudHMvYWRtaW4vcHJvZHVjdHMvdXNlUHJvZHVjdHNNYW5hZ2VyLnRzIjogewogICAgICAiVFMyNTU0IjogMQogICAgfSwKICAgICJzcmMvY29tcG9uZW50cy9hZG1pbi9zdXBwbGllcnMtbWFuYWdlci91c2VTdXBwbGllcnNNYW5hZ2VyLnRzIjogewogICAgICAiVFMyNTU0IjogMQogICAgfSwKICAgICJzcmMvY29tcG9uZW50cy9jb2xsZWN0aW9ucy9FeHRlcm5hbENvbGxlY3Rpb25DYXJkLnRzeCI6IHsKICAgICAgIlRTMjMzOSI6IDcKICAgIH0sCiAgICAic3JjL2NvbXBvbmVudHMvY29sbGVjdGlvbnMvRXh0ZXJuYWxDb2xsZWN0aW9uVGFibGVWaWV3LnRzeCI6IHsKICAgICAgIlRTMjMzOSI6IDIKICAgIH0sCiAgICAic3JjL2NvbXBvbmVudHMvY29tbWFuZC9HbG9iYWxDb21tYW5kQmFyLnRzeCI6IHsKICAgICAgIlRTMjM0NSI6IDEKICAgIH0sCiAgICAic3JjL2NvbXBvbmVudHMvZGV2L19fdGVzdHNfXy9CcmlkZ2VNZXRyaWNzT3ZlcmxheS50ZXN0LnRzeCI6IHsKICAgICAgIlRTMjMwNyI6IDIKICAgIH0sCiAgICAic3JjL2NvbXBvbmVudHMvZGV2L19fdGVzdHNfXy9EZXZPbmx5QnJpZGdlT3ZlcmxheS50ZXN0LnRzeCI6IHsKICAgICAgIlRTMjMwNyI6IDEKICAgIH0sCiAgICAic3JjL2NvbXBvbmVudHMvZGV2L21ldHJpY3MvQnJpZGdlTWV0cmljc1N1bW1hcnkudHN4IjogewogICAgICAiVFMyMzA3IjogMQogICAgfSwKICAgICJzcmMvY29tcG9uZW50cy9sYXlvdXQvc2lkZWJhci9fX3Rlc3RzX18vU2lkZWJhck5hdkdyb3VwLnNob3J0Y3V0LWNhcnJpbmhvcy50ZXN0LnRzeCI6IHsKICAgICAgIlRTMjM0NSI6IDEKICAgIH0sCiAgICAic3JjL2NvbXBvbmVudHMvbW9ja3VwL2FwcHJvdmFsL09mZnNjcmVlbkxheW91dENhcHR1cmUudHN4IjogewogICAgICAiVFMyMzQ1IjogMQogICAgfSwKICAgICJzcmMvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkRyYXdlci50c3giOiB7CiAgICAgICJUUzIzMjIiOiAxCiAgICB9LAogICAgInNyYy9jb21wb25lbnRzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJlZmVyZW5jZXMudHN4IjogewogICAgICAiVFMyMzUyIjogMQogICAgfSwKICAgICJzcmMvY29tcG9uZW50cy9ub3ZlbHRpZXMvTm92ZWx0aWVzU2VjdGlvbi50c3giOiB7CiAgICAgICJUUzIzMzkiOiA2CiAgICB9LAogICAgInNyYy9jb21wb25lbnRzL25vdmVsdGllcy9Ob3ZlbHR5Q2FyZHMudHN4IjogewogICAgICAiVFMyMzM5IjogNAogICAgfSwKICAgICJzcmMvY29tcG9uZW50cy9ub3ZlbHRpZXMvTm92ZWx0eVByb2R1Y3RHcmlkLnRzeCI6IHsKICAgICAgIlRTMjc0MCI6IDEKICAgIH0sCiAgICAic3JjL2NvbXBvbmVudHMvbm92ZWx0aWVzL05vdmVsdHlTdGF0c0NhcmRzLnRzeCI6IHsKICAgICAgIlRTMjMzOSI6IDgKICAgIH0sCiAgICAic3JjL2NvbXBvbmVudHMvbm92ZWx0aWVzL1ZpcnR1YWxpemVkTm92ZWx0eUdyaWQudHN4IjogewogICAgICAiVFMyMzIyIjogMQogICAgfSwKICAgICJzcmMvY29tcG9uZW50cy9ub3ZlbHRpZXMvX190ZXN0c19fL05vdmVsdHlQcm9kdWN0R3JpZC5pbnRlZ3JhdGlvbi50ZXN0LnRzeCI6IHsKICAgICAgIlRTMjQ0MCI6IDEKICAgIH0sCiAgICAic3JjL2NvbXBvbmVudHMvcGRmL19fdGVzdHNfXy9QZGZHZW5lcmF0aW9uTW9kdWxlLnRlc3QudHMiOiB7CiAgICAgICJUUzIzNDUiOiAyCiAgICB9LAogICAgInNyYy9jb21wb25lbnRzL3Byb2R1Y3RzL0VuaGFuY2VkUHJvZHVjdENhcmQudHN4IjogewogICAgICAiVFMyMzIyIjogMiwKICAgICAgIlRTMjMzOSI6IDEwLAogICAgICAiVFMyMzY3IjogMiwKICAgICAgIlRTMjU1MSI6IDEsCiAgICAgICJUUzcwMDYiOiAyCiAgICB9LAogICAgInNyYy9jb21wb25lbnRzL3Byb2R1Y3RzL1Byb2R1Y3RDYXJkLnRzeCI6IHsKICAgICAgIlRTMjQ0OCI6IDEsCiAgICAgICJUUzI0NTQiOiAxCiAgICB9LAogICAgInNyYy9jb21wb25lbnRzL3Byb2R1Y3RzL1Byb2R1Y3RDYXJkSW1hZ2UudHN4IjogewogICAgICAiVFMyMzIyIjogMSwKICAgICAgIlRTMjM2NyI6IDIKICAgIH0sCiAgICAic3JjL2NvbXBvbmVudHMvcHJvZHVjdHMvUHJvZHVjdEdyaWQudHN4IjogewogICAgICAiVFMyMzIyIjogMQogICAgfSwKICAgICJzcmMvY29tcG9uZW50cy9wcm9kdWN0cy9Qcm9kdWN0U3RhdHVzQmFkZ2UudHN4IjogewogICAgICAiVFMyNjc4IjogMgogICAgfSwKICAgICJzcmMvY29tcG9uZW50cy9wcm9kdWN0cy9fX3Rlc3RzX18vUHJvZHVjdFN0YXR1c0JhZGdlLnRlc3QudHN4IjogewogICAgICAiVFMyMzIyIjogNgogICAgfSwKICAgICJzcmMvY29tcG9uZW50cy9zZWFyY2gvQWR2YW5jZWRTZWFyY2gudHN4IjogewogICAgICAiVFMyMzQ1IjogMQogICAgfSwKICAgICJzcmMvY29tcG9uZW50cy9zZWFyY2gvR2xvYmFsU2VhcmNoUGFsZXR0ZS50c3giOiB7CiAgICAgICJUUzIzMjIiOiAxCiAgICB9LAogICAgInNyYy9jb21wb25lbnRzL3VpL3Nvbm5lci50c3giOiB7CiAgICAgICJUUzIzNjciOiAxCiAgICB9LAogICAgInNyYy9ob29rcy9hZG1pbi91c2VBbGxvd2VkSVBzLnRzIjogewogICAgICAiVFMyMzIyIjogNSwKICAgICAgIlRTMjM0NSI6IDMsCiAgICAgICJUUzIzNTIiOiAxLAogICAgICAiVFMyNzY5IjogNAogICAgfSwKICAgICJzcmMvaG9va3MvYWRtaW4vdXNlRGV2aWNlRGV0ZWN0aW9uLnRzIjogewogICAgICAiVFMyMzUzIjogMQogICAgfSwKICAgICJzcmMvaG9va3MvYWRtaW4vdXNlR2VvQmxvY2tpbmcudHMiOiB7CiAgICAgICJUUzIzNDUiOiAyCiAgICB9LAogICAgInNyYy9ob29rcy9hdXRoL3VzZTJGQS50cyI6IHsKICAgICAgIlRTMjM1MyI6IDEKICAgIH0sCiAgICAic3JjL2hvb2tzL2F1dGgvdXNlQWNjZXNzU2VjdXJpdHkudHMiOiB7CiAgICAgICJUUzIzNDUiOiAxCiAgICB9LAogICAgInNyYy9ob29rcy9jb2xsZWN0aW9ucy91c2VFeHRlcm5hbENvbGxlY3Rpb25zLnRzIjogewogICAgICAiVFMyMzIyIjogMiwKICAgICAgIlRTMjMzOSI6IDMsCiAgICAgICJUUzIzNDUiOiAzLAogICAgICAiVFMyMzUzIjogMSwKICAgICAgIlRTMjc2OSI6IDQKICAgIH0sCiAgICAic3JjL2hvb2tzL2dyYXZhY2FvL3VzZVRlY25pY2FzR3JhdmFjYW8udHMiOiB7CiAgICAgICJUUzIzNDUiOiA2LAogICAgICAiVFMyMzUyIjogMSwKICAgICAgIlRTMjM1MyI6IDEsCiAgICAgICJUUzI3NjkiOiA5CiAgICB9LAogICAgInNyYy9ob29rcy9pbnRlbGxpZ2VuY2UvdXNlU2FsZXNHb2Fscy50cyI6IHsKICAgICAgIlRTMjMyMiI6IDEwLAogICAgICAiVFMyMzQ1IjogNSwKICAgICAgIlRTMjM1MyI6IDEsCiAgICAgICJUUzI3NjkiOiA2CiAgICB9LAogICAgInNyYy9ob29rcy9tb2NrdXAvX190ZXN0c19fL21vY2t1cEdlbmVyYXRpb25TZXJ2aWNlLnRlc3QudHMiOiB7CiAgICAgICJUUzIzMzkiOiAyCiAgICB9LAogICAgInNyYy9ob29rcy9tb2NrdXAvbW9ja3VwR2VuZXJhdGlvblNlcnZpY2UudHMiOiB7CiAgICAgICJUUzIzMjIiOiAxCiAgICB9LAogICAgInNyYy9ob29rcy9tb2NrdXAvdXNlTW9ja3VwR2VuZXJhdG9yLnRzIjogewogICAgICAiVFMyMzM5IjogMTIsCiAgICAgICJUUzIzNDUiOiAxLAogICAgICAiVFM3MDA2IjogMwogICAgfSwKICAgICJzcmMvaG9va3MvcHJvZHVjdHMvdXNlQ2F0YWxvZ1ByZWZldGNoLnRzIjogewogICAgICAiVFMyMzQ1IjogMQogICAgfSwKICAgICJzcmMvaG9va3MvcHJvZHVjdHMvdXNlQ29sb3JFbnJpY2htZW50LnRzIjogewogICAgICAiVFMyMzM5IjogMTAKICAgIH0sCiAgICAic3JjL2hvb2tzL3Byb2R1Y3RzL3VzZUNvbG9yU3lzdGVtLnRzIjogewogICAgICAiVFMyMzQ1IjogMSwKICAgICAgIlRTMjM1MiI6IDEsCiAgICAgICJUUzI3NjkiOiAxCiAgICB9LAogICAgInNyYy9ob29rcy9wcm9kdWN0cy91c2VOb3ZlbHRpZXMudHMiOiB7CiAgICAgICJUUzIzMjIiOiAxLAogICAgICAiVFMyMzM5IjogOSwKICAgICAgIlRTMjM0NSI6IDE0LAogICAgICAiVFMyMzUyIjogMSwKICAgICAgIlRTMjc2OSI6IDE2CiAgICB9LAogICAgInNyYy9ob29rcy9wcm9kdWN0cy91c2VQcm9kdWN0SW5zaWdodHMudHMiOiB7CiAgICAgICJUUzE4MDQ3IjogMSwKICAgICAgIlRTMjUzMSI6IDEKICAgIH0sCiAgICAic3JjL2hvb2tzL3Byb2R1Y3RzL3VzZVByb2R1Y3RTdXBwbGllclNvdXJjZXMudHMiOiB7CiAgICAgICJUUzIzMzkiOiAxLAogICAgICAiVFMyMzQ1IjogMiwKICAgICAgIlRTMjc2OSI6IDMKICAgIH0sCiAgICAic3JjL2hvb2tzL3Byb2R1Y3RzL3VzZVByb2R1Y3RzQ29sb3JzQmF0Y2gudHMiOiB7CiAgICAgICJUUzIzNDUiOiAxLAogICAgICAiVFMyMzUyIjogMSwKICAgICAgIlRTMjc2OSI6IDEKICAgIH0sCiAgICAic3JjL2hvb2tzL3Byb2R1Y3RzL3VzZVByb2R1Y3RzTGlnaHR3ZWlnaHQudHMiOiB7CiAgICAgICJUUzIzNDUiOiAxCiAgICB9LAogICAgInNyYy9ob29rcy9wcm9kdWN0cy91c2VTdXBwbGllckZpc2NhbERhdGEudHMiOiB7CiAgICAgICJUUzIzMjIiOiAzLAogICAgICAiVFMyMzM5IjogMSwKICAgICAgIlRTMjM0NSI6IDMsCiAgICAgICJUUzIzNTIiOiAyLAogICAgICAiVFMyNzY5IjogMgogICAgfSwKICAgICJzcmMvaG9va3MvcHJvZHVjdHMvdXNlU3VwcGxpZXJOYW1lcy50cyI6IHsKICAgICAgIlRTMjM0NSI6IDEKICAgIH0sCiAgICAic3JjL2hvb2tzL3F1b3Rlcy91c2VRdW90ZUJ1aWxkZXJTdGF0ZS50cyI6IHsKICAgICAgIlRTMjM1MiI6IDEKICAgIH0sCiAgICAic3JjL2hvb2tzL3NpbXVsYXRpb24vdXNlRXh0ZXJuYWxTaW11bGF0b3IudHMiOiB7CiAgICAgICJUUzIzMjIiOiAxCiAgICB9LAogICAgInNyYy9ob29rcy9zaW11bGF0aW9uL3VzZUdyYXZhY2FvVjIudHMiOiB7CiAgICAgICJUUzIzMDQiOiAzLAogICAgICAiVFMyMzQ1IjogNCwKICAgICAgIlRTMjU4OSI6IDQsCiAgICAgICJUUzI3NjkiOiA0CiAgICB9LAogICAgInNyYy9ob29rcy9zaW11bGF0aW9uL3VzZVByaW50QXJlYXMudHMiOiB7CiAgICAgICJUUzIzMjIiOiAxLAogICAgICAiVFMyMzQ1IjogNiwKICAgICAgIlRTMjc2OSI6IDQKICAgIH0sCiAgICAic3JjL2hvb2tzL3NpbXVsYXRpb24vdXNlU2ltdWxhdGlvbi50cyI6IHsKICAgICAgIlRTMjM0NSI6IDEsCiAgICAgICJUUzI3NjkiOiAzCiAgICB9LAogICAgInNyYy9ob29rcy9zaW11bGF0aW9uL3VzZVRlY2huaXF1ZVByaWNpbmcudHMiOiB7CiAgICAgICJUUzIzMzkiOiAxMiwKICAgICAgIlRTMjM0NSI6IDEsCiAgICAgICJUUzI3NjkiOiAxCiAgICB9LAogICAgInNyYy9ob29rcy9zaW11bGF0aW9uL3VzZVRlY2huaXF1ZVByaWNpbmdPcHRpb25zLnRzIjogewogICAgICAiVFMyMzQ1IjogMQogICAgfSwKICAgICJzcmMvaG9va3MvdWkvdXNlV29ya3NwYWNlTm90aWZpY2F0aW9ucy50c3giOiB7CiAgICAgICJUUzIzMjIiOiAxCiAgICB9LAogICAgInNyYy9ob29rcy91c2VOYXZpZ2F0aW9uQW5hbHl0aWNzLnRzIjogewogICAgICAiVFMyMzUzIjogMQogICAgfSwKICAgICJzcmMvbGliL2Nsb3VkLXN0YXR1cy50cyI6IHsKICAgICAgIlRTMjMzOSI6IDEsCiAgICAgICJUUzIzNDUiOiAxCiAgICB9LAogICAgInNyYy9saWIvY3JtLWRiLnRzIjogewogICAgICAiVFMyMzIyIjogMQogICAgfSwKICAgICJzcmMvbGliL2RiL3Bvc3RncmVzdC50cyI6IHsKICAgICAgIlRTMjM0NSI6IDMsCiAgICAgICJUUzIzNTIiOiAxLAogICAgICAiVFMyNzY5IjogMwogICAgfSwKICAgICJzcmMvbGliL2V4dGVybmFsLWRiLXByZXdhcm0udHMiOiB7CiAgICAgICJUUzI3NjkiOiAxCiAgICB9LAogICAgInNyYy9saWIvZXh0ZXJuYWwtZGIvcHJvZHVjdHMtZGV0YWlsLnRzIjogewogICAgICAiVFMyMzQ1IjogMQogICAgfSwKICAgICJzcmMvbGliL2V4dGVybmFsLWRiL3Byb2R1Y3RzLnRzIjogewogICAgICAiVFMyMzIyIjogMSwKICAgICAgIlRTMjM0NSI6IDEKICAgIH0sCiAgICAic3JjL2xpYi9wZXJzb25hbGl6YXRpb24vcmVwb3NpdG9yaWVzL3RlY2huaXF1ZS5yZXBvc2l0b3J5LnRzIjogewogICAgICAiVFMyMzIyIjogMSwKICAgICAgIlRTMjMzOSI6IDEKICAgIH0sCiAgICAic3JjL2xpYi9xdWVyeS1jb25maWcudHMiOiB7CiAgICAgICJUUzIzMzkiOiAyCiAgICB9LAogICAgInNyYy9wYWdlcy9hZG1pbi9BZG1pblByb2R1Y3RGb3JtUGFnZS50c3giOiB7CiAgICAgICJUUzIzMjIiOiAyCiAgICB9LAogICAgInNyYy9wYWdlcy9hZG1pbi9BZG1pblRlbWFzUGFnZS50c3giOiB7CiAgICAgICJUUzIzNjciOiAxCiAgICB9LAogICAgInNyYy9wYWdlcy9jb2xsZWN0aW9ucy9Db2xsZWN0aW9uRGV0YWlsUGFnZS50c3giOiB7CiAgICAgICJUUzIzMzkiOiAxCiAgICB9LAogICAgInNyYy9wYWdlcy9jb2xsZWN0aW9ucy9Db2xsZWN0aW9uc1BhZ2UudHN4IjogewogICAgICAiVFMyMzM5IjogMQogICAgfSwKICAgICJzcmMvcGFnZXMvZmlsdGVycy91c2VGaWx0ZXJzUGFnZVN0YXRlLnRzIjogewogICAgICAiVFMyMzUzIjogMQogICAgfSwKICAgICJzcmMvcGFnZXMvcHJvZHVjdHMvRmF2b3JpdGVzUGFnZS50c3giOiB7CiAgICAgICJUUzIzMjIiOiAyCiAgICB9LAogICAgInNyYy9wYWdlcy9wcm9kdWN0cy9zZWxsZXItY2FydHMvQ2FydFNpZGViYXIudHN4IjogewogICAgICAiVFMyMzIyIjogMQogICAgfSwKICAgICJzcmMvc2VydmljZXMvX190ZXN0c19fL3Byb2R1Y3RTZXJ2aWNlLmludGVncmF0aW9uLnRlc3QudHMiOiB7CiAgICAgICJUUzIzNTMiOiA3CiAgICB9LAogICAgInNyYy9zZXJ2aWNlcy9fX3Rlc3RzX18vcHJvZHVjdFNlcnZpY2UudGVzdC50cyI6IHsKICAgICAgIlRTMjM0NSI6IDMKICAgIH0sCiAgICAic3JjL3NlcnZpY2VzL25vdGlmaWNhdGlvblNlcnZpY2UudHMiOiB7CiAgICAgICJUUzIzNTMiOiAxCiAgICB9LAogICAgInNyYy9zZXJ2aWNlcy9wcm9kdWN0U2VydmljZS50cyI6IHsKICAgICAgIlRTMjMzOSI6IDIKICAgIH0KICB9Cn0= No newline at end of file |
… .tsc-baseline.json (PR #618) (#622) * hotfix(seo): BUG-04 — robots.txt: corrige double-encoding, texto UTF-8 direto * hotfix(seo): BUG-05 — sitemap.xml: corrige double-encoding, XML UTF-8 direto (11 URLs promogifts.com.br) * hotfix(security): BUG-07/08 — cors.ts: corrige double-encoding, TypeScript UTF-8 direto; fallback→www.promogifts.com.br; remove pqpdolkaeqlyzpdpbizo * hotfix(ts): BUG-09 — .tsc-baseline.json: corrige double-encoding, JSON UTF-8 direto; useProfileRoles removido, totalErrors 337→335
…out JS The index.html on main was stored as base64 text since PR #618. Vite reads this as entry point, finds no <script> tags to transform, and outputs the base64 blob as dist/index.html — the deployed site serves base64 text instead of HTML, with zero JS bundles. Fix: replace with the decoded HTML (136 lines, exact roundtrip). Same fix as PR #634 branch but applied directly to main for immediate production recovery.
🔍 QA Exaustivo — 9 Bugs Críticos Corrigidos
Analista: Claude QA — PhD-level System Analysis
Data: 2026-06-02 | Escopo: 4.616 arquivos, live site, edge functions, migrations
🚨 Bugs Críticos Corrigidos (Runtime Breaking)
BUG-01 ·
useProfileRoles.ts—awaitfaltando emgetSupabaseClient()getSupabaseClient()retornaPromise<SupabaseClient>. Semawait, a variávelsupabaseera o objeto Promise — chamar.from('profiles')lançavaTypeErrorsilenciado pelocatch, deixandoprofile = nullpermanentemente após login.BUG-02 ·
useProfileRoles.ts—authService.getUserRoles()não existeO método na
authServicese chamaqueryRoles(), nãogetUserRoles(). OTypeErrorera silenciado, resultando emuserRoles = []para todos os usuários autenticados — ninguém tinha permissões.BUG-03 ·
useProfileRoles.ts— Roles setadas com tipo erradoqueryRoles()retorna{role: string}[], mas o código faziasetUserRoles(data)sem.map(r => r.role). As comparaçõesuserRoles.includes('admin')sempre retornavamfalse.🔴 Bugs de Alto Impacto (SEO / Segurança)
BUG-04 ·
public/robots.txt— Sitemap com domínio erradoSitemap: https://we-dream-big.lovable.app/sitemap.xml→https://www.promogifts.com.br/sitemap.xmlBUG-05 ·
public/sitemap.xml— 11 URLs com domínio erradoTodos os
<loc>apontavam parawe-dream-big.lovable.app. Impacto: SEO completamente quebrado para indexação Google.BUG-06 ·
index.html— Preconnect para projeto PROIBIDOpqpdolkaeqlyzpdpbizoestá emFORBIDDEN_REFSnoclient.ts. Substituído pelo canônicodoufsxqlfjyuvxuezpln. Bonus:apple-touch-iconfallback parafavicon.svg(ícones PNG ausentes são rastreados no BUG-10).BUG-07 ·
cors.ts— Fallback de origem era URL de desenvolvimento LovablegetBestAllowedOrigin()retornavacriar-together-now.lovable.apppara origens desconhecidas. Corrigido parawww.promogifts.com.br.BUG-08 ·
cors.ts— Projeto PROIBIDO na allowlist CORS das edge functionspqpdolkaeqlyzpdpbizo.supabase.coremovido deEXACT_ALLOWED_ORIGINS.🟡 Bugs de Média Severidade
BUG-09 ·
.tsc-baseline.json— Erros corrigidos removidos do baselineuseProfileRoles.tssaiu do baseline (TS2339 × 2).totalErrors337 → 335.📋 Bugs Identificados Fora do Escopo (Necessitam Assets Binários)
/icons/icon-192.png,/icons/icon-512.png,/icons/icon-maskable-512.png→ 404public/og-image.README.md/og-image.png→ 404 (og:imagequebrado)/public/og-image.png📊 Commits
b4faf86useProfileRoles.ts2d2a007robots.txt40a5397sitemap.xml6c13765index.html8d5ee65cors.tsba34b2c.tsc-baseline.json✅ Checklist de Validação Pós-Merge
admin/supervisorcurl https://www.promogifts.com.br/robots.txt— sitemap corretocurl https://www.promogifts.com.br/sitemap.xml— todas URLspromogifts.com.brindex.html— sem preconnect parapqpdolkaeqlyzpdpbizoog-image.png,icons/icon-192.png,icons/icon-512.pngSummary by cubic
Corrige carregamento de roles na autenticação, acerta domínios de SEO e endurece CORS para produção. Usuários recuperam permissões e o site volta a ser indexado corretamente.
awaitemgetSupabaseClient(), troca paraauthService.queryRoles()e mapeamento paraAppRole[]. Roles carregam e acesso admin é restaurado.Access-Control-Allow-Originagora cai parahttps://www.promogifts.com.br; origem proibida removida da allowlist.robots.txte 11 URLs nositemap.xmlatualizados parawww.promogifts.com.br; preconnect/canonical corrigidos noindex.html.apple-touch-iconparafavicon.svge redução do baseline TS (-2 erros).Written for commit ba34b2c. Summary will update on new commits.