| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | API 명세서 | |||||||||||||||||||
2 | ||||||||||||||||||||
3 | ||||||||||||||||||||
4 | Index | Method | URI | Description | Request | Response | ||||||||||||||
5 | USER01 | POST | /accounts/signup | 회원가입 | { "email": "test@gmail.com", "password": "test1234", "nickname": "test" } | 응답코드 : 201 | ||||||||||||||
6 | USER02 | POST | /accounts/login | 로그인 | { "email": "test@gmail.com", "password": "test1234" } | 응답코드 : 200 | ||||||||||||||
7 | USER03 | POST | /accounts/logout | 로그아웃 | 응답코드 : 200 | |||||||||||||||
8 | USER04 | POST | /auth/issue | 액세스 토큰 재발급 | { "refresh" : "리프레시 토큰", "expAccess" : "만료된 액세스 토큰" } | 응답코드 : 200 * 헤더에 새로 발급된 토큰 들어가있음 | ||||||||||||||
9 | USER05 | POST | /accounts/sendMail?email= | 비밀번호 재설정 메일 보내기 | 응답코드 : 200 | |||||||||||||||
10 | USER06 | PATCH | /accounts/{accountId} | 회원 정보 수정(닉네임, 비밀번호, 프로필 이미지) | { "nickname":"닉네임", "password":"비밀번호", "imageUrl":"이미지Url.png", "imageName":"이미지이름.png" } | { "imageUrl": "http://example.com/images/default-profile.png", "email": "test@test.com", "nickname": "test" } | ||||||||||||||
11 | USER07 | DELETE | /accounts/{accountId} | 회원 탈퇴 | 응답코드 : 200 | |||||||||||||||
12 | USER08 | GET | /mypages/summary/{accountId} | 마이페이지 - 내가 쓴 글 조회(요약) | { "teamBoards": [ { "teamBoardId": 1, "title": "autoincrement 테스트", "position": "백엔드", "keywords": [], "accountId": 2, "createdAt": "2023-09-13T17:44:36.538619", "modifiedAt": "2023-09-13T17:44:36.538619" }, ... ], "memberBoards": [ { "memberBoardId": 1, "title": "제목2", "content": "내용2", "status": "모집중", "views": 0, "position": "백엔드 3명, 프론트엔드 2명", "writerNickName": "112233", "writerImageURL": "http://example.com/images/default-profile.png", "replyList": [ { ... }, ], "techTagList": [ ... ], "startDate": "2023-01-18T11:22:33", "endDate": "2023-01-18T11:22:33", "createdAt": "2023-09-13T06:25:26", "modifiedAt": "2023-09-13T07:50:16.913487" } ... ] } | |||||||||||||||
13 | GET | /mypages/profile/{accountId} | 마이 페이지 - 프로필 열람 | . | ||||||||||||||||
14 | USER09 | PATCH | /mypages/profile/{accountId} | 마이 페이지 - 프로필 수정 | { "accountId" : 1, "coverLetter" : "자기소개", "techTags": [ 1, 3 ], "softSkills": [ "팀 협업", "문제 해결" ], "hardSkills": [ "웹 개발" ] } | { "imageUrl": "http://example.com/images/default-profile.png", "email": "test@test.com", "nickname": "test", "coverLetter": "자기소개", "techTags": [ { "id": 1, "techName": "Java", "tagType": "BACK_END" }, { "id": 3, "techName": "Nodejs", "tagType": "BACK_END" } ], "softSkills": [ "팀 협업", "문제 해결" ], "hardSkills": [ "웹 개발" ], "projectDetails": [ { "projectTitle": "", "projectUrl": "", "imageUrl": "" }, { "projectTitle": "", "projectUrl": "", "imageUrl": "" } ] } | ||||||||||||||
15 | USER10 | POST | /mypages/profile/projectDetails | 마이페이지 - 참여한 프로젝트 등록 | { "projectTitle": "프로젝트 제목", "projectUrl": "http://example.com/project", "uploadImage": { "imageName": "이미지 이름", "imageUrl": "http://example.com/image.jpg", } } | { "projectDetailId": 4, "accountProfileId": 1, "accountId": 3, "projectTitle": "프로젝트 제목", "projectUrl": "http://example.com/project", "imageUrl": "http://example.com/images/default-profile.png" } | ||||||||||||||
16 | USER11 | DELETE | /mypages/profile//projectDetails/{project-detail-id} | 마이페이지 - 참여 프로젝트 삭제 | 204 No Content | |||||||||||||||
17 | IMAGE01 | POST | /S3/image | 프로필이미지 업로드 | form-data - multipartFile[key] : 이미지.png[value] | { "imageName": "default-profile.png", "imageUrl": "http://example.com/images/default-profile.png", "createdAt": "2023-09-17T21:15:26.130758", } | ||||||||||||||
18 | ||||||||||||||||||||
19 | IMAGE02 | POST | /S3/projectImage | 프로젝트 이미지 업로드 | form-data - multipartFile[key] : 이미지.png[value] | "imageName": "default-profile.png", "imageUrl": "http://example.com/images/default-profile.png", "imageType": "PROJECT_IMG", "createdAt": "2023-09-19T02:15:37.795569", | ||||||||||||||
20 | TEAM01 | POST | /teamboards | 팀 찾기 게시글 작성 | { "title": "팀찾기", "position": "프론트엔드", "keywords": ["교육", "미디어"], "techTagIdList" : [1,2] } | 201 Created | ||||||||||||||
21 | TEAM02 | PATCH | /teamboards/{teamBoardId} | 팀 찾기 게시글 수정 | { "title": "팀찾아요", "position": "프론트엔드", "keywords": ["java"], "techTagIdList": [6,7] } | { "teamBoardId": 5, "title": "팀찾기", "position": "프론트엔드", "nickname": "aa", "keywords": [ "디자인" ], "techTagList": [ "6:null", "7:null" ], "accountId": 1, "teamBoardImageUrl": "http://example.com/images/default-profile.png", "createdAt": "2023-09-19T12:14:37", "modifiedAt": "2023-09-19T14:31:46.6842188" } | ||||||||||||||
22 | TEAM03 | DELETE | /teamboards/{teamBoardId} | 팀 찾기 게시글 삭제 | 204 No Content | |||||||||||||||
23 | TEAM04 | GET | /teamboards/{teamBoardId} | 팀 찾기 게시글 1개 조회 | { "teamBoardId": 3, "title": "0917_테스트_2", "position": "프론트엔드", "nickname": "cc", "keywords": [ "모바일", "교육" ], "techTagList": [ "12:FireBase", "13:Ruby" ], "accountId": 3, "teamBoardImageUrl": "http://example.com/images/default-profile.png", "createdAt": "2023-09-17T22:12:00", "modifiedAt": "2023-09-17T22:12:00" } | |||||||||||||||
24 | TEAM05 | GET | /teamboards/?page={pageNum} | 팀 찾기 게시글 리스트 조회 | { "data": [ { "teamBoardId": 6, "title": "0919_테스트_1", "position": "백엔드", "nickname": "aa", "keywords": [ "모바일", "교육" ], "techTagList": [ "2:Spring", "3:Nodejs" ], "accountId": 1, "teamBoardImageUrl": "http://example.com/images/default-profile.png", "createdAt": "2023-09-19T12:17:37", "modifiedAt": "2023-09-19T12:17:37" }, { "teamBoardId": 5, "title": "팀찾기", "position": "프론트엔드", "nickname": "aa", "keywords": [ "디자인" ], "techTagList": [ "6:MySQL", "7:MongoDB" ], "accountId": 1, "teamBoardImageUrl": "http://example.com/images/default-profile.png", "createdAt": "2023-09-19T12:14:37", "modifiedAt": "2023-09-19T14:31:47" } ], "pageInfo": { "page": 1, "size": 10, "totalElements": 2, "totalPages": 1 } } | |||||||||||||||
25 | TEAM06 | GET | /teamboards/search?page=1&size=10&title&position=백 | 팀 찾기 게시글 검색 | { "data": [ { "teamBoardId": 11, "title": "팀찾기", "position": "백엔드", "nickname": "cc", "keywords": [ "개발", "모바일" ], "techTagList": [ "6:MySQL", "7:MongoDB" ], "accountId": 1, "teamBoardImageUrl": "http://example.com/images/default-profile.png", "createdAt": "2023-09-19T12:14:37", "modifiedAt": "2023-09-19T14:31:47" }, "accountId": 3, "createdAt": "2023-09-14T17:35:50", "modifiedAt": "2023-09-14T17:35:50" }, { "teamBoardId": 4, "title": "팀찾기", "position": "백엔드", "nickname": "cc", "keywords": [ "자바", "스프링" ], "techTagList": [ "12:FireBase", "19:React" ], "accountId": 3, "teamBoardImageUrl": "http://example.com/images/default-profile.png", "createdAt": "2023-09-17T22:12:04", "modifiedAt": "2023-09-17T22:12:04" } "accountId": 3, "createdAt": "2023-09-13T00:08:26", "modifiedAt": "2023-09-14T01:26:59" } ], "pageInfo": { "page": 1, "size": 10, "totalElements": 2, "totalPages": 1 } } | |||||||||||||||
26 | MEM01 | POST | /memberboards | 팀원 찾기 게시글 작성 | { "title" : "제목", "content" : "내용", "status" : 0, "position" : "백엔드 1명, 프론트엔드 2명", "techTagIdList" : [1,2,3], "startDate" : "2023-01-18T11:22:33", "endDate" : "2023-01-18T11:22:33" } | 201 Created | ||||||||||||||
27 | MEM02 | PATCH | /memberboards/{memberId} | 팀원 찾기 게시글 수정 | { "title" : "제목", "content" : "수정", "status" : 0, "position" : "백엔드 1명, 프론트엔드 2명", "techTagIdList" : [1,2], "startDate" : "2023-01-18T11:22:33", "endDate" : "2023-01-18T11:22:33" } | { "memberBoardId": 1, "title": "제목2", "content": "내용2", "status": "모집중", "views": 0, "position": "백엔드 3명, 프론트엔드 2명", "writerNickName": "112233", "writerImageURL": "http://example.com/images/default-profile.png", "replyList": [ { "replyId": 1, "writerId": 1, "writerNickName": "112233", "writerImageURL": "http://example.com/images/default-profile.png", "content": "댓글 수정", "acceptType": "ACCEPT", "createAt": "2023-09-13T06:25:42", "apply": true }, { "replyId": 2, "writerId": 1, "writerNickName": "112233", "writerImageURL": "http://example.com/images/default-profile.png", "content": "그냥 댓글", "acceptType": "REFUSE", "createAt": "2023-09-13T07:40:20", "apply": false } ], "techTagList": [ null, null ], "startDate": "2023-01-18T11:22:33", "endDate": "2023-01-18T11:22:33", "createdAt": "2023-09-13T06:25:26", "modifiedAt": "2023-09-13T07:50:16.913487" } | ||||||||||||||
28 | MEM03 | DELETE | /memberboards/{memberId} | 팀원 찾기 게시글 삭제 | 204 No Content | |||||||||||||||
29 | MEM04 | GET | /memberboards/{memberId} | 팀원 찾기 게시글 열람 | "memberBoardId": 1, "title": "제목2", "content": "내용2", "status": "모집중", "views": 0, "position": "백엔드 3명, 프론트엔드 2명", "writerNickName": "1223344", "writerImageURL": "http://example.com/images/default-profile.png", "replyList": [ { "replyId": 1, "writerId": 1, "writerNickName": "1223344", "writerImageURL": "http://example.com/images/default-profile.png", "content": "댓글", "acceptType": "NONE", "createAt": "2023-09-13T10:19:42", "apply": false }, { "replyId": 2, "writerId": 1, "writerNickName": "1223344", "writerImageURL": "http://example.com/images/default-profile.png", "content": "지원 댓글", "acceptType": "ACCEPT", "createAt": "2023-09-13T13:09:24", "apply": true }, ... ], "techTagList": [ "Java", "Spring" ], "startDate": "2023-01-18T20:22:33", "endDate": "2023-01-18T20:22:33", "createdAt": "2023-09-13T10:19:14", "modifiedAt": "2023-09-13T10:19:14" | |||||||||||||||
30 | MEM05 | GET | /memberboards?page={pageNum}&size={sizenum} | 팀원 찾기 게시글 리스트 열람 | { "data": [ { "memberBoardId": 2, "title": "제목", "content": "내용", "status": "모집중", "views": 0, "position": "백엔드 1명, 프론트엔드 2명", "writerId": 1, "writerNickName": "112233", "writerImageURL": "http://example.com/images/default-profile.png", "replyList": [], "techTagList": [], "startDate": "2023-01-18T11:22:33", "endDate": "2023-01-18T11:22:33", "createdAt": "2023-09-15T08:25:12", "modifiedAt": "2023-09-15T08:25:12" }, { "memberBoardId": 1, "title": "제목2", "content": "내용2", "status": "모집중", "views": 0, "position": "백엔드 3명, 프론트엔드 2명", "writerNickName": "1223344", "writerImageURL": "http://example.com/images/default-profile.png", "replyList": [ { "replyId": 1, "writerId": 1, "writerNickName": "1223344", "writerImageURL":"http://example.com/images/default-profile.png", "content": "댓글", "acceptType": "NONE", "createAt": "2023-09-13T10:19:42", "apply": false }, { "replyId": 2, "writerId": 1, "writerNickName": "1223344", "writerImageURL":"http://example.com/images/default-profile.png", "content": "지원 댓글", "acceptType": "ACCEPT", "createAt": "2023-09-13T13:09:24", "apply": true }, { "replyId": 3, "writerId": 1, "writerNickName": "1223344", "writerImageURL":"http://example.com/images/default-profile.png", "content": "그냥 댓글", "acceptType": "REFUSE", "createAt": "2023-09-13T13:09:32", "apply": false } ], "techTagList": [ "Java", "Spring" ], "startDate": "2023-01-18T20:22:33", "endDate": "2023-01-18T20:22:33", "createdAt": "2023-09-13T10:19:14", "modifiedAt": "2023-09-13T10:19:14" } ], "pageInfo": { "page": 1, "size": 10, "totalElements": 2, "totalPages": 1 } } | |||||||||||||||
31 | MEM06 | GET | /memberBoards/view?page={pagenum}&size={sizenum} | 조회수순으로 정렬 | { "data": [ { "memberBoardId": 1, "title": "제목", "content": "내용", "status": "모집중", "views": 1, "position": "백엔드 1명, 프론트엔드 2명", "writerId": 1, "writerNickName": "112233", "writerImageURL":"http://example.com/images/default-profile.png", "replyList": [ ... ], "techTagList": [ "1:Java", "2:Spring", "3:Nodejs" ], "startDate": "2023-01-18T20:22:33", "endDate": "2023-01-18T20:22:33", "createdAt": "2023-09-15T13:10:06", "modifiedAt": "2023-09-16T23:23:23" }, ... { "memberBoardId": 22, "title": "16일벌써오후4시두번째테스트글입니다", "content": "16일벌써오후4시두번째테스트글입니다", "status": "모집중", "views": 0, "position": "프론트엔드 2명", "writerId": 6, "writerNickName": "test123", "writerImageURL": "http://example.com/images/default-profile.png", "replyList": [], "techTagList": [ "1:Java", "2:Spring", "3:Nodejs" ], "startDate": "2023-09-18T20:22:33", "endDate": "2023-10-28T20:22:33", "createdAt": "2023-09-16T16:13:36", "modifiedAt": "2023-09-16T16:13:36" }, ... ], "pageInfo": { "page": 1, "size": 10, "totalElements": 26, "totalPages": 3 } } | |||||||||||||||
32 | MEM07 | GET | /memberBoards/serch?position={position keyword}&page={pagenum}&size={sizenum} /memberBoards/serch?title={title keyword}&page={pagenum}&size={sizenum} | 제목 검색, 포지션 검색 | 제목 검색 { "data": [ { "memberBoardId": 33, "title": "제목", "content": "내용", "status": "모집중", "views": 0, "position": "백엔드 1명, 프론트엔드 2명", "writerId": 1, "writerNickName": "112233", "writerImageURL": "http://example.com/images/default-profile.png", "replyList": [], "techTagList": [ "1:Java", "2:Spring", "3:Nodejs" ], "startDate": "2023-01-18T11:22:33", "endDate": "2023-01-18T11:22:33", "createdAt": "2023-09-16T20:27:48", "modifiedAt": "2023-09-16T20:27:48" }, { "memberBoardId": 28, "title": "제목입니다.", "content": "<p>내용입니다.</p>", "status": "모집중", "views": 0, "position": "프론트엔드 1명", "writerId": 6, "writerNickName": "test123", "writerImageURL": "http://example.com/images/default-profile.png", "replyList": [], "techTagList": [ "1:Java", "3:Nodejs" ], "startDate": "2023-09-16T09:00:00", "endDate": "2023-12-31T09:00:00", "createdAt": "2023-09-16T16:54:16", "modifiedAt": "2023-09-16T16:54:16" }, ], "pageInfo": { "page": 1, "size": 10, "totalElements": 2, "totalPages": 1 } } 포지션 검색 { "data": [ { "memberBoardId": 33, "title": "제목", "content": "내용", "status": "모집중", "views": 0, "position": "백엔드 1명, 프론트엔드 2명", "writerId": 1, "writerNickName": "112233", "writerImageURL": "http://example.com/images/default-profile.png", "replyList": [], "techTagList": [ "1:Java", "2:Spring", "3:Nodejs" ], "startDate": "2023-01-18T11:22:33", "endDate": "2023-01-18T11:22:33", "createdAt": "2023-09-16T20:27:48", "modifiedAt": "2023-09-16T20:27:48" }, { "memberBoardId": 2, "title": "테스트글입니다123", "content": "<p>test</p>", "status": "모집중", "views": 0, "position": "백엔드 1명", "writerId": 6, "writerNickName": "test123", "writerImageURL": "http://example.com/images/default-profile.png", "replyList": [ { "replyId": 17, "writerId": 1, "writerNickName": "112233", "content": "accept 확인용", "acceptType": "ACCEPT", "createAt": "2023-09-16T21:43:19", "apply": true } ], "techTagList": [], "startDate": "2023-09-15T09:00:00", "endDate": "2023-12-31T09:00:00", "createdAt": "2023-09-15T13:55:49", "modifiedAt": "2023-09-15T13:55:49" }, ], "pageInfo": { "page": 1, "size": 10, "totalElements": 2, "totalPages": 1 } } | |||||||||||||||
33 | MEM08 | GET | /memberBoards/view/serch?position={position keyword}&page={pagenum}&size={sizenum} /memberBoards/view/serch?title={title keyword}&page={pagenum}&size={sizenum} | 검색 + 조회수순으로 정렬 | {title keyword} = 제목 { "data": [ { "memberBoardId": 1, "title": "제목", "content": "내용", "status": "모집중", "views": 2, "position": "백엔드 1명, 프론트엔드 2명", "writerId": 1, "writerNickName": "112233", "writerImageURL": "http://example.com/images/default-profile.png", "replyList": [ ... ], "techTagList": [ ... ], "startDate": "2023-01-18T20:22:33", "endDate": "2023-01-18T20:22:33", "createdAt": "2023-09-15T13:10:06", "modifiedAt": "2023-09-17T18:33:21" }, { "memberBoardId": 33, "title": "제목", "content": "수정", "status": "모집중", "views": 1, "position": "백엔드 1명, 프론트엔드 2명", "writerId": 1, "writerNickName": "112233", "writerImageURL": "http://example.com/images/default-profile.png", "replyList": [], "techTagList": [ ... ], "startDate": "2023-01-18T11:22:33", "endDate": "2023-01-18T11:22:33", "createdAt": "2023-09-16T20:27:48", "modifiedAt": "2023-09-17T14:57:43" }, { "memberBoardId": 32, "title": "제목", "content": "내용", "status": "모집중", "views": 1, "position": "백엔드 1명, 프론트엔드 2명", "writerId": 1, "writerNickName": "112233", "writerImageURL": "http://example.com/images/default-profile.png", "replyList": [], "techTagList": [ ... ], "startDate": "2023-01-18T11:22:33", "endDate": "2023-01-18T11:22:33", "createdAt": "2023-09-16T20:19:14", "modifiedAt": "2023-09-17T14:11:46" }, { "memberBoardId": 28, "title": "제목입니다.", "content": "<p>내용입니다.</p>", "status": "모집중", "views": 0, "position": "프론트엔드 1명", "writerId": 6, "writerNickName": "test123", "writerImageURL": "http://example.com/images/default-profile.png", "replyList": [], "techTagList": [ ... ], "startDate": "2023-09-16T09:00:00", "endDate": "2023-12-31T09:00:00", "createdAt": "2023-09-16T16:54:16", "modifiedAt": "2023-09-16T16:54:16" } ], "pageInfo": { "page": 1, "size": 8, "totalElements": 4, "totalPages": 1 } } | |||||||||||||||
34 | MEM09 | POST | /replys | 댓글 작성 | { "content" : "댓글 매핑확인", "isApply" : false, "memberBoardId" : 15 } | 201 Created | ||||||||||||||
35 | MEM10 | PATCH | /replys/{replyId} | 댓글 내용 수정 | { "content" : "댓글 수정", } | { "replyId": 1 "content": "댓글 수정", "isApply": false, "writerNickName": "112233", "writerImageURL": "http://example.com/images/default-profile.png", "acceptType": "NONE" "createdAt": "2023-09-13T15:25:42", "modifiedAt": "2023-09-13T16:48:41.1884752" } | ||||||||||||||
36 | MEM11 | PATCH | /replys/accept/{replyId} | 댓글 수락,거절 수정 | { "acceptType" : 2, "alarmType" : 0 } | { "replyId": 14, "content": "댓글 수정", "isApply": false, "writerNickName": "112233", "writerImageURL": "http://example.com/images/default-profile.png", "acceptType": "REFUSE", "createdAt": "2023-09-16T21:08:29", "modifiedAt": "2023-09-16T21:13:52" } | ||||||||||||||
37 | MEM12 | DELETE | /replys/{replyId} | 댓글 삭제 | 204 No Content | |||||||||||||||
38 | ALRAM01 | PATCH | /alarms | 알람 전체 읽음처리 수정 | 200 OK | |||||||||||||||
39 | ALRAM02 | PATCH | /alarms/{alarmId} | 각각 알람 읽음처리 수정 | { "acceptType" : 2, "alarmType" : 0 } | 200 OK | ||||||||||||||
40 | ALRAM03 | GET | /alarms | 본인 아이디의 알람 열람 | [ { "alarmId": 1, "alarmType": "ACCEPT", "writerNickname": "112233", "writerId": 1, "title": "테스트글입니다123", "memberBoardId": 2, "checked": true }, { "alarmId": 2, "alarmType": "ACCEPT", "writerNickname": "112233", "writerId": 1, "title": "테스트글입니다123", "memberBoardId": 4, "checked": false } ] | |||||||||||||||
41 | REVIEW01 | GET | mypages/reviews/authorize | 리뷰작성자 검증 | { "revieweeId": 2, "memberBoardId": 1 } | { "authorize": false } | ||||||||||||||
42 | REVIEW02 | POST | mypages/reviews/{revieweeId} | 리뷰 작성 | { "title": "프로젝트A", "projectUrl": "https://www.google.com", "intro": "A프로젝트 팀원", "content": "착해요", "reviewerId": 3, "revieweeId": 1 } | 201 Created | ||||||||||||||
43 | REVIEW03 | GET | mypages/reviews/{revieweeId} | 리뷰 검색 | [ { "reviewId": 1, "title": "프로젝트A", "projectUrl": "https://www.google.com", "intro": "A프로젝트 팀원", "content": "착해요", "reviewerId": 3, "reviewerNickname": "cc", "reviewerImageUrl": "http://example.com/images/default-profile.png", "revieweeId": 1, "revieweeNickname": "aa", "createdAt": "2023-09-17T22:20:17" } ] | |||||||||||||||
44 | TECH01 | GET | /tags/tech | 기술 태그 리스트 열람 | [ { "id": 1, "name": "Java", "tagType": "BACK_END" }, { "id": 2, "name": "Spring", "tagType": "BACK_END" }, { "id": 3, "name": "Nodejs", "tagType": "BACK_END" } ... { "id": 32, "name": "C", "tagType": "ETC" } ] | |||||||||||||||
45 | ||||||||||||||||||||
46 | ||||||||||||||||||||
47 | ||||||||||||||||||||
48 | ||||||||||||||||||||
49 | ||||||||||||||||||||
50 | ||||||||||||||||||||
51 | ||||||||||||||||||||
52 | ||||||||||||||||||||
53 | ||||||||||||||||||||
54 | ||||||||||||||||||||
55 | ||||||||||||||||||||
56 | ||||||||||||||||||||
57 | ||||||||||||||||||||
58 | ||||||||||||||||||||
59 | ||||||||||||||||||||
60 | ||||||||||||||||||||
61 | ||||||||||||||||||||
62 | ||||||||||||||||||||
63 | ||||||||||||||||||||
64 | ||||||||||||||||||||
65 | ||||||||||||||||||||
66 | ||||||||||||||||||||
67 | ||||||||||||||||||||
68 | ||||||||||||||||||||
69 | ||||||||||||||||||||
70 | ||||||||||||||||||||
71 | ||||||||||||||||||||
72 | ||||||||||||||||||||
73 | ||||||||||||||||||||
74 | ||||||||||||||||||||
75 | ||||||||||||||||||||
76 | ||||||||||||||||||||
77 | ||||||||||||||||||||
78 | ||||||||||||||||||||
79 | ||||||||||||||||||||
80 | ||||||||||||||||||||
81 | ||||||||||||||||||||
82 | ||||||||||||||||||||
83 | ||||||||||||||||||||
84 | ||||||||||||||||||||
85 | ||||||||||||||||||||
86 | ||||||||||||||||||||
87 | ||||||||||||||||||||
88 | ||||||||||||||||||||
89 | ||||||||||||||||||||
90 | ||||||||||||||||||||
91 | ||||||||||||||||||||
92 | ||||||||||||||||||||
93 | ||||||||||||||||||||
94 | ||||||||||||||||||||
95 | ||||||||||||||||||||
96 | ||||||||||||||||||||
97 | ||||||||||||||||||||
98 | ||||||||||||||||||||
99 | ||||||||||||||||||||
100 | ||||||||||||||||||||