import datetime
import os

class Data:
    oid = ''
    line = ''
    oidnum = []

def snmp_oid_compare(in_name1, len1, in_name2, len2):
    name1 = in_name1
    name2 = in_name2

    # len = minimum of len1 and len2
    len_val = min(len1, len2)

    # find first non-matching OID
    for _ in range(len_val):
        if name1[0] != name2[0]:
            return -1 if name1[0] < name2[0] else 1
        name1 = name1[1:]
        name2 = name2[1:]

    # both OIDs equal up to length of shorter OID
    if len1 < len2:
        return -1
    elif len2 < len1:
        return 1
    else:
        return 0

dir_dump = "./dumps"

def load_dumpfile(lst):
    if not os.path.isdir(dir_dump):
        print("\n dir [./dumps] not found. exit.")
        exit(0)

    filelist = os.listdir(dir_dump)
    for li in filelist:
        fullpath = dir_dump + "/" + li
        f = open(fullpath, 'r')
        lines = f.readlines()
        i = 0
        for line in lines:
            i += 1
            if 'No Such Object' in line or line[0] != '.':
                print("[skip] not start dot(.) or failed oid: {}".format(line))
                continue
            tokens = line.split("=")

            data = Data()
            data.oid = tokens[0].rstrip()
            data.line = line
            data.oidnum = list(map(int, filter(None, data.oid.split("."))))
            lst.append(data)
        f.close()

