{"_id":"@app-emotion/react-native-kakao-login","_rev":"1-98d0d1345374a13369e378df3413217f","name":"@app-emotion/react-native-kakao-login","dist-tags":{"latest":"5.2.7"},"versions":{"5.2.6":{"name":"@app-emotion/react-native-kakao-login","version":"5.2.6","description":"React Native Module for Kakao Login","main":"src/index","types":"src/index.d.ts","postinstall":"dooboolab-welcome postinstall","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc && tsc -P ./plugins && flowgen src/index.d.ts -o src/index.js.flow","flow":"flow","lint":"eslint -c .eslintrc.js 'src'","validate":"npm run lint && npm run test:typescript && npm run test:flow && npm run test"},"repository":{"type":"git","url":"git+https://github.com/react-native-seoul/react-native-kakao-login.git"},"publishConfig":{"access":"public"},"keywords":["react-native","kakao","login","kakao-login","react-native-seoul","dooboolab"],"author":{"name":"dooboolab"},"license":"MIT","peerDependencies":{"react":"*","react-native":"*"},"dependencies":{"dooboolab-welcome":"^1.3.2"},"devDependencies":{"@dooboo/eslint-config-react-native":"^1.0.1","@types/eslint":"^8.4.6","@types/react":"18.0.21","@types/react-native":"^0.70.3","@typescript-eslint/eslint-plugin":"^5.38.1","babel-eslint":"^10.1.0","eslint":"^8.24.0","eslint-plugin-jest":"^27.0.4","flow-bin":"^0.187.1","flowgen":"^1.20.1","prettier":"^2.7.1","typescript":"^4.8.3","expo-module-scripts":"^2.1.1"},"gitHead":"1bbbd7f791a1be638c96ac4ca9c7a01ffdd9e14d","bugs":{"url":"https://github.com/react-native-seoul/react-native-kakao-login/issues"},"homepage":"https://github.com/react-native-seoul/react-native-kakao-login#readme","_id":"@app-emotion/react-native-kakao-login@5.2.6","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-fdpUL+bHy5c2B7zoRZ29zdQUZ7+tk95YrTdPmR+8H9yvRBxtIKODapznd+kXP+BTaT13NtXEXznZkVCuN+O6QA==","shasum":"4d419294b15663455485c19cdbc039781cc68c24","tarball":"https://registry.npmjs.org/@app-emotion/react-native-kakao-login/-/react-native-kakao-login-5.2.6.tgz","fileCount":127,"unpackedSize":1057633,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbDmYKpoFMSwTxb/Ldj7P94vO5x2niEmZVCQyT6SoK7QIhAO2H8RQ+8bTr6HC364MrQkXLWVeWLRlbR28OFlyx7ifU"}]},"_npmUser":{"name":"jeongshin","email":"sjeong1127@gmail.com"},"directories":{},"maintainers":[{"name":"jeongshin","email":"sjeong1127@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-kakao-login_5.2.6_1686660981626_0.6282434297700783"},"_hasShrinkwrap":false},"5.2.7":{"name":"@app-emotion/react-native-kakao-login","version":"5.2.7","description":"React Native Module for Kakao Login","main":"src/index","types":"src/index.d.ts","postinstall":"dooboolab-welcome postinstall","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc && tsc -P ./plugins && flowgen src/index.d.ts -o src/index.js.flow","flow":"flow","lint":"eslint -c .eslintrc.js 'src'","validate":"npm run lint && npm run test:typescript && npm run test:flow && npm run test"},"repository":{"type":"git","url":"git+https://github.com/react-native-seoul/react-native-kakao-login.git"},"publishConfig":{"access":"public"},"keywords":["react-native","kakao","login","kakao-login","react-native-seoul","dooboolab"],"author":{"name":"dooboolab"},"license":"MIT","peerDependencies":{"react":"*","react-native":"*"},"dependencies":{"dooboolab-welcome":"^1.3.2"},"devDependencies":{"@dooboo/eslint-config-react-native":"^1.0.1","@types/eslint":"^8.4.6","@types/react":"18.0.21","@types/react-native":"^0.70.3","@typescript-eslint/eslint-plugin":"^5.38.1","babel-eslint":"^10.1.0","eslint":"^8.24.0","eslint-plugin-jest":"^27.0.4","flow-bin":"^0.187.1","flowgen":"^1.20.1","prettier":"^2.7.1","typescript":"^4.8.3","expo-module-scripts":"^2.1.1"},"gitHead":"07f84441957c15b31e59e6a3d6c4644d7e824582","bugs":{"url":"https://github.com/react-native-seoul/react-native-kakao-login/issues"},"homepage":"https://github.com/react-native-seoul/react-native-kakao-login#readme","_id":"@app-emotion/react-native-kakao-login@5.2.7","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-8oGSdflvL0+Bqdj4FwR3W8OsbSNNPfnuMgs+gY79gLwRG37yYr+6tJZAxm8qWaBCL5ePJYdaRqgKQeN+gleWOw==","shasum":"a05e394320b17cf91468e89fefda358233bbd078","tarball":"https://registry.npmjs.org/@app-emotion/react-native-kakao-login/-/react-native-kakao-login-5.2.7.tgz","fileCount":127,"unpackedSize":1057639,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDa2QFn96o/AJ2P7agvjcTG9RL96OczZ6NnWf9CKZB65QIhAKiGNC+DF2ruOyKiqeyRjLjMpZxiy09O7T9DaIebJRXi"}]},"_npmUser":{"name":"jeongshin","email":"sjeong1127@gmail.com"},"directories":{},"maintainers":[{"name":"jeongshin","email":"sjeong1127@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-kakao-login_5.2.7_1686661778634_0.5835073505955393"},"_hasShrinkwrap":false}},"time":{"created":"2023-06-13T12:56:21.571Z","5.2.6":"2023-06-13T12:56:21.878Z","modified":"2023-06-13T13:09:39.020Z","5.2.7":"2023-06-13T13:09:38.884Z"},"maintainers":[{"name":"jeongshin","email":"sjeong1127@gmail.com"}],"description":"React Native Module for Kakao Login","homepage":"https://github.com/react-native-seoul/react-native-kakao-login#readme","keywords":["react-native","kakao","login","kakao-login","react-native-seoul","dooboolab"],"repository":{"type":"git","url":"git+https://github.com/react-native-seoul/react-native-kakao-login.git"},"author":{"name":"dooboolab"},"bugs":{"url":"https://github.com/react-native-seoul/react-native-kakao-login/issues"},"license":"MIT","readme":"# @react-native-seoul/kakao-login\n\n<img src=\"image/main_banner.png\" width=\"100%\" height=\"auto\" />\n\n[![VERSION](http://img.shields.io/npm/v/@react-native-seoul/kakao-login.svg?style=flat-square)](https://npmjs.org/package/@react-native-seoul/kakao-login)\n[![DOWNLOAD](http://img.shields.io/npm/dm/@react-native-seoul/kakao-login.svg?style=flat-square)](https://npmjs.org/package/@react-native-seoul/kakao-login)\n[![LICENSE](http://img.shields.io/npm/l/@react-native-seoul/kakao-login.svg?style=flat-square)](https://npmjs.org/package/@react-native-seoul/kakao-login)\n[![CI](https://github.com/react-native-seoul/react-native-kakao-login/actions/workflows/ci.yml/badge.svg)](https://github.com/react-native-seoul/react-native-kakao-login/actions/workflows/ci.yml)\n[![publish-package](https://github.com/react-native-seoul/react-native-kakao-login/actions/workflows/ci-deploy.yml/badge.svg)](https://github.com/react-native-seoul/react-native-kakao-login/actions/workflows/ci-deploy.yml)\n\nReact Native 카카오 로그인 라이브러리 입니다. `@react-native-seoul/kakao-login` < 3.0 이하 버전을 쓰시는 분들은 [DEPRECATED README](https://github.com/react-native-seoul/react-native-kakao-login/blob/main/README_DEPRECATED.md)를 참고해주세요.\n\n세부 예제는 KakaoLoginExample 폴더 안의 예제 프로젝트를 확인해주세요.\n해당 라이브러리는 `flow`와 `typescript`를 지원합니다.\n\n## Changelogs\n\n[Changelogs 링크](./CHANGELOG.md)\n\n## Demo\n\n[카카오 로그인 Example Project](https://github.com/react-native-seoul/react-native-kakao-login/tree/main/KakaoLoginExample) 데모 화면\n\n<img src=\"https://user-images.githubusercontent.com/27461460/111674724-a7989f00-885f-11eb-9e51-d146757ca836.gif\" width=\"200\">\n\n> 위 프로젝트는 `KakaoLoginExample` 폴더에서 확인 가능합니다.\n\n## Tutorial\n\n> 라이브러리를 더욱 편리하게 사용하기 위해서 Youtube 영상을 제작했습니다.\n\n- [iOS에서 사용하기 Youtube](https://www.youtube.com/watch?v=uCn1xIijuos&list=PLMu8UG37vF6oJLNhjsjoy_ApcJFZZwJOo)\n\n- [Android에서 사용하기 Youtube](https://www.youtube.com/watch?v=YJaOT3ZVKNg&list=PLMu8UG37vF6oJLNhjsjoy_ApcJFZZwJOo)\n\n## Getting started\n\n해당 라이브러리는 `3.0.0` 이후 부터는 react-native `0.61`이상을 지원합니다. 카카오 라이브러리 지원이 아래 버전부터는 지원이 끊길 예정이므로 참고해주시기 바랍니다. 과거에는 [카카오 라이브러리 레거시 iOS](https://developers.kakao.com/docs/latest/ko/kakaologin/ios-v1)와 [카카오 라이브러리 레거시 Android](https://developers.kakao.com/docs/latest/ko/kakaologin/android-v1) 버전을 쓰고 있었습니다.\n\n## Installation\n\n```\nyarn add @react-native-seoul/kakao-login\n```\n\nReact Native 0.60.X이상부터는 `Auto linking`을 지원합니다. 따라서 설치는 매우 간편합니다.\n\niOS의 경우 `yarn add @react-native-seoul/kakao-login` 이후 `npx pod-install` 명령어로 pod 라이브러리만 추가로 설치해주시면 됩니다.\n\n## Post Installation\n\n> 설치가 제대로 되지 않는다면 example project의 설정을 참고하세요 👍\n\n#### iOS\n\n1. Pod에서 iOS deployment target이 `11.0` 이상이어야 합니다.\n\n2. ios 카카오 sdk 설치 후의 설정과 관련해서는 [공식문서 - 카카오 로그인 > 설정하기](https://developers.kakao.com/docs/latest/ko/kakaologin/prerequisite)를 참고해주세요. 해당 가이드를 통해 카카오 개발자 페이지에서 본인의 어플리케이션을 생성해주세요.\n\n3. [공식문서 - 개발 프로젝트 설정](https://developers.kakao.com/docs/latest/ko/getting-started/sdk-ios) 을 참고하여 `info.plist`, `URL Types` 및 커스텀 스킴 추가 등 기타 필요한 세팅들을 프로젝트에 추가해줍니다. 아래`카카오 네이티브앱 아이디를 적어주세요` 문구를 잘 확인하시여 본인의 Kakao App Key로 변경해주세요.\n\n   ```diff\n    <key>CFBundleURLTypes</key>\n    <array>\n   + <dict>\n   +   <key>CFBundleTypeRole</key>\n   +   <string>Editor</string>\n   +   <key>CFBundleURLSchemes</key>\n   +   <array>\n   +     <string>kakao{카카오 네이티브앱 아이디를 적어주세요}</string>\n   +   </array>\n   + </dict>\n    </array>\n    <key>CFBundleVersion</key>\n    <string>1</string>\n   + <key>KAKAO_APP_KEY</key>\n   + <string>{카카오 네이티브앱 아이디를 적어주세요}</string>\n   + <key>LSApplicationQueriesSchemes</key>\n   + <array>\n   +   <string>kakaokompassauth</string>\n   +   <string>storykompassauth</string>\n   +   <string>kakaolink</string>\n   + </array>\n   ```\n\n4. `3.0.0` 버전부터는 swift 버전의 kakao sdk를 활용하므로 [Swift Bridging Header](https://stackoverflow.com/questions/31716413/xcode-not-automatically-creating-bridging-header)를 추가해야할 수 있습니다.\n   <img width=\"800\" alt=\"1\" src=\"https://user-images.githubusercontent.com/27461460/111863065-8be6e300-899c-11eb-8ad8-6811e0bd0fbd.png\">\n\n5. `AppDelegate.m` 파일에 [해당 부분](https://github.com/react-native-seoul/react-native-kakao-login/issues/193#issuecomment-806475082)을 추가해주세요. 이는 카카오톡 앱이 깔려 있을시 올바로 데이터를 받아오기 위함입니다 [#193](https://github.com/react-native-seoul/react-native-kakao-login/issues/193).\n\n6. Project => Targets 아래 앱 선택 => General 탭으로 이동해서 Bundle Identifier가 본인의 카카오 앱과 동일한지 확인해주세요.\n\n7. 여러 라이브러리에서 동일한 버전의 SDK를 써야 하는 경우 `Podfile`에 아래와 같이 추가하여 SDK 버전을 강제로 지정할 수 있습니다.\n\n   ```ruby\n   # 없는 경우에는 package.json의 sdkVersions.ios.kakao를 따릅니다.\n   $KakaoSDKVersion=YOUR_KAKAO_SDK_VERSION\n   ```\n\n#### Android\n\n1. [키 해시 등록](https://developers.kakao.com/docs/latest/ko/getting-started/sdk-android#add-key-hash)을 진행해주세요. 자바 코드로 구하는 방법이 제일 확실합니다.\n\n   ```\n   AUTHORIZATION_FAILED: invalid android_key_hash or ios_bundle_id or web_site_url\n   ```\n\n   React Native 0.60.x 부터 템플릿에 기본적으로 디버그 키스토어가 포함되어 있습니다. (`project/android/app`에 디버그 키스토어가 존재합니다.)<br/>\n   기본 디버그 키스토어의 key hash 는 `Xo8WBi6jzSxKDVR4drqm84yr9iU=` 를 사용하시면 됩니다.\n\n   > 템플릿에서 기본 제공되는것 이외의 키스토어에서 key hash 를 추출하기 위해서는 아래의 명령어를 사용하세요\n   >\n   >**글로벌 debug keystore 에서 key hash 추출**\n   >```\n   >keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64\n   >```\n   >\n   >**특정 경로의 keystore 에서 key hash 추출**\n   >```\n   >keytool -exportcert -alias {my-app-key-alias} -keystore {your-key-path}/{my-app-key}.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64\n   >```\n\n2. Redirect URI 설정\n\n   - 카카오 로그인 기능을 구현하기 위해서는 리다이렉션(Redirection)을 통해 [Request Code](https://developers.kakao.com/docs/latest/ko/kakaologin/android)를 받아야 합니다. 그러기 위해서는 아래 코드를 `AndroidManifest.xml`에 추가해주세요. 그리고 `카카오 네이티브 앱 key를 입력해주세요` 텍스트를 본인의 카카오 네이티브 키로 변경해주시면 됩니다. (Android 12(API 31) 이상을 타깃으로 하는 앱인 경우, `exported` 요소를 반드시 \"true\"로 선언해야 합니다.)\n\n     ```xml\n     <activity\n        android:name=\"com.kakao.sdk.auth.AuthCodeHandlerActivity\"\n        android:exported=\"true\">\n       <intent-filter>\n           <action android:name=\"android.intent.action.VIEW\" />\n           <category android:name=\"android.intent.category.DEFAULT\" />\n           <category android:name=\"android.intent.category.BROWSABLE\" />\n\n           <!-- Redirect URI: \"kakao{NATIVE_APP_KEY}://oauth“ -->\n           <data android:host=\"oauth\"\n               android:scheme=\"kakao{카카오 네이티브 앱 key를 입력해주세요}\" />\n       </intent-filter>\n     </activity>\n     ```\n\n3. `app/src/main/res/values/strings.xml` 을 열어 다음을 추가합니다\n\n   ```diff\n   <resources>\n       <string name=\"app_name\">KakaoLoginExample</string>\n   +   <string name=\"kakao_app_key\">your_app_key</string>\n   </resources>\n   ```\n\n4. [공식문서-토큰관리](https://developers.kakao.com/docs/latest/ko/kakaologin/android#token-mgmt) 에서 참고할 수 있듯이 Android 카카오 SDK는 액세스 토큰을 자동 갱신해줍니다.\n\n5. 컴파일 에러가 나면 `build.gradle`에서 android sdk compile version 등 빌드 sdk 버전을 맞춰주세요.\n\n6. (Optional) 앱 배포 시, 코드 축소, 난독화, 최적화를 하는 경우, 카카오 SDK를 제외해야 하기 때문에 **ProGuard 규칙 파일**에 다음 코드를 추가해주세요.\n\n   ```\n   -keep class com.kakao.sdk.**.model.* { <fields>; }\n   -keep class * extends com.google.gson.TypeAdapter\n   ```\n\n7. Gradle 및 카카오 SDK의 버전을 변경해야 하는 경우, [android/gradle.properties](./android/gradle.properties) 에 있는 항목들을 확인하고, Android gradle의 root project의 ext에 `RNKakaoLogins_` 를 제외한 버전을 명시해주세요.\n\n#### EXPO (EAS Build only, SDK 41 이상)\n\n1. app.json 파일을 아래와 같이 수정합니다.\n```\n{\n  \"expo\": {\n    ...\n    \"plugins\": [\n      ...,\n      [\n        \"@react-native-seoul/kakao-login\",\n        {\n          \"kakaoAppKey\": \"\", // 필수\n          \"overrideKakaoSDKVersion\": \"2.9.0\", // Optional, \n          \"kotlinVersion\": \"1.5.10\" // Android Only, Optional, Expo 내부 패키지들과의 충돌이 있어 테스트 결과 1.5.10은 문제가 없었습니다. 지정 안하면 1.5.10으로 설정됩니다.\n        }\n      ]\n    ],\n    ...\n  }\n} \n```\n\n2. EAS Build 이후 `expo start --dev-client`를 이용합니다.\n\n3. (Optional) Android에서 proguard rules 등을 적용하실 경우, [Expo BuildProperties](https://docs.expo.dev/versions/latest/sdk/build-properties/) 를 참고하세요\n\n\n## Methods\n\n| Func                  | Param |            Return             | Description                                                                                                        |\n| :-------------------- | :---: | :---------------------------: | :----------------------------------------------------------------------------------------------------------------- |\n| login                 |       |   Promise{KakaoOAuthToken}    | 로그인 (카카오톡에 접근할 수 없다면 loginWithKakaoAccount 호출)                                                    |\n| loginWithKakaoAccount |       |   Promise{KakaoOAuthToken}    | 카카오계정으로 로그인 (기본 웹 브라우저(CustomTabs)에 있는 카카오계정 cookie 로 사용자를 인증하고 OAuthToken 발급) |\n| getProfile            |       |     Promise{KakaoProfile}     | 프로필 불러오기                                                                                                    |\n| logout                |       |        Promise{string}        | 로그아웃                                                                                                           |\n| unlink                |       |        Promise{string}        | 연결끊기                                                                                                           |\n| getAccessToken        |       | Promise{KakaoAccessTokenInfo} | 액세스 토큰 조회                                                                                                   |\n\n#### 프로필 가져오기 - `getProfile` => `KakaoProfile`\n\n|                          | iOS | Android |    type    |                                         Description                                         |\n| ------------------------ | :-: | :-----: | :--------: | :-----------------------------------------------------------------------------------------: |\n| `accessToken`            |  ✓  |    ✓    |  `string`  |                                            토큰                                             |\n| `refreshToken?`          |  ✓  |    ✓    |  `string`  |                                        리프레쉬 토큰                                        |\n| `idToken?`               |  ✓  |    ✓    |  `string`  |                      OpenID Connect 확장 기능을 통해 발급되는 ID 토큰                       |\n| `accessTokenExpiresAt?`  |  ✓  |    ✓    |   `Date`   |                                       토큰 만료 시간                                        |\n| `refreshTokenExpiresAt?` |  ✓  |    ✓    |   `Date`   | 리프레쉬 토큰 만료 시간, 구버전 SDK로 이미 로그인이 되어있었다면 null이 반환될 수 있습니다. |\n| `scopes`                 |  ✓  |    ✓    | `string[]` |                                   사용자로 부터 받은 권한                                   |\n\n#### React-native-web\n\n1.RestApiKey랑 redirectUrl을 포함한 아래 링크로 href 링크를 열어서 code를 가져옵니다\nconst kakaoUrl = `https://kauth.kakao.com/oauth/authorize?client_id=${restApiKey}&redirect_uri=${redirectUrl}&response_type=code`;\n\nredirectUrl이 http://localhost:3000 일때 아래와같이 redirectUrl에 code파라미터가 붙은 url이 들어와집니다\n\nhttp://localhost:3000/?code=Ss32OM1_yUybn5dtEQ-XT8EZfV24BKC_GIeIvFPz7_wHorYXtij9JFQcMuGtGdzxQc3Vlwopb1UAAAGCizvuCw\ncode= 뒤쪽부분을 split해서 토큰 발급시 필요한 code를 얻을 수 있습니다\nreact-native-web에서는 app과 다르게 restApikey, redirecturl을 code와 같이 직접 넣어줘야 합니다\n\n\n## Methods (Web)\n\n| Func                  | Param |            Return             | Description                                                                                                        |\n| :-------------------- | :---: | :---------------------------: | :----------------------------------------------------------------------------------------------------------------- |\n| login                 |   restApiKeyWeb, redirectUrlWeb, codeWeb    |   Promise{KakaoOAuthWebToken} | 로그인                                                    |\n| loginWithKakaoAccount |       |      | 웹 지원 x |\n| getProfile            |    tokenWeb   |     Promise{KakaoProfile}     | 프로필 불러오기                                                                                                    |\n| logout                |    tokenWeb   |        Promise{string}        | 로그아웃                                                                                                           |\n| unlink                |   tokenWeb    |        Promise{string}        | 연결끊기                                                                                                           |\n| getAccessToken        |       |  | 웹 지원 x\n\n## Usage\n\n### Sample Code\n\n```js\nconst signInWithKakao = async (): Promise<void> => {\n  const token: KakaoOAuthToken = await login();\n\n  setResult(JSON.stringify(token));\n};\n\nconst signOutWithKakao = async (): Promise<void> => {\n  const message = await logout();\n\n  setResult(message);\n};\n\nconst getKakaoProfile = async (): Promise<void> => {\n  const profile: KakaoProfile = await getProfile();\n\n  setResult(JSON.stringify(profile));\n};\n\nconst unlinkKakao = async (): Promise<void> => {\n  const message = await unlink();\n\n  setResult(message);\n};\n```\n\n### How to run example project\n\n1. `clone` 받은 레포에서 `KakaoLoginExample` 폴더로 이동합니다\n\n   ```bash\n   cd KakaoLoginExample\n   ```\n\n2. 필요한 모듈을 설치 합니다(`preinstall`이 실행됩니다)\n\n   ```bash\n   yarn\n   ```\n\n3. 프로젝트 실행\n\n- `KAKAO_APP_KEY`등 필요한 SDK 연동 설정은 기본으로 되어 있습니다.\n  - 본인 앱의 키로 변경하고 테스트 하셔도 무방합니다. 단 `PR`을 날리실 때는 삭제하고 날려주세요.\n- `yarn start`\n- `yarn ios` or `yarn android`로 앱 실행\n  - `iOS` 앱이 실행되지 않을 때는 `XCode`를 열고 테스트 해주세요. 이는 RN `0.64.0`에서 발생되고 있는 문제입니다.\n- ios의 경우 `ios`폴더에서 `pod install`을 먼저 실행해 주세요. 프로젝트 폴더에서 `npx pod-install`로 이용하셔도 무방합니다.\n","readmeFilename":"README.md"}