94 duplicated lines in: - challenge2/frontend/components/chat.tsx (1:108, 100%) - challenge3/frontend/components/chat.tsx (1:108, 100%) 89 duplicated lines in: - challenge2/frontend/app/globals.css (1:96, 100%) - challenge3/frontend/app/globals.css (1:96, 100%) 84 duplicated lines in: - challenge2/frontend/components/tool-call.tsx (8:96, 100%) - challenge3/frontend/components/tool-call.tsx (8:96, 100%) 63 duplicated lines in: - challenge2/frontend/lib/assistant.ts (6:89, 100%) - challenge3/frontend/lib/assistant.ts (6:89, 100%) 58 duplicated lines in: - challenge2/frontend/tailwind.config.ts (3:77, 100%) - challenge3/frontend/tailwind.config.ts (3:77, 100%) 46 duplicated lines in: - challenge2/frontend/components/message.tsx (6:55, 100%) - challenge3/frontend/components/message.tsx (6:55, 100%) 37 duplicated lines in: - challenge2/python-backend/app.py (40:83, 54%) - challenge3/python-backend/app.py (87:130, 29%) 33 duplicated lines in: - challenge2/frontend/components/assistant.tsx (1:50, 100%) - challenge3/frontend/components/assistant.tsx (1:50, 100%) 29 duplicated lines in: - challenge2/frontend/app/layout.tsx (5:37, 100%) - challenge3/frontend/app/layout.tsx (5:37, 100%) 25 duplicated lines in: - challenge2/frontend/components/message.css (1:28, 100%) - challenge3/frontend/components/message.css (1:28, 100%) 25 duplicated lines in: - challenge2/python-backend/app.py (16:40, 36%) - challenge3/python-backend/app.py (26:50, 19%) 25 duplicated lines in: - challenge2/frontend/lib/tools.ts (13:42, 71%) - challenge3/frontend/lib/tools.ts (26:55, 32%) 25 duplicated lines in: - challenge2/frontend/prettier.config.cjs (2:27, 100%) - challenge3/frontend/prettier.config.cjs (2:27, 100%) 22 duplicated lines in: - challenge2/frontend/stores/useConversationStore.ts (6:35, 100%) - challenge3/frontend/stores/useConversationStore.ts (6:35, 100%) 22 duplicated lines in: - challenge2/frontend/app/api/search_location/route.ts (3:31, 100%) - challenge3/frontend/app/api/search_location/route.ts (3:31, 100%) 17 duplicated lines in: - challenge2/frontend/app/api/get_response/route.ts (5:26, 100%) - challenge3/frontend/app/api/get_response/route.ts (5:26, 100%) 12 duplicated lines in: - challenge2/frontend/lib/tools.ts (1:15, 34%) - challenge3/frontend/lib/tools.ts (1:15, 15%) 10 duplicated lines in: - challenge2/frontend/lib/constants.ts (1:13, 100%) - challenge3/frontend/lib/constants.ts (1:13, 55%) 7 duplicated lines in: - challenge2/frontend/app/page.tsx (3:9, 100%) - challenge3/frontend/app/page.tsx (3:9, 100%) 7 duplicated lines in: - challenge2/frontend/postcss.config.mjs (1:8, 100%) - challenge3/frontend/postcss.config.mjs (1:8, 100%) 6 duplicated lines in: - challenge2/frontend/app/api/search_location/route.ts (26:31, 27%) - challenge3/frontend/app/api/get_response/route.ts (21:26, 35%) 6 duplicated lines in: - challenge2/frontend/components/tool-call.tsx (55:60, 7%) - challenge3/frontend/components/tool-call.tsx (74:79, 7%) 6 duplicated lines in: - challenge2/frontend/app/api/get_response/route.ts (21:26, 35%) - challenge3/frontend/app/api/search_location/route.ts (26:31, 27%) 6 duplicated lines in: - challenge2/frontend/components/tool-call.tsx (74:79, 7%) - challenge3/frontend/components/tool-call.tsx (55:60, 7%)