def quicksort_oid(lst):
    if len(lst) <= 1:
        return lst
    else:
        pivot = lst[len(lst) // 2]
        less = [x for x in lst if snmp_oid_compare(x.oidnum, len(x.oidnum), pivot.oidnum, len(pivot.oidnum)) < 0]
        equal = [x for x in lst if snmp_oid_compare(x.oidnum, len(x.oidnum), pivot.oidnum, len(pivot.oidnum)) == 0]
        greater = [x for x in lst if snmp_oid_compare(x.oidnum, len(x.oidnum), pivot.oidnum, len(pivot.oidnum)) > 0]
        return quicksort_oid(less) + equal + quicksort_oid(greater)

def main():
    my_list = []
    t1 = datetime.datetime.now()
    load_dumpfile(my_list)
    t2 = datetime.datetime.now()
    print('\nDuration load_dumpfile: {}'.format(t2 - t1))

    sorted_list = quicksort_oid(my_list)
    t3 = datetime.datetime.now()
    print('\nDuration quicksort_oid: {}'.format(t3 - t2))

    print("\n")
    i = 0
    file_path = "output.txt"
    with open(file_path, "w") as file:
        for item in sorted_list:
            i += 1
            file.write(f"{item.line}")

    print('Total process lines : {}'.format(i))

if __name__ == "__main__":
    start_time = datetime.datetime.now()
    main()
    end_time = datetime.datetime.now()
    print('Duration: {}'.format(end_time - start_time))

'까벨로퍼 > PYTHON' 카테고리의 다른 글

[python] snmp oid 정렬 프로그램  (0) 2023.12.13
[python] oid sort  (0) 2023.03.13
[python] json 에서 특정 키가 존재하는지  (0) 2022.06.09

요구 : 디렉토리내 모든 snmp dump 파일을 읽어서 oid 별로 정렬하여 하나의 파일로 생성

import datetime
import os

class Data:
    oid = ''
    line = ''

def snmp_oid_compare(in_name1, len1, in_name2, len2):
    name1 = in_name1
    name2 = in_name2

    # len = minimum of len1 and len2
    len_val = min(len1, len2)

    # find first non-matching OID
    for _ in range(len_val):
        if name1[0] != name2[0]:
            return -1 if name1[0] < name2[0] else 1
        name1 = name1[1:]
        name2 = name2[1:]

    # both OIDs equal up to length of shorter OID
    if len1 < len2:
        return -1
    elif len2 < len1:
        return 1
    else:
        return 0

dir_dump = "./dumps"
def main():
    my_list = []

    if not os.path.isdir(dir_dump):
        print("\n dir [./dumps] not found. exit.")
        exit(0)

    filelist = os.listdir(dir_dump)
    for li in filelist:
        fullpath = dir_dump + "/" + li
        f = open(fullpath, 'r')
        lines = f.readlines()
        i = 0
        for line in lines:
            i += 1
            if 'No Such Object' in line or line[0] != '.':
                print("[skip] not start dot(.) or failed oid: {}".format(line))
                continue
            tokens = line.split("=")

            data = Data()
            data.oid = tokens[0].rstrip()
            data.line = line
            new_oid = list(map(int, filter(None, data.oid.split("."))))
            found = False
            for j, item in enumerate(my_list):
                stored_oid = list(map(int, filter(None, item.oid.split("."))))
                result = snmp_oid_compare( stored_oid, len(stored_oid), new_oid, len(new_oid))
                if result >= 0:
                    my_list.insert(j, data)
                    found = True
                    print("정렬 line:%s,idx:%s,new:%s,old:%s" % (i, j, data.oid, item.oid))
                    break
            if not found:
                my_list.append(data)
        f.close()

    print("\n")
    i = 0
    file_path = "output.txt"
    with open(file_path, "w") as file:
        for item in my_list:
            i += 1
            file.write(f"{item.line}")

    print('Total process lines : {}'.format(i))

if __name__ == "__main__":
    start_time = datetime.datetime.now()
    main()
    end_time = datetime.datetime.now()
    print('Duration: {}'.format(end_time - start_time))

 

데이터는 필요에 의해 수시로 수집 및 계산 될 수 있습니다. 사용된 조건 검색식은 링크를 따라 가시면 자세하게 확인 할 수 있습니다.
SCORE이 높은 종목부터 내림차순으로 표시됩니다.개별적으로는 차트분석 페이지에서 확인 할 수 있습니다.

조건검색 확인
종목코드를 클릭하면 '다음빅차트', 종목명을 클릭하면 'Naver 증권',  'SCORE'의 값을 클릭하면 차트페이지로 이동합니다.
투자의견 항목이 만약 B3(33000/12%) 이라면 추정기관수 3곳, 제시한 목표가는 33,000원 입니다.
%는 목표가 대비 도달하는데 올라야 할 비율을 나타냅니다.
'PER/업종' 및 'PBR/업종'은 해당업종의 평균 PER/PBR대비 자신의 PER/PBR의 위치를 백분율로 나타냈습니다.
투자에서 참고용으로 봐주시면 좋을 듯 합니다.그럼 여러분들의 성공적인 투자 기원합니다.

아래 링크를 누르시면 더 많은 정보를 볼 수 있는 제 개인 프로젝트 사이트로 연결됩니다.

vostock.kr/

안드로이드  IOS 앱도 출시가 되었습니다. 'vostock' 또는 '비오스탁' 으로 검색하시면 됩니다.

앱에서 따로 권한을 요구하는 건 없으니 주식 투자에 관심 있으신 분들은 다운 받으셔서 이용 해 보시면 감사하겠습니다.

 

Cond Search [23/10/18]


휴스틸 005010 철강 KS   0.52 4835 1.13 0.28 25.51 25.73 6
28.63
84.26
일진파워 094820 건설 KQ   -0.78 11430 15.47 1.36 9.07 3.30 5
51.24
66.49
자연과환경 043910 상업서비스와공급품 KQ   -1.69 1050 105.00 1.23 1.16 2.59 5
52.35
42.91
HMM 011200 해운사 KS 19000(26.92%) 2.18 14970 1.58 0.34 23.83 4.76 5
57.11
83.05
엠아이텍 179290 건강관리장비와용품 KQ   -1.87 7350 13.03 2.73 22.88 7.64 5
45.35
75.21
이루온 065440 IT서비스 KQ   0.16 1919 33.09 1.21 3.91 2.91 5
42.24
49.03
KEC 092220 반도체와반도체장비 KS   -2.14 1417   0.76 -2.38 -7.19 5
48.24
44.25
효성오앤비 097870 화학 KQ   -0.4 7440 49.93 0.84 1.75 3.20 5
65.56
63.8
문배철강 008420 철강 KS   3.4 3190 2.50 0.35 15.77 8.30 5
79.63
74.27
보락 002760 식품 KS   0.53 1317 37.63 1.63 4.39 1.70 5
50.39
50.53
이노인스트루먼트 215790 통신장비 KQ   -1.38 1147 81.93 0.49 0.58 -15.20 5
25.99
40.14
풍강 093380 자동차부품 KQ   -2.54 3450 5.82 0.46 8.34 6.04 5
46.49
75.08
남해화학 025860 화학 KS   0.8 7560   0.71 -1.31 1.53 4
39.66
47.2
KG모빌리언스 046440 IT서비스 KQ 6500(25.97%) 0.78 5160 9.18 0.61 7.17 6.96 4
56.02
76.18
티플랙스 081150 비철금속 KQ   3.93 3700 42.05 0.56 1.36 -1.27 4
87.15
48.95
한미글로벌 053690 건설 KS   0.21 23500 9.61 1.30 16.59 9.10 4
48.54
70.23
진흥기업 002780 건설 KS   -0.76 1175 3.31 0.70 23.83 10.39 4
45.52
63.66
LX인터내셔널 001120 무역회사와판매업체 KS 45000(69.81%) 1.34 26500 2.77 0.40 16.53 3.90 4
71.04
68.37
와이지엔터테인먼트 122870 방송과엔터테인먼트 KQ 95462(68.66%) -1.05 56600 14.20 2.33 17.84 14.42 4
61.73
75.17
에스트래픽 234300 IT서비스 KQ   -1.02 3885 3.20 1.40 58.42 2.84 4
55.48
55.9
TYM 002900 기계 KS 8000(47.33%) 1.31 5430 3.53 0.62 19.50 12.30 4
42.59
67.37
씨젠 096530 생명과학도구및서비스 KQ 25000(26.77%) -2.13 19720   0.87 -0.80 -0.38 4
70.51
55.03
지니뮤직 043610 방송과엔터테인먼트 KQ 5600(80.35%) -1.58 3105 17.44 1.11 6.64 2.25 4
41.44
51.67
신송홀딩스 006880 식품과기본식료품소매 KS   -3.13 7120   0.81 -0.02 2.16 4
60.8
43.39
디지틀조선 033130 출판 KQ   -0.67 1930 23.25 0.86 3.73 6.56 4
36.25
70.91

 

데이터는 필요에 의해 수시로 수집 및 계산 될 수 있습니다. 사용된 조건 검색식은 링크를 따라 가시면 자세하게 확인 할 수 있습니다.
SCORE이 높은 종목부터 내림차순으로 표시됩니다.개별적으로는 차트분석 페이지에서 확인 할 수 있습니다.

조건검색 확인
종목코드를 클릭하면 '다음빅차트', 종목명을 클릭하면 'Naver 증권',  'SCORE'의 값을 클릭하면 차트페이지로 이동합니다.
투자의견 항목이 만약 B3(33000/12%) 이라면 추정기관수 3곳, 제시한 목표가는 33,000원 입니다.
%는 목표가 대비 도달하는데 올라야 할 비율을 나타냅니다.
'PER/업종' 및 'PBR/업종'은 해당업종의 평균 PER/PBR대비 자신의 PER/PBR의 위치를 백분율로 나타냈습니다.
투자에서 참고용으로 봐주시면 좋을 듯 합니다.그럼 여러분들의 성공적인 투자 기원합니다.

아래 링크를 누르시면 더 많은 정보를 볼 수 있는 제 개인 프로젝트 사이트로 연결됩니다.

vostock.kr/

안드로이드  IOS 앱도 출시가 되었습니다. 'vostock' 또는 '비오스탁' 으로 검색하시면 됩니다.

앱에서 따로 권한을 요구하는 건 없으니 주식 투자에 관심 있으신 분들은 다운 받으셔서 이용 해 보시면 감사하겠습니다.

 

Cond Search [23/10/17]
 

HMM 011200 해운사 KS 19000(29.69%) -0.41 14650 1.55 0.33 23.83 4.76 6
37.67
83.1
자연과환경 043910 상업서비스와공급품 KQ   2.5 1068 106.80 1.25 1.16 2.59 5
57.68
42.91
이노인스트루먼트 215790 통신장비 KQ   -1.27 1163 83.07 0.49 0.58 -15.20 5
37.88
40.14
일진파워 094820 건설 KQ   1.32 11520 15.59 1.37 9.07 3.30 5
62.98
66.44
GS글로벌 001250 무역회사와판매업체 KS   0.55 2740 4.11 0.54 14.21 4.38 5
75.89
50.08
이루온 065440 IT서비스 KQ   1.7 1916 33.03 1.21 3.91 2.91 5
52.72
49.12
풍강 093380 자동차부품 KQ   2.31 3540 5.97 0.47 8.34 6.04 5
44.32
74.9
효성오앤비 097870 화학 KQ   -0.66 7470 50.13 0.84 1.75 3.20 5
58.34
63.81
스카이문스테크놀로지 033790 게임엔터테인먼트 KQ   1.83 1060 353.33 0.78 0.22 -11.35 5
56.77
40.83
휴스틸 005010 철강 KS   -0.21 4810 1.12 0.28 25.51 25.73 5
38.85
84.27
엠아이텍 179290 건강관리장비와용품 KQ   -3.23 7490 13.28 2.78 22.88 7.64 5
70.1
75.11
LX인터내셔널 001120 무역회사와판매업체 KS 45000(72.08%) 1.16 26150 2.74 0.40 16.53 3.90 5
54.76
68.39
KEC 092220 반도체와반도체장비 KS   4.85 1448   0.78 -2.38 -7.19 5
69.25
44.13
티플랙스 081150 비철금속 KQ   1.28 3560 40.45 0.54 1.36 -1.27 4
60.27
49.21
씨젠 096530 생명과학도구및서비스 KQ 25000(24.07%) -0.98 20150   0.89 -0.80 -0.38 4
53.84
54.93
남해화학 025860 화학 KS   -0.4 7500   0.70 -1.31 1.53 4
26.51
47.27
KTcs 058850 상업서비스와공급품 KS   2.67 3465 9.07 0.71 8.90 5.27 4
67.85
63.3
지니뮤직 043610 방송과엔터테인먼트 KQ 5600(77.5%) 0.96 3155 17.72 1.13 6.64 2.25 4
36.47
51.62
에스엘 005850 자동차부품 KS 50800(69.9%) -0.5 29900 5.58 0.76 14.55 13.13 4
42.15
78.08
TYM 002900 기계 KS 8000(49.25%) 0.56 5360 3.49 0.62 19.50 12.30 4
38.66
67.41
KG스틸 016380 철강 KS 12000(57.69%) 1.6 7610 1.50 0.43 33.27 7.91 4
50.51
70.69
JW중외제약 001060 제약 KS 51500(45.07%) 0.14 35500 16.86 3.26 21.93 10.91 4
43.6
58.41
한국정보인증 053300 IT서비스 KQ   1.18 4720 18.96 1.10 6.10 5.31 4
39.48
69.42
진흥기업 002780 건설 KS   1.02 1184 3.34 0.70 23.83 10.39 4
62.03
63.64
와이지엔터테인먼트 122870 방송과엔터테인먼트 KQ 97214(69.95%) -1.38 57200 14.35 2.35 17.84 14.42 4
60.1
75.19

 

데이터는 필요에 의해 수시로 수집 및 계산 될 수 있습니다. 사용된 조건 검색식은 링크를 따라 가시면 자세하게 확인 할 수 있습니다.
SCORE이 높은 종목부터 내림차순으로 표시됩니다.개별적으로는 차트분석 페이지에서 확인 할 수 있습니다.

조건검색 확인
종목코드를 클릭하면 '다음빅차트', 종목명을 클릭하면 'Naver 증권',  'SCORE'의 값을 클릭하면 차트페이지로 이동합니다.
투자의견 항목이 만약 B3(33000/12%) 이라면 추정기관수 3곳, 제시한 목표가는 33,000원 입니다.
%는 목표가 대비 도달하는데 올라야 할 비율을 나타냅니다.
'PER/업종' 및 'PBR/업종'은 해당업종의 평균 PER/PBR대비 자신의 PER/PBR의 위치를 백분율로 나타냈습니다.
투자에서 참고용으로 봐주시면 좋을 듯 합니다.그럼 여러분들의 성공적인 투자 기원합니다.

아래 링크를 누르시면 더 많은 정보를 볼 수 있는 제 개인 프로젝트 사이트로 연결됩니다.

vostock.kr/

안드로이드  IOS 앱도 출시가 되었습니다. 'vostock' 또는 '비오스탁' 으로 검색하시면 됩니다.

앱에서 따로 권한을 요구하는 건 없으니 주식 투자에 관심 있으신 분들은 다운 받으셔서 이용 해 보시면 감사하겠습니다.

 

Cond Search [23/10/16]
 

HMM 011200 해운사 KS 19000(29.16%) 2.22 14710 1.55 0.33 23.83 4.76 6
53.78
83.09
자연과환경 043910 상업서비스와공급품 KQ   -1.04 1042 104.20 1.22 1.16 2.59 6
49.42
42.97
풍강 093380 자동차부품 KQ   -6.23 3460 5.83 0.46 8.34 6.04 6
68.67
75.02
일진파워 094820 건설 KQ   -2.49 11370 15.39 1.35 9.07 3.30 6
36.43
66.48
스카이문스테크놀로지 033790 게임엔터테인먼트 KQ   -7.96 1041 347.00 0.77 0.22 -11.35 6
83.62
40.85
이노인스트루먼트 215790 통신장비 KQ   -3.28 1178 84.14 0.50 0.58 -15.20 5
53.2
40.02
대한전선 001440 전기장비 KS   0.67 11960 35.81 1.67 4.80 2.21 5
71.31
45.66
엠아이텍 179290 건강관리장비와용품 KQ   -9.68 7740 13.72 2.87 22.88 7.64 5
45.72
74.81
LX인터내셔널 001120 무역회사와판매업체 KS 45000(74.08%) 0.39 25850 2.71 0.39 16.53 3.90 5
32.78
68.43
KG스틸 016380 철강 KS 12000(60.21%) -1.06 7490 1.47 0.42 33.27 7.91 5
65.05
70.73
효성오앤비 097870 화학 KQ   -0.27 7520 50.47 0.85 1.75 3.20 5
51.74
63.67
휴스틸 005010 철강 KS   -1.53 4820 1.13 0.28 25.51 25.73 5
36.84
84.25
네오위즈 095660 게임엔터테인먼트 KQ 50000(110.08%) -1.24 23800 70.21 1.05 1.59 7.50 5
25.58
60.13
이엠앤아이 083470 핸드셋 KQ   -0.9 1992   2.83 -5.09 18.22 5
34.18
45.21
태경비케이 014580 비철금속 KS   -5.13 6290 6.93 0.91 14.29 9.38 5
64.78
76.97
KEC 092220 반도체와반도체장비 KS   -3.02 1381   0.74 -2.38 -7.19 5
33.26
44.4
NE능률 053290 교육서비스 KQ   -1.93 4320 56.10 0.86 1.55 -11.01 5
45.37
49.7
현대무벡스 319400 운송인프라 KQ   -1.63 3020 120.80 2.36 1.96 -3.46 4
58.17
47.74
엑스페릭스 317770 전자장비와기기 KQ   -3.83 3895 58.13 1.71 3.04 -4.50 4
36.2
42.44
대덕전자 353200 전자장비와기기 KS 36273(50.2%) -4.73 24150 11.49 1.46 13.45 1.51 4
40.85
65.2
에스트래픽 234300 IT서비스 KQ   -2.63 3885 3.20 1.40 58.42 2.84 4
52.7
55.89
이루온 065440 IT서비스 KQ   -3.63 1884 32.48 1.19 3.91 2.91 4
53.28
49.15
GS글로벌 001250 무역회사와판매업체 KS   11.68 2725 4.09 0.54 14.21 4.38 4
53.93
50.06
씨젠 096530 생명과학도구및서비스 KQ 25000(22.85%) 0.25 20350   0.90 -0.80 -0.38 4
62.62
54.81
에스엘 005850 자동차부품 KS 50800(69.05%) -1.31 30050 5.61 0.76 14.55 13.13 4
44.77
77.99

데이터는 필요에 의해 수시로 수집 및 계산 될 수 있습니다. 사용된 조건 검색식은 링크를 따라 가시면 자세하게 확인 할 수 있습니다.
SCORE이 높은 종목부터 내림차순으로 표시됩니다.개별적으로는 차트분석 페이지에서 확인 할 수 있습니다.

조건검색 확인
종목코드를 클릭하면 '다음빅차트', 종목명을 클릭하면 'Naver 증권',  'SCORE'의 값을 클릭하면 차트페이지로 이동합니다.
투자의견 항목이 만약 B3(33000/12%) 이라면 추정기관수 3곳, 제시한 목표가는 33,000원 입니다.
%는 목표가 대비 도달하는데 올라야 할 비율을 나타냅니다.
'PER/업종' 및 'PBR/업종'은 해당업종의 평균 PER/PBR대비 자신의 PER/PBR의 위치를 백분율로 나타냈습니다.
투자에서 참고용으로 봐주시면 좋을 듯 합니다.그럼 여러분들의 성공적인 투자 기원합니다.

아래 링크를 누르시면 더 많은 정보를 볼 수 있는 제 개인 프로젝트 사이트로 연결됩니다.

vostock.kr/

안드로이드  IOS 앱도 출시가 되었습니다. 'vostock' 또는 '비오스탁' 으로 검색하시면 됩니다.

앱에서 따로 권한을 요구하는 건 없으니 주식 투자에 관심 있으신 분들은 다운 받으셔서 이용 해 보시면 감사하겠습니다.

 

 

Cond Search [23/10/12]
 

KG스틸 016380 철강 KS 12000(56.86%) 2.14 7650 1.50 0.43 33.27 7.91 6
70.26
70.71
KEC 092220 반도체와반도체장비 KS   2.2 1443   0.77 -2.38 -7.19 6
66.05
44.22
한국앤컴퍼니 000240 자동차부품 KS 14000(27.27%) 0.92 11000 11.24 0.26 2.38 1.64 6
82.82
78.52
HMM 011200 해운사 KS 19000(26.33%) 0.07 15040 1.59 0.34 23.83 4.76 6
21.25
83.03
일진파워 094820 건설 KQ   1.03 11750 15.90 1.40 9.07 3.30 6
52.39
66.27
자연과환경 043910 상업서비스와공급품 KQ   1.21 1084 108.40 1.27 1.16 2.59 6
38.89
42.84
덕신하우징 090410 건축제품 KQ   1.03 1963 5.10 0.87 18.63 24.61 5
52.96
76.99
태경비케이 014580 비철금속 KS   3.22 6740 7.42 0.98 14.29 9.38 5
61.69
76.55
코오롱플라스틱 138490 화학 KS 11000(44.93%) 1.88 7590 8.33 1.09 13.98 6.71 5
40.04
67.94
대한전선 001440 전기장비 KS   1.62 11890 35.60 1.66 4.80 2.21 5
43.85
45.78
이엠앤아이 083470 핸드셋 KQ   2.9 2055   2.92 -5.09 18.22 5
62.63
45.2
제이씨케미칼 137950 에너지장비및서비스 KQ   -0.14 7390 11.10 1.03 9.78 6.35 5
51.62
60.55
한국전자인증 041460 IT서비스 KQ   2.85 3975 25.32 1.58 6.45 1.62 5
66.35
59.66
NHN KCP 060250 IT서비스 KQ 17767(45.04%) 1.61 8210 14.08 2.39 19.35 4.14 5
35.17
60.7
NHN벅스 104200 방송과엔터테인먼트 KQ   -0.51 3900   0.72 -0.63 -5.70 5
48.14
41.07
티플랙스 081150 비철금속 KQ   2.84 3620 41.14 0.55 1.36 -1.27 5
64.21
49.15
네오위즈 095660 게임엔터테인먼트 KQ 51500(115.48%) -1.24 23900 70.50 1.05 1.59 7.50 5
38.89
60.24
현대에이치티 039010 통신장비 KQ   0.69 5870 32.25 0.50 1.73 -2.15 4
51.02
56.84
와이엠씨 155650 디스플레이장비및부품 KQ   3.23 5760 5.22 0.93 20.81 12.76 4
72.51
80.12
진흥기업 002780 건설 KS   0.77 1183 3.33 0.70 23.83 10.39 4
57.91
63.65
엑스페릭스 317770 전자장비와기기 KQ   9.95 4145 61.87 1.82 3.04 -4.50 4
86.3
42.29
신송홀딩스 006880 식품과기본식료품소매 KS   1.42 7150   0.81 -0.02 2.16 4
68.93
43.47
진성티이씨 036890 기계 KQ 16000(50.09%) 1.52 10660 4.84 0.95 24.22 16.78 4
65.54
74.9
에스트래픽 234300 IT서비스 KQ   2.69 4005 3.30 1.45 58.42 2.84 4
66.75
55.81
진바이오텍 086060 제약 KQ   0.48 4155 13.76 0.76 5.69 0.98 4
51.42
56.57

+ Recent posts