Files
MesinAbsen/setUserFingerTest.py
Aries Wibowo 484ba05a65 Initial test
2026-04-22 09:19:12 +07:00

155 lines
42 KiB
Python

import sys
import os
sys.path.insert(1,os.path.abspath("./pyzk"))
from zk import ZK, const
from zk.finger import Finger
import csv
import codecs
'''
mesin absen baru 10.35.7.12
mesin absen office 10.35.14.10
mesin absen injection in 10.35.7.10
mesin absen injection out 10.35.7.11
'''
zk = ZK('10.35.7.14', port=4370, timeout=5, password=0, force_udp=False, ommit_ping=False)
conn = zk.connect()
#clear buffer
conn.disable_device()
conn.free_data()
conn.refresh_data()
#uid = int(input("Masukkan UID : "))
#fp = 0
#fp_template = []
# Get a single Fingerprint (will return a Finger object)
#finger0 = conn.get_user_template(uid=uid, temp_id=0) #temp_id is the finger to read 0~9
#finger1 = conn.get_user_template(uid=uid, temp_id=1)
#finger2 = conn.get_user_template(uid=uid, temp_id=2)
#finger3 = conn.get_user_template(uid=uid, temp_id=3)
#finger4 = conn.get_user_template(uid=uid, temp_id=4)
#finger5 = conn.get_user_template(uid=uid, temp_id=5)
#finger6 = conn.get_user_template(uid=uid, temp_id=6)
#finger7 = conn.get_user_template(uid=uid, temp_id=7)
#finger8 = conn.get_user_template(uid=uid, temp_id=8)
#finger9 = conn.get_user_template(uid=uid, temp_id=9)
#finger6.fid = 2
#print(finger1.__dict__)
#print(finger1)
#print(fp_template)
# Get all fingers from DB (will return a list of Finger objects)
'''
fingers = conn.get_templates()
for finger in fingers:
print(finger)
# to restore a finger, we need to assemble with the corresponding user
# pass a User object and a list of finger (max 10) to save
users = conn.get_users()
user1 = next((u for u in users if u.uid == uid), None)
#print(user1)
#finger_template = Finger(index=0, template_data=finger3.template)
#delete finger
#try:
# conn.delete_user_template(uid, 6) #isi fid di parameter ke-2
# print("finger data deleted")
#except:
# print("finger data not deleted")
#save finger
#fingerdata = {'uid': 6, 'fid': 0, 'valid': 1, 'template': b'O\x05SS21\x00\x00\x06FF\x04\x08\x05\x07\t\xce\xd0\x00\x00\x1eGi\x01\x00\x00\x00\x86\xeb?SF\x14\x00\x87\x0f\x89\x00\xdc\x00\x95I\x1e\x00#\x00\xf8\x0fB\x00,F\x86\x0fH\x00-\x00\xbd\x0f$F1\x00q\x0f\xb3\x00\xf4\x00\x9cI>\x00<\x00p\r\x19\x00CF\x1d\x0fg\x00M\x00\xbe\r\x1fFO\x00\xf5\x0e\x9f\x00\x8a\x00\x8bI8\x00V\x00w\x0c\x14\x00_F\x98\x0f%\x00[\x002\r\xaeFa\x00\x15\x0f2\x00\xa4\x00vKg\x00h\x00x\x0f\xe8\x00wF\xf5\x0e\xe9\x00x\x00\xd6\x0f@Fx\x00\xf6\x0e\x99\x00\xbf\x00\x82I\xe6\x00~\x00\x98\x0fG\x00\x84F\x0b\x0ef\x00\x9a\x00\xb6\x0f\xcaF\x9c\x00\x93\x0f\x83\x00g\x00\x0fH\xb2\x00\xa6\x00\x90\x0f\xa4\x00\xa1Fo\x0f\xd7\x00\xa8\x00\xe4\x0f\xabF\xac\x00\x8d\x0f\x8b\x00j\x00\x01H\x96\x00\xb1\x00\x87\x0e\x87\x00\xc0Fe\x0fq\x00\xcb\x00\xa1\x0f9F\xd0\x00[\x0f\xb0\x00\x16\x00\x94I\xa2\x00\xd7\x00\x83\x0f%\x00\xdeF-\x0f}\x00\xdc\x00\x99\x0f$F\xe0\x00b\x0f\xa8\x00)\x00\x85H\x1e\x00\xf3\x00Y\x0f\xea\x00\xf2FT\x0f\x92\x00\xf9\x00\xcc\x0e\xc2F\xfb\x003\x0e\xab\x008\x00\x81K\x80\x00\xfe\x00A\x0f\x19\x00\xf9F:\x0fr\x00\x00\x01\x82\x0f\xa1F\x03\x01\x81\x0e\xb9\x00\xc0\x01\x99H\xd5\x00\x10\x01\xb2\r\x95\x00\x15GE\x0f\xce\x00 \x01\xb6\x0e\x9eF"\x01\x1b\x0f?\x00\xec\x01OIx\x004\x01&\x0e\x91\x000G3\rn\x00F\x01\xec\x0caFI\x01\xae\x0cO\x00\x8f\x01)M\x9b\x00P\x01\xa4\x0f\x88\x13T]\xfe\xf51\x0c\x07\xf8\xb6\r\xc6\xcd\xa7\x8a\x92\x83\xbd\xf4\xe7\xff\x04\xa9`\x08\xdd\xf3\x86\n\x01{X:#\x00B\rn\x17>\x80\xef\xbeX\xfb\xa2\x00\xb9\x86>\x84\x99OH\x07\x96\x0f\xa6\x07h\x01\\\xc2\xa7\x84!y\xce\xf5\xff\x0bfM\x80\x81\xd5\x0b\xbd~\xcb\x8ad\xc1\x9c\x88-\x05\x81\x81\xdc\x89\xc4\xd6g\x7f\xe8\xfb\xa1x\x98|\xcf\xb9w\x85*rY\x84\xf8\xfe\x9fE\xbd~\x16~\xcb\x80\xdc\x07(\xce{\x81q~\xd2p\x07\xfb\xb2\xc0G\x06\x96\x03i\x8as\x00\xdc\xdf\\\x04\x1al\xf2i\xc8tgA[\t\xa1\x04\x91\x86\xc3\x98J@\xe4\xffb\x08\xe1\xfc\xcbeDH\x00\x90\xe2\x91\xde\x97\x15\xfekLs\x89\x80\x83%\x00\xbf}\x86\xc5\xf0\xfe\x95\x82h\x0bG\x07\xf8\xbdD\t\xfe^\xce\xfa5\xfb\x94\xbe{\na\x10=\x13k\x06\xf7\xb64\x02R~\x9a\xf2w\xfb\xdd\xda\xcc\xf9b\x1dNU\xa0\tCH\x0b\x089\xfc\xb5\x02\x84\x06/B\xec\xf9\x07\x00\xad\xfc\x10\xf6\xf8\xb8\xec\xc9\x89\x8a}\x86h\x94S\xbc\xc8\xaeT\n\x11\xe8p\x04\xbf\xba49\xfe\xe5\x99\x89\x08\n\xc4\xdb4\x082@\x06\xee\x19\xfe\x03\xa3\xc0\x02\xc1ly\x18\xac!\x1b\x06\xa0yu\x83\x99\xff\xbf\x15,\xb8\xdc\xc0\xb6\xd5\xde9\x17\xf5<\xdb#\x17M\x1a\x11\x07\xa3\x1d\xb7\xbb\xb8{F\r\x99\x05 \xeak\xc1\xcd~-\x05\xee\xf8\r\x86W\xc4p\x7f\x1d\xfdM\x82\x8b\x08|\xc5\x9f\x8bf\x7f\xf7s}\xb1\xf5\xfe\xa5h ]\x01\x03\xe9&wC\x01\x9d\x02\x80\xc0l\xcc\x00\xa2A\x1f\xc0d\xc1\xff\xc0\xc3\x00\xb5N\x1b\xff\xc2\xfd\xc2\x05\xc5Q\x0fJ\xc0/\x08\x00\x92\t\xd65\xc7\x1a\x1a\x01\x15\t=U\x05d\\\x17Zd\xc0X\\\x05\xc5\x84\x0cQT\x03\x00"\x14t\x00\x04\x06\x17\x16\x80i\x0b\x00Y\xd2\t\xc7\xbbKJ\xff\x04\x00\x8d\xd9\x17cN\x01#%\xfaFG\xc6\x00Bm\x81\xc2\x0b\x00L-8@\xc7\xbbP\xff\x06\x00D1\xbf\x8b\xc4A\x01\xb64\x17@v\xc0\x00=}u\xc1\\\x0e\x00C\xf9\xf4\xf9w\xc1\xff\xfd\xc2\xc0\xc0\xfb\x03\x06{Am\xff\x04\x00\xdd\x8c"ZM\x01kM\x00/\xc1;>\xc6J\x01\x9bN\x90\x84u\x04\xfevE\x01!\\m\xc2\x04\xc5\xd5ZZe\x08\x00\xab`\x16\x8f\xc1AE\x01.bp\xc1\x10\xc5Ka\xb24\xc0\xfe5Y\xc0\xfe\x05\x06\x00nm\xfdm\x10\x00\x8du\xf2\x86\xfe3\xfe\xc12\xc2\x83\x14\x06Tv\xf4\xc2S2\xff\xee6d\x86\x06\x00\x95w\x8c\x89\x04\xff\x03FC{t\xc0\xc1\xfe\xce\x00\x93:\x87\xc2\xc1\xff\x84\xff\x05\xc1\x0fF\x9c}\x10\xfe\xc1E\xf0\x06\x06\xc0\x81\x06\xfe\xfe\xc3\xfc\xce\x00x\xc4|q\xc0d\xc0\xc5\xce\x00\x87\xcc\x82\x80b\xc1\xc0\xc0\xc2\x00\x85\xcd\x07\xc0\xfe\xc0Q\x08\xc5b\x9e1ws\x06\x00j\x99?5\xf8A\x01\xb2\x9b\x17\xff\xc2\xed\t\x06$\x9cqd\xc0h\x0f\xc5\xb2\xa7\xd1\x91\x84\xc2Yb\x03\xc5\x86\xa4@\xfe\x08\x00\xb4\xa3\x1a\x8aX\rFd\xa5\xf4\xff\xff\xfd\xf5K\x0eF\\\xa6p\xc0kW\xc1\x00\xdd\xee\x1fJ\x08\x00^\xab\xac\xff\xc6\x86z\x04\x00\xd8\xac \x94\t\x06\xc1\xae}\xc3|\xc3g\xcc\x00\xa3\xf6\x92\xc3\xc1\xc2\x93\xc0\xcc\x00\xa1\xf7\r\xfd\xff\xfe\xfdk\xcb\x00\x9d\xf5\x11\xc0\xfe\xfd\xfeV:\xfd\xf9h\x07\x00>\xc5k\xc2\x97\x07\x06\x07\xcbg\xc2\xc1E\r\xc5m\xca!\xc3\xc0\x80h]\x12\xd5(^\x95rm3\xff\xc0\xfe8\xfe$U\x01\xb0\xcf\x9a\xc3\xc1\\\xc5w3\xff\xc0\xc1L\x08\x00\xfb\xd3X\x84\xff~\xff\x10\x00\x9f\x16\x8c\xc2\xdd{|`\xfe\x06\x00q\xd6$~\xfc\x04\x00\xa7\xd9\x1a\xea\x03\x06\xa2\xda\'\xc0\x0c\x00y\x19d\xc5\x86\xc2\x81\x92\xc0\x05\x00\x1a\xdc+\x86V\x08\x00|\xe0^\xb2\xc3xE\x01\x1f\xe3`\xc0\x0c\xc5\xa5\xec\xc0\xc3\xc6\xa7\xc2\x92\xc1\xc1\x00b\xaa]\x92\x06\x00+\xf5\x96Q\xf9E\x01\x1d\xf7\\\xc1\x06\xc50\xfe\x15\xc1L\x05\x00\x84\xfa\'\xfa\xfb\xbc\x11\x00\x8d\xfbP\xc4\x06\xc3\xc6\x84\xc3\xc3\xc5\xc3\xa9\x83\xcc\x00\xce\xbb1\xc0\xfc\xfc\xfa\xf9\xe5\x03\x06\x82\xff4\xff\x07\x10}\xc7F\xc4\x82\x80\x0b\x10\x83\x02F\x06\xc3z\x84\xc2\xc2\xc5\x04\x10\xa3\xc1\x83\xcc\x8c\x07\x10\x97\x08=\xc5\x03\x98\x0bV\xc2\x10\xb0\x86\xc4\xc3\x03\xc2\xc5\xc0\x02\x10\x9f\x11\x13\xc3\xc3\x106TRY\xc0\x06\x10N\xd2I\xc7<\x05\x10S\x17FO\xc6\x10\x98Q\x16\xc4\x06\x10p\'\xf2\xc1\x92d\x11\x99\')\xc3\xc4\x06\xb2\x8f\x85u\x91\xc2\xc2\xc2\xc1\x07\xc2\xc7\x84\xfe\xc2\xc1\xfe\xc0\xc0\xb4\x05\x16x/I\xc0\xfd\xc1\x05\xd5z1o\x7f\x04\x10S;4H\x03\x16\xe9d\x80\xc0\x00', 'mark': b'4f05535332310000...480316e96480c000'}
#fingerdata_yusup1 = Finger(uid=6, fid=0, valid=1, template= b'O\x05SS21\x00\x00\x06FF\x04\x08\x05\x07\t\xce\xd0\x00\x00\x1eGi\x01\x00\x00\x00\x86\xeb?SF\x14\x00\x87\x0f\x89\x00\xdc\x00\x95I\x1e\x00#\x00\xf8\x0fB\x00,F\x86\x0fH\x00-\x00\xbd\x0f$F1\x00q\x0f\xb3\x00\xf4\x00\x9cI>\x00<\x00p\r\x19\x00CF\x1d\x0fg\x00M\x00\xbe\r\x1fFO\x00\xf5\x0e\x9f\x00\x8a\x00\x8bI8\x00V\x00w\x0c\x14\x00_F\x98\x0f%\x00[\x002\r\xaeFa\x00\x15\x0f2\x00\xa4\x00vKg\x00h\x00x\x0f\xe8\x00wF\xf5\x0e\xe9\x00x\x00\xd6\x0f@Fx\x00\xf6\x0e\x99\x00\xbf\x00\x82I\xe6\x00~\x00\x98\x0fG\x00\x84F\x0b\x0ef\x00\x9a\x00\xb6\x0f\xcaF\x9c\x00\x93\x0f\x83\x00g\x00\x0fH\xb2\x00\xa6\x00\x90\x0f\xa4\x00\xa1Fo\x0f\xd7\x00\xa8\x00\xe4\x0f\xabF\xac\x00\x8d\x0f\x8b\x00j\x00\x01H\x96\x00\xb1\x00\x87\x0e\x87\x00\xc0Fe\x0fq\x00\xcb\x00\xa1\x0f9F\xd0\x00[\x0f\xb0\x00\x16\x00\x94I\xa2\x00\xd7\x00\x83\x0f%\x00\xdeF-\x0f}\x00\xdc\x00\x99\x0f$F\xe0\x00b\x0f\xa8\x00)\x00\x85H\x1e\x00\xf3\x00Y\x0f\xea\x00\xf2FT\x0f\x92\x00\xf9\x00\xcc\x0e\xc2F\xfb\x003\x0e\xab\x008\x00\x81K\x80\x00\xfe\x00A\x0f\x19\x00\xf9F:\x0fr\x00\x00\x01\x82\x0f\xa1F\x03\x01\x81\x0e\xb9\x00\xc0\x01\x99H\xd5\x00\x10\x01\xb2\r\x95\x00\x15GE\x0f\xce\x00 \x01\xb6\x0e\x9eF"\x01\x1b\x0f?\x00\xec\x01OIx\x004\x01&\x0e\x91\x000G3\rn\x00F\x01\xec\x0caFI\x01\xae\x0cO\x00\x8f\x01)M\x9b\x00P\x01\xa4\x0f\x88\x13T]\xfe\xf51\x0c\x07\xf8\xb6\r\xc6\xcd\xa7\x8a\x92\x83\xbd\xf4\xe7\xff\x04\xa9`\x08\xdd\xf3\x86\n\x01{X:#\x00B\rn\x17>\x80\xef\xbeX\xfb\xa2\x00\xb9\x86>\x84\x99OH\x07\x96\x0f\xa6\x07h\x01\\\xc2\xa7\x84!y\xce\xf5\xff\x0bfM\x80\x81\xd5\x0b\xbd~\xcb\x8ad\xc1\x9c\x88-\x05\x81\x81\xdc\x89\xc4\xd6g\x7f\xe8\xfb\xa1x\x98|\xcf\xb9w\x85*rY\x84\xf8\xfe\x9fE\xbd~\x16~\xcb\x80\xdc\x07(\xce{\x81q~\xd2p\x07\xfb\xb2\xc0G\x06\x96\x03i\x8as\x00\xdc\xdf\\\x04\x1al\xf2i\xc8tgA[\t\xa1\x04\x91\x86\xc3\x98J@\xe4\xffb\x08\xe1\xfc\xcbeDH\x00\x90\xe2\x91\xde\x97\x15\xfekLs\x89\x80\x83%\x00\xbf}\x86\xc5\xf0\xfe\x95\x82h\x0bG\x07\xf8\xbdD\t\xfe^\xce\xfa5\xfb\x94\xbe{\na\x10=\x13k\x06\xf7\xb64\x02R~\x9a\xf2w\xfb\xdd\xda\xcc\xf9b\x1dNU\xa0\tCH\x0b\x089\xfc\xb5\x02\x84\x06/B\xec\xf9\x07\x00\xad\xfc\x10\xf6\xf8\xb8\xec\xc9\x89\x8a}\x86h\x94S\xbc\xc8\xaeT\n\x11\xe8p\x04\xbf\xba49\xfe\xe5\x99\x89\x08\n\xc4\xdb4\x082@\x06\xee\x19\xfe\x03\xa3\xc0\x02\xc1ly\x18\xac!\x1b\x06\xa0yu\x83\x99\xff\xbf\x15,\xb8\xdc\xc0\xb6\xd5\xde9\x17\xf5<\xdb#\x17M\x1a\x11\x07\xa3\x1d\xb7\xbb\xb8{F\r\x99\x05 \xeak\xc1\xcd~-\x05\xee\xf8\r\x86W\xc4p\x7f\x1d\xfdM\x82\x8b\x08|\xc5\x9f\x8bf\x7f\xf7s}\xb1\xf5\xfe\xa5h ]\x01\x03\xe9&wC\x01\x9d\x02\x80\xc0l\xcc\x00\xa2A\x1f\xc0d\xc1\xff\xc0\xc3\x00\xb5N\x1b\xff\xc2\xfd\xc2\x05\xc5Q\x0fJ\xc0/\x08\x00\x92\t\xd65\xc7\x1a\x1a\x01\x15\t=U\x05d\\\x17Zd\xc0X\\\x05\xc5\x84\x0cQT\x03\x00"\x14t\x00\x04\x06\x17\x16\x80i\x0b\x00Y\xd2\t\xc7\xbbKJ\xff\x04\x00\x8d\xd9\x17cN\x01#%\xfaFG\xc6\x00Bm\x81\xc2\x0b\x00L-8@\xc7\xbbP\xff\x06\x00D1\xbf\x8b\xc4A\x01\xb64\x17@v\xc0\x00=}u\xc1\\\x0e\x00C\xf9\xf4\xf9w\xc1\xff\xfd\xc2\xc0\xc0\xfb\x03\x06{Am\xff\x04\x00\xdd\x8c"ZM\x01kM\x00/\xc1;>\xc6J\x01\x9bN\x90\x84u\x04\xfevE\x01!\\m\xc2\x04\xc5\xd5ZZe\x08\x00\xab`\x16\x8f\xc1AE\x01.bp\xc1\x10\xc5Ka\xb24\xc0\xfe5Y\xc0\xfe\x05\x06\x00nm\xfdm\x10\x00\x8du\xf2\x86\xfe3\xfe\xc12\xc2\x83\x14\x06Tv\xf4\xc2S2\xff\xee6d\x86\x06\x00\x95w\x8c\x89\x04\xff\x03FC{t\xc0\xc1\xfe\xce\x00\x93:\x87\xc2\xc1\xff\x84\xff\x05\xc1\x0fF\x9c}\x10\xfe\xc1E\xf0\x06\x06\xc0\x81\x06\xfe\xfe\xc3\xfc\xce\x00x\xc4|q\xc0d\xc0\xc5\xce\x00\x87\xcc\x82\x80b\xc1\xc0\xc0\xc2\x00\x85\xcd\x07\xc0\xfe\xc0Q\x08\xc5b\x9e1ws\x06\x00j\x99?5\xf8A\x01\xb2\x9b\x17\xff\xc2\xed\t\x06$\x9cqd\xc0h\x0f\xc5\xb2\xa7\xd1\x91\x84\xc2Yb\x03\xc5\x86\xa4@\xfe\x08\x00\xb4\xa3\x1a\x8aX\rFd\xa5\xf4\xff\xff\xfd\xf5K\x0eF\\\xa6p\xc0kW\xc1\x00\xdd\xee\x1fJ\x08\x00^\xab\xac\xff\xc6\x86z\x04\x00\xd8\xac \x94\t\x06\xc1\xae}\xc3|\xc3g\xcc\x00\xa3\xf6\x92\xc3\xc1\xc2\x93\xc0\xcc\x00\xa1\xf7\r\xfd\xff\xfe\xfdk\xcb\x00\x9d\xf5\x11\xc0\xfe\xfd\xfeV:\xfd\xf9h\x07\x00>\xc5k\xc2\x97\x07\x06\x07\xcbg\xc2\xc1E\r\xc5m\xca!\xc3\xc0\x80h]\x12\xd5(^\x95rm3\xff\xc0\xfe8\xfe$U\x01\xb0\xcf\x9a\xc3\xc1\\\xc5w3\xff\xc0\xc1L\x08\x00\xfb\xd3X\x84\xff~\xff\x10\x00\x9f\x16\x8c\xc2\xdd{|`\xfe\x06\x00q\xd6$~\xfc\x04\x00\xa7\xd9\x1a\xea\x03\x06\xa2\xda\'\xc0\x0c\x00y\x19d\xc5\x86\xc2\x81\x92\xc0\x05\x00\x1a\xdc+\x86V\x08\x00|\xe0^\xb2\xc3xE\x01\x1f\xe3`\xc0\x0c\xc5\xa5\xec\xc0\xc3\xc6\xa7\xc2\x92\xc1\xc1\x00b\xaa]\x92\x06\x00+\xf5\x96Q\xf9E\x01\x1d\xf7\\\xc1\x06\xc50\xfe\x15\xc1L\x05\x00\x84\xfa\'\xfa\xfb\xbc\x11\x00\x8d\xfbP\xc4\x06\xc3\xc6\x84\xc3\xc3\xc5\xc3\xa9\x83\xcc\x00\xce\xbb1\xc0\xfc\xfc\xfa\xf9\xe5\x03\x06\x82\xff4\xff\x07\x10}\xc7F\xc4\x82\x80\x0b\x10\x83\x02F\x06\xc3z\x84\xc2\xc2\xc5\x04\x10\xa3\xc1\x83\xcc\x8c\x07\x10\x97\x08=\xc5\x03\x98\x0bV\xc2\x10\xb0\x86\xc4\xc3\x03\xc2\xc5\xc0\x02\x10\x9f\x11\x13\xc3\xc3\x106TRY\xc0\x06\x10N\xd2I\xc7<\x05\x10S\x17FO\xc6\x10\x98Q\x16\xc4\x06\x10p\'\xf2\xc1\x92d\x11\x99\')\xc3\xc4\x06\xb2\x8f\x85u\x91\xc2\xc2\xc2\xc1\x07\xc2\xc7\x84\xfe\xc2\xc1\xfe\xc0\xc0\xb4\x05\x16x/I\xc0\xfd\xc1\x05\xd5z1o\x7f\x04\x10S;4H\x03\x16\xe9d\x80\xc0\x00')
#fingerdata_yusup2 = Finger(uid=6, fid=1, valid=1, template= b'OwSS21\x00\x00\x064;\x04\x08\x05\x07\t\xce\xd0\x00\x00\x1e5i\x01\x00\x00\x00\x86\xd9A\xd44\x1c\x00\xee\x0f\xa4\x00\xda\x00\xe6;A\x00!\x00\xd8\x0f\xe8\x00?4_\x0e\xa2\x00<\x00"\x0f\xb54@\x00g\x0fq\x00\x86\x00\xdc; \x00F\x00\xde\x0e!\x00P4\x0b\r\x9c\x00[\x00,\x0f\x874^\x00\xe2\x0f\xd9\x00\xa6\x00\x069\xef\x00f\x00\x05\r\x12\x00i4\x06\x0e\xdb\x00}\x00\xcf\x0f\xac4\x7f\x00\xf5\x0e`\x00C\x00\xe5;?\x00\x88\x00b\x0f|\x00\x964n\x0fm\x00\x94\x00\xa5\x0f\x924\x99\x00b\r\xa3\x00_\x00\xe99\xe8\x00\x9c\x00\r\x0e3\x00\xa64\x8a\x0e\x1c\x00\xa1\x00\xae\x0e\xc54\xa5\x00\x07\x0f\x11\x00b\x00\xed:$\x00\xac\x00h\r)\x00\xab4\x0e\x0e\xd6\x00\xba\x00\xca\x0fR4\xbc\x00\xdd\x0f\x1a\x00z\x00e9*\x00\xc1\x00]\x0e\\\x00\xc44\xf4\x0f>\x00\xca\x00\x98\x0e44\xcc\x00\xda\x0e0\x00\x10\x00\\:\x19\x00\xd7\x00\xde\x0e\xab\x00\xdc4\xe3\x0f\xf3\x00\xda\x00\xd2\x0f\x1b4\xda\x00]\x0e\xaf\x00$\x00t;\xcd\x00\xe1\x00\x14\x0fs\x00\xf64\x0e\x0f\x10\x00\xf9\x00\x1e\x0f~4\xf8\x00\xe4\x0f\xa5\x00\xc5\x01\x0c;\xf5\x00\x06\x01(\x0f\xaa\x00\x165\xe1\x0f\xd9\x00\x12\x01\xf5\x0fg4\x16\x01\xd5\x0f\x86\x00\xdc\x01\xeb;u\x00\x1f\x01\xe3\x0f\x88\x00.5\xd2\x0f\xca\x00.\x01\x87\x0f\x8941\x01a\x0f\x9b\x00\xf4\x01Z::\x00<\x01\xdb\x0e\xb3\x00;5c\x0f\xe1\x00>\x01\xf8\x0e*4E\x01\xd8\x0e\xca\x00\x8d\x01K;.\x00J\x01\xe4\x0e\xfd\x00H5\xeb\x0e\x96\x00S\x01\x9a\x0f\x15$\xf2\x88\xff\n\xe5\xfb\x17y\xa5\xc0\x07|\x07\xfc\xc3\x03D\x81\xf8\xbc*\x87\xa5\x81]\x0b\'\x00\xa3\xb5{\x81\xca\x89\xd2\xf8z\xf0\xa5\xc0\x80\x81\x83\x08\xd3\x7f\x10\x0c\xa71\xc8\x07\x11\x0bb\x04\xb3\x85\x9f\xcfK\x08\x7f\xfc\xc8\xfb\x98\xf8\x83\xc9$\xfd\x01\x05\xed\x02\x85\x0b\xab\xc8h\x06-\x045\x0f\x93\x04\xb7\xbe\xd4\x0b\xea\x95\xc1\x85\xdb\x81}5\x1f\x81\x86\xfbz\xff\x84j\xb3J\x80\x82\xc1}&\x02\xbe\x84#@\xffm\x16\xf6\x19\x8cD\x82[\xcb\x80\x84\xad\x00"\x05D\x80WH[~\x80\x839\x04\x9f\x08/\xae\x9c\xfb\x06\x19\x80\x83d\x85\xcf\xbf\xbc\xfc\xa5}M\x0e\x88\x84+0\xdc\x03]\x03\x15\x0b\x8f\x05\x0b\xb7\x13\x06\xc6\xfe!\x080\xfeg\xb2L\x84\xa9\xfcY\x05w\x86P>K\x97\x98\x87\x89\x05p\x01\xf6\xb6\x9d\x7fQ|\xf0\x82\xc8\xfd\x9f\xc9\xbd\x82e~\xa1\x86\x17\x00D2\x8a\xec\xe2\x06\x0e\x0bo\xf3\xc6\xb6\x18\x05\r\x86=d\xd4cX\\\xd4\x07\xed\xa7f\xfe\xe4\x9c\xd32X\xffv\x80r\xfdB\x80\xeb2S\x04\xce\xf9Y\xfe\x83\x98\xd8*\xcb\xf8\x1a\x13\xfb\x16\xc8\x0c\xd3\xc8p\xfeB\x08\xa6\xf0O\xf7\x9f\xc0\xbc\xf5\x11\x07\t\r\xe0\x0e\xc3\xbaP\x04\x91\xf9-\x11T\x03\x0b\xcf\xa7\xf2\x81\xf7Y\x07\xd3\x14"3\xd0v\x8d\x03\xa8\xff\x0fph\xc9\x10\x04\xed\xf1\x05\xf9\xc8\x03\xd8\xb4;\x06\xb5\xf2\xdd\xff;\x0f\xd2\xc2\xc4\xf0\x95\xfc%\x120\x0f\xc1\xc5I\x0e\xac\xffy\t\xed\x0b3 \\\x11\xea\x05\xda\x01\x7f\xfe\xb8\xc9\xf7\xc7T\r+\xb4\xc4 S5\x02\x01&J\x06\x00\xfc\x03;\xcf\xfcY\x04\x006\x04\x96+\x0b4m\x06V\xc1@h:\xff[:\x01}\x07^\xc1V\x90\xff\xf9e\x0e\x00\x88\x07\\s\x8f\xc0B\xcbT\x06\x00\xa1\x07^\x05\xc1P7\x01V\x08\\\xc1\x10\xc5\x93\x0fj\xc0d\xc0\xffU\xff\x05\xfeZ&\x01\xab\t`s\xc1;bR~K\x05\x01\x16\t@\x05J\x0c4a\nZ[\xc0\xc0:5\x124\xce\x0bg\xc0\xc2\xfe\x07eb\xcbjd\xc0\x05\x00\xd6\xd6it2\x01\xe4\x1epn\xff\xce\x00\xa7\x16_b\xff\xff\xc1U\xc0\x00\xee\x12qn\x07\x00\xe23\xb4\xc0y\xca\x05\x00\x9e@b\xc0\x04\x05\x06\x9bAm\xc2\xc1\xff\x15\xc5\xefF\xb2\xc4{Vp\xffg\xae\xc3\xfa=\x01\xb2Ei\xc1\xc1\x87\xc0\xc7\'\x01\xf0J\x80\xc2\x7f\x04Z[HZ\x0e\x00\xe0Vw@\xc1oma\x0e\x00~bb\xa2\xfetcq\r\x00\xd5ct\xactdj\x05\x00\xdbm\x001\xc1\x00\xd5D|\x87\x04\x00\xdbs\xc66\x034\xdez\x06\xff\xff\xff\xc1\x00\xd1I\x88\x9f\x04\x00\xdf\x80\xc9Y\x124\xa7\x81gf\xc0d\xb5X\xc4\xcb\xfe\xc0\xc1\x03\x009Md\xc71\x01=\x8c^\xc08\xc2\x00\xbb\xbb\xfc\xff/\xc1\x06\x00\xaf\x95f]\xfe\n\x00\x98\x95\xe7;\xfe\xf9\xc8i\xc1\x11\x00\x90\x97\xa7\xc0\xc6\xf5\xc1ds\xc2\xffU\xcc\x10\x13r\xdbpU\xc0\x15\x00!\x9c\x8f\xf6\x82\xc2n\xc0{p\x04\xc05;\x01\x9f\x9di\xfe\x93\x05\xc1t\xcb\xc3\xff\xff\x06\x00\xc7d\x031\xcb\t\x00\xbf\xa5z\x90\x04s\x004\xc6\xa8\t\xc0\xfeg\xc1\x00\xdd\x8f\x11J\x0b\x00Q\xc1\x9b\xc2^\xcb\xc0V\t\x00\x9d\xc14\xff\xfb\xca\xfc\xc1[\r\x01\x05\x03\x93\xc7\xf4q\x9e\xc0s\x08\x00\xfb\xceQg\xc1`\x04\x00,\xd6\x99\\\x0040\xd9Z\xc0\xc0_\xd6\x01\x03\xe9\x92h\x92\xc2\xc0\xc3\x05\xc1\xc7\xb7\xc0\xfe\n\x00j\xde\x9fi\xc6{\xc1\x06\x00\xd0\xde\x0f;>\x054\x1c\xdfZ\xc0\x06\x00l\xe1r\xbd\xc1\x07\x00\xc8\xe1\x89\x05\x9f\xc72\x01\xd2\xe5\x167\xff\xd7\x01\x04\xd8\x9b\xff\xc3|\xc1\xc3\x05\xc3\xc6\xbd\xc0W\x08\x00\xba\xee\xc3\xfe\xfa\xcb\xffI\x0c\x00\xb2\xf0\xb2\xc2\x8dVF\t\x00\xba\xf3\x0f;\xff7u\x0b\x00\xa9\xff\x03\xfc8(\xf8\x0f\x10\x01\t\xfe\xa0t\x06\xc1\xc6\xa5\x88\xc1\x83\n\x10\xd6\xcb\xa0\xc4\xf6\xa8\xc1\xc1\xff\x0f\x10\xb6\x0f\xe6r-\xc1\xfc*W\x07\xd5l\x15TiF\x0b\x10\x88\x14,\xc0\xfc\xca\xfd\xfb\xc0\xfe3\x05\xd5\xdd\x12\x1d\xff\xc0\xff\x06\x10\xd7\xd3-D\xc9\n\x10\x8a\x19\xed\xff9\xfb\xfd\xc9\xfc\xfdA\r\x10\xb5\xdf\x89\xc2\xf7y\xff]\xfb\xc1\x07\xd5\x82\x1aS\xc0[\xff\x05\x10\xa6\xdbt\xc5G\x07\x10\xba"7\xfd9E\x00$\xb3#:!\xc1\x07\xd5\xa6"]~Y\x04\x10\xac$\x86\xfd\xf80\x10\x14,:>\x04\xd5-.x\xff\xff\x06\x10\xa5+\x95+\xc62\x11\x8d2b\\\xff\xc0\x10\x9c\x01]E\x05\x10q>\xa1\xc1)0\x11uA`\xc0\xc0')
#fingerdata_jundy1 = Finger(uid=281, fid=0, valid=1, template = b'L\xddSS21\x00\x00\x05\x9e\x9c\x04\x08\x05\x07\t\xce\xd0\x00\x00\x1d\x9fi\x01\x00\x00\x00\x85C8~\x9e\x12\x00\x8d\x0eM\x00\xdb\x00\x89\x91t\x00!\x00\t\x0e\x14\x00 \x9e\x06\x0f\x89\x00&\x00N\x0e\x88\x9e4\x00\x13\x0e\x99\x00\x84\x00\x94\x91"\x00Q\x00\x85\x0f\x1d\x00S\x9e\x08\x0e\xe7\x00Y\x00L\x0eK\x9e[\x00\x81\x0f\xf3\x00\x99\x00\x01\x90\xcf\x00b\x00\r\x0e\xf8\x00b\x9e\x01\x0fj\x00l\x00G\x0f3\x9eo\x00|\x0f\xfe\x00\xaa\x00\x8f\x91\x9f\x00y\x00\x87\x0f-\x00\x7f\x9e\r\x0f/\x00\x91\x00>\x0f\x86\x9e\x9c\x00\x06\x0e\x98\x00e\x00\x80\x90\xfa\x00\xa1\x00\x13\x0e\xf9\x00\xa6\x9eu\x0f\x10\x00\xb0\x003\x0f\xb5\x9e\xb4\x00\x8a\x0f\x8c\x00\x7f\x00\x84\x91\xaa\x00\xbc\x00\r\x0fD\x00\xc2\x9e\t\x0f%\x00\xc8\x001\x0fL\x9e\xcb\x00r\x0f\x98\x00\x15\x00\x82\x90H\x00\xd8\x00p\x0fP\x00\xe1\x9e\x07\x0e\xd0\x00\xe5\x00H\x0f"\x9e\xe7\x00\xf0\x0f3\x00+\x00i\x91i\x00\xf2\x00\xfc\x0f\x02\x00\xfd\x9e\x8c\x0f\xb6\x00\n\x01A\x0f\x07\x9f\x0f\x01\x9c\x0e[\x00\xd6\x01j\x93\x8e\x00\x14\x01~\x0f\xb2\x00&\x9fl\x0f;\x00%\x01\xad\x0cW\x9e$\x01i\r.\x00\xe8\x01\xec\x93\xbc\x009\x01\x87\x0f(\x00?\x9f\x98\x0e\xd8\x00;\x01\xe7\x0e\xc0\x9eB\x01!\x0f:\x00\x81\x01f\x93R\x00P\x01\xe7\x0f]\x00U\x9fq\x0f(\x00R\x01$\x0e\xc7\x9eW\x01\x8f\x0fE\x84\xdc\x06\'\xe0\xfb\x86\xef\x007\x0f\x8c|\x84\x1f\x97\xf8\xb7\x00\xab\x82z\xff(\xe6\x80\x85\x9d\x02%\x88H\x84\x0f\x92\x90\x80\x9a\x08\x8f\x88\xdf\x85#\x97\x07\x07\x81\x80\xd5\xfcD\x07\x05\x19\x80\x80i\x7fe\x81\xa3\x04\x1f\x9e\t\x7f\xa9~\x05\xff\x94\x04`\x19\x93\x01\xe0\x87e\x81\xdb}\x93\x9e\x87\x87\x7f\t\xe4\x7f/\xfc\xabg\xa0\x8ae\x82\x96\x00\x87\x06S\x1d\xea}a\x86F\x08\xf3\x84\xa8\x14O\x81\xe6\x07\x81\x81k\x84\xbb\x9d\x80\x81M\x07\x1a\xfc\xdb\x0b6\x17*\x13\xb5zB\x06\xa3\x83\xab\x9ao\xff\x83\x84P~S\x04S\x9b\\x-\xfe\xd1\xff\x89\x86\xd0\x15\xf7\x8cU\x88\x89\x82g\x05\xcf\x9a3\x00\x92\x85Q\x04W\x81\xc7\x9c@\x81\x89\x82\xa5\n\x14\x00w\x9a\x83\x81A\x81"\x01\xf7\x87@\x9fO\x0b\x97\x82\xa9\x84\x8b\xfc\x87\x1f\xac|\xf6\xfc\xc6z\x13\x8d\'\x10z\xf8\xc5\x01Q\nB\x8a\xd8ds\n\xd6\xfb;\x04\x82\x7fr\x8dd\t*\x04\xe2u\xa8\x13\xff`\xcax\xfd\xf3\xaa\x00W\x05\x84\x1e\x18\x02Z\x04\xed\xfd\\\x02\x97\x1f\x80\x80\xc5\x8b\x92\x81\xd9k\xf8\xf94\xfbeybz\xae\x14\xc8\x9f\\\x89\xe1\x9f\x04\x9f`\x95T\x9f\x84\x86\xc9\x7f1\x7f\xe8\x87_\x1d\x1b\x0b\x16\xe3\xfa\xeb\xc2P\x80\x1cg\xf9\x9e\xff\xb9qh\x0b\xcb\xf3\xf4\xdf\xf7\xf7\xff|y _\x9f\x03\xd9!\xd2\x03\x00a\x08\x15^\t\x00\x84\t\x0cZ\xbd\x04\x04\x88\x08@Y\x04\x00R\xc9\x0c\xc5\\\x02\x00(\x12\x10\xc1\xcf\x00z\x8d\x11sh\xc0\xff\x03\xc5O\x12\x92\xc1\n\x00\x18\x1c\x03\xf2\xc2\xf8^\xc0\xc1\n\x00\x8d\'\xc3D]\xfe\x0b\x00\x1c(\t\xc0\x05SY\x8e\x01\x063\x03DI\x90\xc0T^\x0b\x00\x903\t\xc0\x87\xc0n\x8c\x01\x08>\x06R\xfd\x07b\xfb^Z[\x05\x00\x9dD\xc9\xc0L\x9d\x01\'Q\x06\xc0\x0f\xc5R^\x98T\xc0Fm\xc1J\xc3\x00O\xc3{\xc0\xfd\x83\x04\x00\x14`\x0c\xc4\x02\x00Bf\x00\xff\xc1\x00\xd4\xf8\x11x\x04\x00\nk\xc5O\x01\x9eol\x06J\x04\x00\xffn\x06\xf7\x05\x002rwT\xc1\x00\xee\xe7\x070\x08\x00\xa2z\xd5\xc0n^\xc3\r\x00\x9a{\x83\x8c\xc0\xc5\xe0\xc1\xff\xc1\x04\x00\xea\xbb\x10R\x90\x00\x16\x8d=U\xc0\x05bTa\x05\x11\x0f>Z\xc2;\x12\x05\xaa\x90\xf7LO=v\x9d\xfe\x16\x9e\x12\x92\xfav6D\xfe\xc3P_\x04\x00~\x9c}\xff\xbe\x04\x05\xa6\xa3w\xc0\xc2\n\x00Y\xa3\t\xcf\xc3>\xc2\x16\x00\x07b\xf0\xc5\xb1\xc0B\xfe/]d\x82\x04\x05\xa5\xa6p@\t\x00=k\xf10\xa3\xc1\x05\x005\xb2w\x048\r\x9e\x89\xb6\x83ij\x07\xc5\xb4\xb3\x92KI\x04\x01\x04\xd3\xe7\x1b\x0b\x9e\xac\xb8\x89\xffwt\xb5G\x0f\x9e\x91\xbb\x06/\xc1\xc0\x05e\x02\x9e\x89\xbc}R]\x07\xc5\xb0\xb8\x92KY\n\x00\x85\xc4\xc5\xfe2\xcc\xfe\x04\x00}\xc7\x83\xb3\x06\x05\xdb\xc8w\xc1\xc1\x85\x06\xc5G\xcb\xeep\xc0\x05\x00\x9c\xd1\xcc\xfe\xc4^\x07\x00\x94\xd3\x86p\x07\x03\x05\xdb\xd6q\xc0\x03\x00G\x19m\xfa\x95\x01\x91\xe3\x80\xc0\xc2\xaft\xc7\x98\x01\xad\xe7\t\xffS\xc6\x00\xd1y\x0e\xc1\r\x00\xcc\xe8Ib\xc6\xd0\xc1\xc2d\x03\x00#,i\xc5\x9d\x01.\xedm\xc1\x05\xc5l\xebi\xffB\x04\x001\xf2\xae\xc0\xc7\x96\x01d\xf2w\x81i\xc2\x00ij\xfcE/\x04\x00\xcb?\t3\x9d\x11\xfc\x10 \xfd\x08\xd5\xb2\x03\x18kl\x06\x10N\x07\xa8t\xc7\x9b\x11\xba\n\t8\x0e\xd5\xb2\t\xe3\xffr~\x83\xc1\xc2\xc2\x10\x8e\x8c\x82\x8cn\n\x10\x93\xd1\x03\xc4\xa5\xc1\xff\xfb\xff\x05\x10I\x17x\x18\x04\x10s!q\xc2\xa0\n\x15\xe5#\xf78@%\x05\xd5N!\xf3q\x13\x10\x15%\xde:\xfe\xc5a\xfd\xc3\xfc\xc2\xfe\xc0\x05\xff\xfa^\xfeU\x07\x10t\'\xa8oe\x98\x11Q)i\xc1\xff\x04\xc5\x0c\x8e\xb98\x89\xc2\xc1\xc1\x07\xc1~\x94\x11\xc1@\x83\xff\x83\x06\xc0\xc7`\x02\x10\xc9B\x1e\xc0\xc8\x10P\xd2\xe3\xfe\xc03\xff\xfe;\xc1\xf9a\x02\x10\x94Mz\xc5\xcd\x10\xc4\xd0\x92\x93\xc3\x8b\x03\x10YP\x05`\x12\x10\xf3W\xc3\xc8Sr\xc6^\xc3\xc1\xc1~\xc1\xfc\xc0\x10\x8b\xc0\xf5\xfd4\x03\x10A\xa6\x00\xfb\x9b\x11\x92d\x03k\x00')
#fingerdata_jundy2 = Finger(uid=281, fid=1, valid=1, template = b'L\x97SS21\x00\x00\x05\xd4\xdb\x04\x08\x05\x07\t\xce\xd0\x00\x00\x1d\xd5i\x01\x00\x00\x00\x85yA\x17\xd4\x1d\x00\xd0\x0e\x1d\x00\xdb\x00M\xd9/\x00"\x00T\x0ek\x00&\xd4f\x0f\x8f\x00*\x00\xa1\x0f\x9c\xd4+\x00\xea\x0f^\x00\xee\x00\xee\xda8\x004\x00\xc3\x0e\x05\x00=\xd4\xe6\x0f\xfb\x00?\x00\x13\r\x99\xd4@\x00\xe2\x0fI\x00\xa1\x00\xd9\xda,\x00u\x00A\x0f\xb8\x00|\xd4\xe2\x0fA\x00\x80\x00\x1a\x0f0\xd4\x91\x00\xc6\x0f\x14\x00P\x008\xda>\x00\x9a\x00\xe0\x0fg\x00\x9b\xd4\xed\x0f\xd0\x00\xa2\x001\x0f\xf1\xd4\xab\x00~\x0f\xe8\x00n\x00\xfe\xdb9\x00\xae\x00\xc5\r\x8e\x00\xbc\xd4\xdc\r\xea\x00\xc5\x00:\x0f#\xd4\xcb\x002\x0e6\x00\x0f\x007\xd8J\x00\xcb\x00\xc7\rd\x00\xd4\xd4\xef\x0fV\x00\xd2\x00\x1b\r)\xd4\xd8\x00\xb2\rB\x00\x18\x00\xb5\xdfW\x00\xdd\x00\xd1\r\xbe\x00\xd8\xd4g\x0f?\x00\xe3\x00\xf4\x0b\xae\xd4\xe7\x00j\x0f\x08\x01"\x00|\xda\x08\x01\xf2\x00-\x0e\x16\x00\xf1\xd4\x02\x0f\x9a\x00\xf5\x00)\x0fx\xd4\xf9\x00\xe9\x0fR\x00\xc3\x01+\xd8\xb0\x00\t\x01\xfc\x0f\xd2\x00\x08\xd55\x0e5\x00\x0f\x01\xea\x0e\xa0\xd4\x15\x01\xfc\x0f\xe7\x00\xd2\x01\x86\xdb>\x00\x19\x01\xac\x0e\xa9\x00\x1a\xd5\xe1\x0c\xe1\x00&\x01A\x0e\x15\xd4,\x01+\x0e\xf6\x00\xea\x01!\xd9\'\x000\x01\xb2\r\x9e\x005\xd5\xb5\x0b\t\x011\x01o\rf\xd43\x01.\x0bp\x00\xf7\x01\xcd\xdf\xa2\x009\x01\xf8\x0b@\x00;\xd5\xea\x08\x1d\x00?\x01o\x0ej\xd4A\x01\xb4\nv\x00\x81\x017\xde\xc0\x00J\x01\x17\x0ci\x00U\xd5\x08\x0b\xc2\x00U\x01M\x0c\xbd_\xb8\x7f\xcb\x0c\xc0{\x84\xf4SQ\xb4\x0cU\x91\xb5\x87H~8W\x93\x04\x1c\x7fI\x87\xd3\xfc\x1d_\x88\x86\xd1\n\x0e*\xda\x98\x92\\hqZ}\xb6\xda\xf8\x83\x17\xd1+\xfe3\xf3;s\xee\xf7\\.H\x83v}\xf1\xff\xcb\x9c\xf2\xccTfu\x7f*dz\xf9*\xde\x1a\x07\xfd\x195\xa2 \x03\xd8<\x94\xe9q\x87>x\xe7\xfeO\x8b@\x1c\xed\x1de\x03^\xf8\xd2\xd56\t\x9d\xfb\x96ys\xf7\x85SP\x83\x8e\x8d\x80\x7f\xd0\x0b\xc0+\x88\xe5\xd1\xea\x01\x97 \x19<\xce\x08\xafA\x07Q\x83\xef\x0fT\xd4\x80\x80&l\xd1\x00l\x81T\xb9\xd1\xeby\xed\r\x19\x04\x86\xdf\xd1\x07\x8a\xe4\x0f8\x1b\xc82\x84T\xa8\x81\xe1\x81$\x82\x14\xe1\xa0=q\xf71!Y\r\x9c\x7f\x9bA\xa7\x8a$\x82\xe5\x81\x80b|V\xc4~RqDOo\x7fz\xae\x11\xb7\xb3\xad\xd3./\n\xafV\x0f\x9by\x86\x11\x07w\xf0PS\x94\xff\xea\x0b\xb5\x87\x03\x00w\x85\xe4\x00"\x10>\x95\x97\x04\x93\xdc\x7f\x86q\x84\xd6\xfc\x83\x00`\xd4;\x10\xca\x05M\x00\xecc\xafVt|\xb5\x836\xfd\x1c\x19\xf0a\x00.\xcd\x00\rb\xcf\xdeX\xae|\x82\x1e\xf8a}(\xa2\x00w$\x08U\x8a\xb2\t\x1d\x8a\xd49\xac\xd6]\x89b*\xb7+\xd9\xaaUku}8\x9f8\x14\xe8M\xb8\xf2\x02\x0c\x9e\xe1\xc0\xb8\x14\xee,&\xad\xf8}\x82Vy\xe5R\x90\xecq\x89\xe4\x82\x84H\x04\xb9\xa5\x93\xdd\x12\x02!\xa8\xf6\x84V(\x12\xb4s\x81\x82_\x93o|B\xfc\xdb)e\xa4\xc4 K\xd5\x03\xa1\x1e\x9f\x04\x00F\x02\x05\x8d\x08\x01\x14\x08:\xff\x90s\x00\xd4\x91\np\xc1\xc0\xc1\xce\x00\xb5\xdeq\xc4\xffC\xc0\xc2\xbe\x06\x05N\ri\xc0R\x04\x01\xc7\x0c1\xf2\x05\x00\xb9\x0eg}\xd2\x01\x08\xc4<A\xfe\xfc\xfd\xc0\x04\xc0\xc5\x14\xc3\xfe\xc1\xc1\xc0\xff\x05\xc1\xc5\x11\x05\x000\x117)\xd4\x00\xde\xc6Q\xfasRjK\x05\xc2\x00\xd4\xc7\x1b`\xc0K\x04\xc5\xe3\x1e\x8a4\n\x00C(L8M\xc5\x15\xc1\xc2\x0f\x00N*\x95C\xfa\x17\xc1\x7f\xc4\xfek\x13\xc4\x00!\x9d!pm\xc1X\xc0\xa2\r\x05z&`eb\xffO\x02\x0b\x05;7m\xfe\xc2\xc1\xc0\xa1i\x02\xd4\x8a.g\xc1\xc0\xffA\x06\x05B/\\B\xc0\t\x00\x9f/R\xb6\xfe\xc3w\n\x00\xdc\xf4m\xc5\x15\xc1\xc1\xffx\x06\x009Fb\x96\xc1\x13\x01\x0fDI;\xfb\xf8\xa6\xc1j\xc0e\xc1Z\xc1\x00Z\xb4a\xc0\xc0\n\x01\x0f\xa3i\xfb\x14hE\x04\x00Eh\x9f\x99\t\xd4\xbajikb\xff\x05\x91\x15\xd5\x08ytgY\xfe\xbd\xc0\xc5\x8d\x07\x00-|Cx\x05\x07\x05\xad|bJ\xc0\xc6\x11\xc4\x10\x83\xa3\xc1q]kdj\xc0\x01\x15@|m\r\x01\x10\xa1\xb8\xc0vDZ\xc1\x0c\x00\x1a\xa9\xf2E\xc6\x14\xfa\xc0\xc4)\x05\x00\xd4\xac?\x14N\n\x01\x10\xad}\xad\x89\xc5\x16\x05\x009\xb27h\xcc\x01\x15m\x81\xc2Xw\x03\x01\xd5\xc4\x85\x15\x08\x003\xce7\xc1:\xc0\xc4*\x89\r\x01\x11\xcez8\xc0\x95\x14h\xc1\xc1\x06\x00\x9d\x16iq*\t\x01\x11\xd8t\xfc\xa9a\x06\xd4w\xddi\xc1\x04\x00b\xe4uW\x08\x01\x03\xe6\x80\xc0\x05\xc2\xfa_\x06\x01\x16\xe6@\xc0\x05\xc0\\\xd3\x01@\xe80\xc1\xfc\x05\xc3\xc5\xd2\x01 \xed7\xff\xc0\x98\x04\x04\xd2\xeez>\t\x00\xcf1\x80\xc7\x16\xc1s\xc3\x05\x00\x96=ml\xd0\x01\xd7\xf8\x03e\x0b\xd5\xf0\x07R\xc0\xff\xc3\xc1\xc3\xfe@\t\x15a\t\xfa@\xc0\xfb\x1f\xc6\x10Q\xdf;\xc2\t\x10\xa9\x108\xc0D+\xfd\xfd\x06\x10\x14\x11\xf8\xc4\xc5*\xfe\x04\x10\\\x120\xbf\x06\x15\xe2\x15)\xfc\xfc\xa7\x05\xd5\xa1\x10\xa5\xc0\xc1\xc4\x05\x10\xa9\xd3\x00\xc4\xe0\t\x10\xde$\x83o\x04\x82\x01\xc4\xe5%\x1a\xfa\xc3\x04\xd5\x0e4\xe4l\x0c\x10|3\xe9\x05.^\x14\xf8\xff\x04\x10\\4\xf2x\x02\xc4\xa67\xf7\xff\xff\xff?\xc0\x02\xc4\xe8K\xa0\xc3\xc5r\xcc\x10\xe9\xe3\xa1\xc6\x80\xc2l\x04\xd5d=\xff`\x04\x11\x10;P\xfd\x03\x14\xc3=C\xc1\x05\x104\xf8:\xc5\x1f\xc3\x04\x10\x08>-\xb9\x03\x15^D-\xc3\x07\x10\x9e\x8d\xfd\xc4\x14\xfc!\x08\x10Bd\xc6k]\xd4')
fingerdata = Finger(uid=65, fid=0, valid=1, template=b'L\xf5SS21\x00\x00\x05\xb6\xb5\x04\x08\x05\x07\t\xce\xd0\x00\x00\x1d\xb7i\x01\x00\x00\x00\x85[8\x85\xb6-\x00|\x0fU\x00\xf5\x00\xfe\xb9\x91\x00;\x00\x05\x0f\x8c\x00:\xb6n\x0f\xc5\x00?\x00B\x0f+\xb6J\x00\xef\x0f\xac\x00\x89\x00\x87\xb9]\x00Y\x00m\x0fa\x00X\xb6\x06\x0f\x99\x00h\x00\xba\x0f\xd3\xb6l\x00\x10\x0f2\x00D\x00g\xb9:\x00\x81\x00\xea\x0f}\x00\x89\xb6\x0b\x0f\x95\x00\x93\x00\xb3\x0f\x1d\xb6\x99\x00\xe3\x0f\xe6\x00]\x00\x94\xb9\x8c\x00\xac\x00k\x0f\xe3\x00\xa8\xb6U\x0f\xd1\x00\xaf\x00N\x0f\xc4\xb6\xb8\x00\x84\x0e\xf2\x00\x7f\x00-\xb9\xc4\x00\xc5\x00\x1a\x0e\xe2\x00\xcc\xb6\xd9\x0f\x91\x00\xc9\x00\x9f\x0e\xd1\xb6\xd1\x00\x99\x0e\xb2\x00\x16\x00t\xb9\xcf\x00\xdb\x00\x8a\x0e\xe0\x00\xd9\xb6H\x0fs\x00\xdd\x00\x89\x0f\x86\xb6\xde\x00\xdd\x0e\xb3\x00\'\x00e\xb9\xe8\x00\xee\x00\xa0\x0f\x83\x00\xea\xb6G\x0fm\x00\x06\x01\xff\x0f\xa6\xb6\x08\x01,\x0f\xea\x00\xd6\x01\xa2\xb8\xbb\x00\x14\x01"\x0e\xa6\x00\x1f\xb7:\x0f\xca\x00!\x01\xc9\r\xdf\xb6 \x01\x89\r\xb9\x00\xe6\x01\xaf\xb8G\x00(\x01\xc0\x0e7\x00-\xb7t\x0f\xd4\x00)\x010\x0e/\xb65\x01\xb1\x0e\x1a\x00\xf0\x01%\xb8A\x007\x01\xb9\x0et\x002\xb7%\x0f\x01\x019\x01\xa5\x0f0\xb6B\x01\xa8\r6\x00\x89\x01\x9c\xbb]\x00N\x01\x9c\x0fx\x00K\xb7\xa5\x0e\xce\x00N\x01H\x0el\xb6N\x01\xaf\x0f%zG\x83\x1aH\xe0\x8d\xc2\x93\x82\x83\xdc\x8a\x972\xa7\x02\xedu\x82\x80\xff\x04`\xb1_\x83/x\x82\x80\xbe\xf4\x9a2P}\xed\xff\x96|\x7f\x00\xcb\xc1\xa2\x80\xd9\x88M\x85\xe3\x06\xe4\xce\xdb\xfdF\x0b\xd2\x0bf\x80&>!z\x82\x81k\x10\xdd\x8a\x07\xbd\xea\x98\xf2\x95\x9e\x83\x93\xff\\\xb9\x07m\xce\xfb\xc5\x92G\x81\x83MO\x08"i\xa3\x80$\xf7T\xa5^\x91\xd5rm\x7f>\xf4d\xbfHr\xd6\xfc0o \xf9\'Z\xe7\x9d\x0e\x99\xc2\x91\xdd\x9b\x847\xcc\xaa\xed\x91i\x87\n\x94x\xc9\xe0\xf36\xe9<\x13D\x81\x8b\xa2L\x10\xf5Z\x1d\xeb\t\xf3\xac\xc4l/\xfdqN\x06>\xf4<\xc6\x1f\xf5~\x16)\x90\xb8\x87\xff\x11\xdc\xf0\x15\xdb\xfaI\xbf\x18\x8f\xbf#\xf9\xd2\xfeR\x0f\xea\xfc\x9c\xb4\x0f\xf2\x1e_i\x0e\xbf\x85#y<!\r6:\xb4dx|\xaf\xf0\xfa\x19\x02\xb6|o\x87\x95\xadt\x84\xf1dP\x97\xbc|\xdcS\x98\x88\xd1\xa0%\x8a\xd4\x087\xa6\x1b\x18\xbd\xd2-\x16\\\xeea\xd9)\xeb\x15OM\x900\t\xd0L\\pvx~\x89\\\xf8 \xa6L\n-~\x89\x83\x87\x18\xc0X\xcb\xbb\xbb\xd8\x14\x12|\xf0\x84O\xa5\xf2\xb9\xe2\x95\xeb-\xef\x87Sk\x06\xdd\x18\x89\x83_\xffp^\x93i\xba\x99T\x17\xae\xf8R\xaf\xba\x8f{\xbb\xf5\x1cC U\xb7\x03\xf1$\x90\x06\x01\xd3\tE\xef\xfe\x05\x00C\x14t\x05\x8e\x01\xb6\x92\r}Y\x0b\x00U\x17x\xe2\xc5X\xc3\xff\x08\x00]\x18\x05I\xfeR\xc1\x03\x00|\xed}\xc5\xbf\x01\x84+\x00DX:\x03\x05\xca/z\xc0\x13\x00\xef\xf4\x89gv\xfe\xc2d\x86\xfd\x89\x05\x07\x05\xe73wy\xff\xc3\n\xc5\xc1?0\xc1t\xc2E\x04\x00Q<\x06\xe4\x06\x00\xc9@\x002\x04\xfb\x06\xb6\x02A@\xff\x0e\x00mL\x86wgj\xc3\xff\xc0j\xc1\x00/\xf8h\x84\x08\x00XX\xb1\xc2\xc4\xe3\xc5\x0f\x00`Y\xf4;J\xc4\x83\xc32\xfd\t\x00\xa8\x9e\x00\xfb\xed:\x08\x00Z]m\x04\xc0\xc5\xda\x0b\x00\xa0]\x83xN\xc1\xc7\xa3\x00\x11a\x97\xc2i\x9e\xc0\xc4H\xc2p\x85\x80\x04\x00ob\x03\xf7\t\x00\x95e\x83\x80\xbe\x04\x05+i\x03>\r\x00\x96\xae\x80\x81w\xc0g\xc0e\x06\x00\x1ck\x0cH\xfe\xff\xc1\x06\x00\xd9\xb4\x10\xfa\xf0\x05\x00\xbb\x8b\t0\xd5\x00\x94%vx\xc2\x81\x88n;\x11\x05R\x92\x96\xc2\xc2\\\xc1\x04\xc1}w\xc0\x8b\x05\x00\xea\x9b\xd2;\x12\xb7\x10\xa1\x9e\xc0\xc1\xc1\xbc\xc0\xfbrS\x8bg\xc1_\x0c\xc5\x89\xae\xc7\xc0\x89\xc3\x81{\x05\xc5\x91\xaeL\xfe2\x14\x00\xcf\xabV\x89\x8d\xc7\x88\xc2\xff\x83\xc2\x1a\xc4\x11\xaa\x14\xc0\xc1\xc0\xc1\xc1\x90\xb7u\xc5\xc7\xc3\xc2j\xc1\x04\x00\xe6\xb1R\xc1\x0f\x00\x89\xb1k\x80E\x85\xc5w\xc0\x03\x10OM\xa9>\x0b\x05c\xb3\x1a08\xfe\xff8\n\x15J1d\xfe\xfc\xfc\xfc\x05\xc1\xfeI\x13\x00\xbd\xb4\x83\xff\x01\xc1\xc66\xc1\xc4b\xc0\xc2\x8b\xdc\x00\xeb\x01\x9d\xc2n\xc2\xc0\xc4:\xc2l>po\x89\x0b\x00\xc5|\x0f\xf8I0\xc3\xfa\xff\xfc\x04\xc5\xf6\xbe\xa8+\x07\x00\xbd\xbc\x83\xbc\xa1\x0f\xb6\xf3\xbe)\xc0@58\x04\x05v\xc5\x83\x84\x0c\x01\x16\x00=Tv\xc1\xc0\xc0X\r\x00H\xc8g(\xc1\xc3\xc0l\xfe\xc2\xd2\x01\nf\xb0\xc4\xc0\x8bt\xc2\x04zqty\xc2\x08\x00\xae\xd4\xbf\xc3\xc0u\xc2\x84\x12\x00\xcd\xd7_\xc6\xfau\xc4\xc2\xc3\xc3\x8b\xc1\xac\xc3\xc0\xa4\x01\xca\xdc\x8c\xc4\xc2\x06\xc4\xc1t\xc0\xc2\xc2\xff\xc2\xc2\x07\xc4\xc2K\x04\x00o\xdfV\x94\xc6\x00$VM\xc1\x04\x00\'\xe0\x83e\x06\xb6u\xe0I\xc1\x0b\x00j\xe1tp\xc2\xc3\xc1\xc3\xc2\xc1;\xc3\x03\xb6\xb6\xe2\x06\xfb\xc0\xc1>\x0b\x05\x06\xe7g\xc6\xc2\xa0\xc3\x05\x8e\x03\xb6\xea\xf10\xc0\xfb\xfa>\x04\x05\xf0\xf5I\x88\x04\x00\xb81\x1e\xc5t\x07\x00\xb6\xfc$\x8e\x03\x07\x15\xdd\x08@\x80W\x08\x10\xb4\t2\xd0\xc0\xc0\xc4\n\x10\xe6\xd5\xab\xc0v\xfe\xc6\xc9\xc7\x99\x05\xd5\x0c\x16\x92\xfc\xa0\x06\x10\xb8\x18\xee\xc3\xc4\x04\x05\x10`\x1dC\xc4:\x06\x15\xd3\x1c=\xc2\xc2a\x05\xd5\x8b\x18\x87k\t\x10\x11.7\x06\xc1\xc2t\xc2\xfc\xff\x03\x11\r\xf2C\xf9\xb5\x11\xb39\'\xc2\x04\xd5\xf9S\xc2\xfc\xc0\x03\x10\x18_\xcc\xc2\x0b\xa6Kb\x00IB\xc0\x05\xc0]\xb6')
try:
conn.save_user_template(user=user1, fingers=[fingerdata])
print('menyimpan data sidik jari:')
print(user1)
print(fingerdata)
print('data berhasil disimpan')
except:
print(fingerdata)
print('data gagal disimpan')
'''
users = conn.get_users()
with open('user_finger_import_aries2.csv', mode='r', encoding='latin-1') as file:
reader = csv.reader(file, delimiter=';')
# Skip the header row
next(reader)
# Specify column indices to read
#column_indices = [1, 4] # Example: reads the first and third columns
for row in reader:
#selected_columns = [row[i] for i in column_indices]
#print(selected_columns)
#fingerdata = Finger(uid=65, fid=0, valid=1, template=b'L\xf5SS21\x00\x00\x05\xb6\xb5\x04\x08\x05\x07\t\xce\xd0\x00\x00\x1d\xb7i\x01\x00\x00\x00\x85[8\x85\xb6-\x00|\x0fU\x00\xf5\x00\xfe\xb9\x91\x00;\x00\x05\x0f\x8c\x00:\xb6n\x0f\xc5\x00?\x00B\x0f+\xb6J\x00\xef\x0f\xac\x00\x89\x00\x87\xb9]\x00Y\x00m\x0fa\x00X\xb6\x06\x0f\x99\x00h\x00\xba\x0f\xd3\xb6l\x00\x10\x0f2\x00D\x00g\xb9:\x00\x81\x00\xea\x0f}\x00\x89\xb6\x0b\x0f\x95\x00\x93\x00\xb3\x0f\x1d\xb6\x99\x00\xe3\x0f\xe6\x00]\x00\x94\xb9\x8c\x00\xac\x00k\x0f\xe3\x00\xa8\xb6U\x0f\xd1\x00\xaf\x00N\x0f\xc4\xb6\xb8\x00\x84\x0e\xf2\x00\x7f\x00-\xb9\xc4\x00\xc5\x00\x1a\x0e\xe2\x00\xcc\xb6\xd9\x0f\x91\x00\xc9\x00\x9f\x0e\xd1\xb6\xd1\x00\x99\x0e\xb2\x00\x16\x00t\xb9\xcf\x00\xdb\x00\x8a\x0e\xe0\x00\xd9\xb6H\x0fs\x00\xdd\x00\x89\x0f\x86\xb6\xde\x00\xdd\x0e\xb3\x00\'\x00e\xb9\xe8\x00\xee\x00\xa0\x0f\x83\x00\xea\xb6G\x0fm\x00\x06\x01\xff\x0f\xa6\xb6\x08\x01,\x0f\xea\x00\xd6\x01\xa2\xb8\xbb\x00\x14\x01"\x0e\xa6\x00\x1f\xb7:\x0f\xca\x00!\x01\xc9\r\xdf\xb6 \x01\x89\r\xb9\x00\xe6\x01\xaf\xb8G\x00(\x01\xc0\x0e7\x00-\xb7t\x0f\xd4\x00)\x010\x0e/\xb65\x01\xb1\x0e\x1a\x00\xf0\x01%\xb8A\x007\x01\xb9\x0et\x002\xb7%\x0f\x01\x019\x01\xa5\x0f0\xb6B\x01\xa8\r6\x00\x89\x01\x9c\xbb]\x00N\x01\x9c\x0fx\x00K\xb7\xa5\x0e\xce\x00N\x01H\x0el\xb6N\x01\xaf\x0f%zG\x83\x1aH\xe0\x8d\xc2\x93\x82\x83\xdc\x8a\x972\xa7\x02\xedu\x82\x80\xff\x04`\xb1_\x83/x\x82\x80\xbe\xf4\x9a2P}\xed\xff\x96|\x7f\x00\xcb\xc1\xa2\x80\xd9\x88M\x85\xe3\x06\xe4\xce\xdb\xfdF\x0b\xd2\x0bf\x80&>!z\x82\x81k\x10\xdd\x8a\x07\xbd\xea\x98\xf2\x95\x9e\x83\x93\xff\\\xb9\x07m\xce\xfb\xc5\x92G\x81\x83MO\x08"i\xa3\x80$\xf7T\xa5^\x91\xd5rm\x7f>\xf4d\xbfHr\xd6\xfc0o \xf9\'Z\xe7\x9d\x0e\x99\xc2\x91\xdd\x9b\x847\xcc\xaa\xed\x91i\x87\n\x94x\xc9\xe0\xf36\xe9<\x13D\x81\x8b\xa2L\x10\xf5Z\x1d\xeb\t\xf3\xac\xc4l/\xfdqN\x06>\xf4<\xc6\x1f\xf5~\x16)\x90\xb8\x87\xff\x11\xdc\xf0\x15\xdb\xfaI\xbf\x18\x8f\xbf#\xf9\xd2\xfeR\x0f\xea\xfc\x9c\xb4\x0f\xf2\x1e_i\x0e\xbf\x85#y<!\r6:\xb4dx|\xaf\xf0\xfa\x19\x02\xb6|o\x87\x95\xadt\x84\xf1dP\x97\xbc|\xdcS\x98\x88\xd1\xa0%\x8a\xd4\x087\xa6\x1b\x18\xbd\xd2-\x16\\\xeea\xd9)\xeb\x15OM\x900\t\xd0L\\pvx~\x89\\\xf8 \xa6L\n-~\x89\x83\x87\x18\xc0X\xcb\xbb\xbb\xd8\x14\x12|\xf0\x84O\xa5\xf2\xb9\xe2\x95\xeb-\xef\x87Sk\x06\xdd\x18\x89\x83_\xffp^\x93i\xba\x99T\x17\xae\xf8R\xaf\xba\x8f{\xbb\xf5\x1cC U\xb7\x03\xf1$\x90\x06\x01\xd3\tE\xef\xfe\x05\x00C\x14t\x05\x8e\x01\xb6\x92\r}Y\x0b\x00U\x17x\xe2\xc5X\xc3\xff\x08\x00]\x18\x05I\xfeR\xc1\x03\x00|\xed}\xc5\xbf\x01\x84+\x00DX:\x03\x05\xca/z\xc0\x13\x00\xef\xf4\x89gv\xfe\xc2d\x86\xfd\x89\x05\x07\x05\xe73wy\xff\xc3\n\xc5\xc1?0\xc1t\xc2E\x04\x00Q<\x06\xe4\x06\x00\xc9@\x002\x04\xfb\x06\xb6\x02A@\xff\x0e\x00mL\x86wgj\xc3\xff\xc0j\xc1\x00/\xf8h\x84\x08\x00XX\xb1\xc2\xc4\xe3\xc5\x0f\x00`Y\xf4;J\xc4\x83\xc32\xfd\t\x00\xa8\x9e\x00\xfb\xed:\x08\x00Z]m\x04\xc0\xc5\xda\x0b\x00\xa0]\x83xN\xc1\xc7\xa3\x00\x11a\x97\xc2i\x9e\xc0\xc4H\xc2p\x85\x80\x04\x00ob\x03\xf7\t\x00\x95e\x83\x80\xbe\x04\x05+i\x03>\r\x00\x96\xae\x80\x81w\xc0g\xc0e\x06\x00\x1ck\x0cH\xfe\xff\xc1\x06\x00\xd9\xb4\x10\xfa\xf0\x05\x00\xbb\x8b\t0\xd5\x00\x94%vx\xc2\x81\x88n;\x11\x05R\x92\x96\xc2\xc2\\\xc1\x04\xc1}w\xc0\x8b\x05\x00\xea\x9b\xd2;\x12\xb7\x10\xa1\x9e\xc0\xc1\xc1\xbc\xc0\xfbrS\x8bg\xc1_\x0c\xc5\x89\xae\xc7\xc0\x89\xc3\x81{\x05\xc5\x91\xaeL\xfe2\x14\x00\xcf\xabV\x89\x8d\xc7\x88\xc2\xff\x83\xc2\x1a\xc4\x11\xaa\x14\xc0\xc1\xc0\xc1\xc1\x90\xb7u\xc5\xc7\xc3\xc2j\xc1\x04\x00\xe6\xb1R\xc1\x0f\x00\x89\xb1k\x80E\x85\xc5w\xc0\x03\x10OM\xa9>\x0b\x05c\xb3\x1a08\xfe\xff8\n\x15J1d\xfe\xfc\xfc\xfc\x05\xc1\xfeI\x13\x00\xbd\xb4\x83\xff\x01\xc1\xc66\xc1\xc4b\xc0\xc2\x8b\xdc\x00\xeb\x01\x9d\xc2n\xc2\xc0\xc4:\xc2l>po\x89\x0b\x00\xc5|\x0f\xf8I0\xc3\xfa\xff\xfc\x04\xc5\xf6\xbe\xa8+\x07\x00\xbd\xbc\x83\xbc\xa1\x0f\xb6\xf3\xbe)\xc0@58\x04\x05v\xc5\x83\x84\x0c\x01\x16\x00=Tv\xc1\xc0\xc0X\r\x00H\xc8g(\xc1\xc3\xc0l\xfe\xc2\xd2\x01\nf\xb0\xc4\xc0\x8bt\xc2\x04zqty\xc2\x08\x00\xae\xd4\xbf\xc3\xc0u\xc2\x84\x12\x00\xcd\xd7_\xc6\xfau\xc4\xc2\xc3\xc3\x8b\xc1\xac\xc3\xc0\xa4\x01\xca\xdc\x8c\xc4\xc2\x06\xc4\xc1t\xc0\xc2\xc2\xff\xc2\xc2\x07\xc4\xc2K\x04\x00o\xdfV\x94\xc6\x00$VM\xc1\x04\x00\'\xe0\x83e\x06\xb6u\xe0I\xc1\x0b\x00j\xe1tp\xc2\xc3\xc1\xc3\xc2\xc1;\xc3\x03\xb6\xb6\xe2\x06\xfb\xc0\xc1>\x0b\x05\x06\xe7g\xc6\xc2\xa0\xc3\x05\x8e\x03\xb6\xea\xf10\xc0\xfb\xfa>\x04\x05\xf0\xf5I\x88\x04\x00\xb81\x1e\xc5t\x07\x00\xb6\xfc$\x8e\x03\x07\x15\xdd\x08@\x80W\x08\x10\xb4\t2\xd0\xc0\xc0\xc4\n\x10\xe6\xd5\xab\xc0v\xfe\xc6\xc9\xc7\x99\x05\xd5\x0c\x16\x92\xfc\xa0\x06\x10\xb8\x18\xee\xc3\xc4\x04\x05\x10`\x1dC\xc4:\x06\x15\xd3\x1c=\xc2\xc2a\x05\xd5\x8b\x18\x87k\t\x10\x11.7\x06\xc1\xc2t\xc2\xfc\xff\x03\x11\r\xf2C\xf9\xb5\x11\xb39\'\xc2\x04\xd5\xf9S\xc2\xfc\xc0\x03\x10\x18_\xcc\xc2\x0b\xa6Kb\x00IB\xc0\x05\xc0]\xb6')
uid = int(row[1])
fid = int(row[2])
#template = row[4]
'''
print("Row[4]:")
print(type(row[4]))
print(row[4])
template = bytes(template, encoding='latin-1')
print("Data dari CSV di-encode:")
print(type(template))
print(template)
'''
try:
template = codecs.decode(row[4].encode('latin1'), 'unicode_escape') #akhirnya ketemu caranya T_T
template = bytes(template, 'latin1')
except:
print('cannot encode fingerprint')
#print("Type:", type(template))
#print("Output:", template)
#encoded_template = template #template.encode('latin-1')#.decode('latin-1') #fix double \\
#template = decoded_template.encode('utf-8')
#template = row[4].encode('utf-8')
#template='L\x8bSS21\x00\x00\x05\xc8\xcd\x04\x08\x05\x07\t\xce\xd0\x00\x00\x1d\xc9i\x01\x00\x00\x00\x85u7%\xc8\x18\x00\xf7\rA\x00\xdf\x00}\xc7\xf5\x000\x00\xb8\r"\x00?\xc8\x98\x0e/\x00;\x004\x0fX\xc8=\x00q\x0f\xcc\x00\xf9\x00\x94\xc7G\x00J\x00\xf2\x0f\xc6\x01H\xc8\xc1\r*\x00R\x00\xa1\x0f\xaf\xc8S\x00\x13\x0fw\x00\x9e\x00\x7f\xc7\xfa\x00^\x00\xad\x0e\xb4\x00i\xc8\x05\x0f=\x00s\x00\x9a\x0f%\xc8v\x00\xe5\x0fB\x00E\x00\xee\xc7\x08\x01\x84\x00\xbf\x0f\x18\x00\x83\xc8"\x0f\xfe\x00\x8e\x00d\x0e\x13\xc8\xa3\x00\xcc\x0f\xed\x00q\x00/\xc6\xfc\x00\xbb\x00\xa7\x0e~\x00\xba\xc81\x0f,\x00\xc4\x00\x86\x0f\x96\xc8\xc4\x008\x0e\xfd\x00\x0c\x00\xb1\xc6\x17\x00\xca\x00\xb9\x0eg\x00\xc8\xc88\x0f!\x00\xd1\x00\x02\x0ee\xc8\xd5\x003\x0f\x12\x00\x13\x00?\xc6\xde\x00\xd7\x004\x0e\x94\x00\xd8\xc84\x0f\xbb\x00\xe1\x00\xf9\x0fx\xc8\xea\x00\xb9\x0fH\x00)\x00*\xc7\x06\x01\xf6\x00D\x0e9\x00\xf2\xc8\xb7\x0eA\x00\xfc\x00\xf5\x0f\x86\xc8\xfd\x00\xc7\x0eZ\x008\x00\xb0\xc7\x9a\x00\t\x01[\x0fk\x00\x0e\xc9O\x0f<\x00!\x01\xf6\x0e\'\xc8)\x01\xbc\x0e\x88\x00\xee\x01\x85\xc5*\x00.\x011\r\x93\x005\xc9\x1f\x0e\xb3\x001\x01\xfb\x0f\x94\xc87\x01i\r`\x00\x86\x01\x15\xc6\xf1\x00N\x01\xd1\x0eA\x00U\xc9\xee\r\xaf\x00Q\x01\x11\x0e\x8bH\xbb\t\xc7\x97\x8a\x80\x9b\x8a+\xc3, \xf6\xf8>+\x08\xe0`\xc3\x03\xd9\xd9\x8e\xa9\x03\x87\xfd|K7\xfa\xb6\xfb\xed\xfb\x9f\x82\xe3\x13x\x83%\x03\x05\x93\xd0\x15k\xc0[)\xe5v\x11w\x8f\x06SN\xea\x99\xdf\x13Uyo\n\x06\xa1\xa4\xed\x06\xf2\x82\x16\x8c\x8d\xea\xd1.\x95Ut\x9d\x7f\x0b\xfe\x90C\xa7\xfdf\x82I\x8c\xe7\t\x82!$ v\x16B\x9f\xaf\x85[\xaf\x92\xf8\xc1\xe4j\x81\xf7{\xf3\xde\xdf\x8a~\xebi\x84\xb8{\xa32\x18\xf4i|>vx\xfb\x97=\xcf\xfa\x99|\xb5\x8ec\x08X\xc8G\n\x9e\x83\x8d\x0c\xb4\x8f;H\x15\x83\xe0\xf7\xbdz\x18\x000\xc3g\xfcP\x13-\x8cP\x84\xbc\xc8\xaf\x05j}\x14\x83\xfct+0?\x80\xc2\xf9\x1e\x0e\xf0\x04\xa4\xc0\x83\x80\xe2\x04\x06\r\xff\t\xfc=g\x896\x06\xa1\x00\xec\xfct\xb6\xb9\x93\xf7\x90\xdb\x11\rwkO\x8e\x04!\x00Q~\xe3\xfdh\xd9\xcco:\x16i\x8a\x88\x86\x87H(\r\xb9\x97z\xde|\xf5k\xda\x03\x17\xb5\x05\xc5{\xa3\x14\xd9G\xb8\x8b\xcf\xa1%\x18\x83\x91\xd3\xee\xe9w5\x01R\x17T\x11\xff$\xe7\xef\x8al\xbe\xd5;\xf2\xb8 l\x7f\x12-\x1d\xf5G"ZX.\xffC\x97w\x1f\xa0\x8bS\xb9#\xe2r\x98Nn\xeb\xe7\xfa\x15:\x81\xb3\xcfY \x89\x01\x06\xc7%(\x06\x00\x9a\x05\xc5Y\xfa\xd3\x00\x16\t@\xc0\xc0\x05\xc0\xc5\x08\xc1\xc0\xc0\xc0\xc0\xc0\x05\xc0\xc5\x08\xc1\xc0\xc0\xc0\xc0\xc0\x05=\x01\xc8\xb0\x0c\x0fW\x03\x00\xbb\r\x067\x07\x00\xa9\x12\x10\xc0:<\x0b\xc8D\x19\xf4\xc0*\xc1\x05\xc0\xfb\t\xfc\xc1\xfd\x05\x00=\xdbqd\xcb\x00\x0b\'@\xfc\r\xc502%?\xc0\xfc\xffSV\xd4\x00\xce\xf0\x9b\xc4\xfe~l\x84;\xc2\xc4\x0b\x06\x00Y:wvK\r\x05\xa9=\xfa3\xc0e\xff:\xff\xc4\xcc\x01+=m\xc1\xc5\xd4\x006\xf5\xf5\xc1\xff\xfd\xc1\xfd\x04\xfe\xc5\x92\xff\xffZ\x03\x00\xd0\xfa\x16\xc4\xcd\x00\rB@e\t\xc5BI\xa5\x82\xc2\x89\x08\x00J\x89\xf7\xc47\xfa\xc1F\t\x00\xae\x95\x0f\xfa\x08\xfeD\xfd\x03\x00\'\x91d\xc4\xc0\x01\xadV\x16[L\xc2\x00v\x9f|wv\r\x00{\x9f\x03\xfa\xfa\xfeAY\x05\x00s\x98tw\xc6\x01ul\x00.\xc1\xee\xc0=\x08\x04\x009ri\xa0\xd0\x00%\xbb\xdf\xff+\xfe\xff6:\xfd\xc5\x9f\xc3\xfdG\x0b\x00=\xb2b\x93\xb9\xc2P\x03\x00\x1e{\x96\xc3\x15\xc8C|\xe2\xfd8*\xf8\xc0\xfa\x88\x0e\x00F\x81\xe9\xfe:\xfd\xfa\x08\xfd\xc1+L\x07\x00\xfb\x83e[q\x06\x00\xe0\x88"\x90\xfb\x06\xc9\t\xa1=\xc2\x03\x00\xd3\xa6F\t\x08\x00t\xb9\xfa\xf7>\xff/5\x07\x00w\xbe\x17\xfa\x05\xfa\xc5\xdc\x01,\xbf\xc9\xc0*83\xfa6\xfe\xfe\xff?;\x05\xc5o\xc5\x8b\xc3\x89\x0f\x00q\xf0h.\xf91\xfa\xfa\xfe\xfe\xfc\xff\x05\xfe\x01\xc8t\xc1:h\r\x00y\xc2(7?>\xff\xff\xfd\xfb\xcd\x00,\x0fH\x8bE\n\x00.\x02=_\xaa}\x0b\x00\x94\xc94\xeb\xfe\xfb4\xf7)\x07\x00\xe7\xcb\xf2\xc296\x05\x00~\xcd0\xfd8\n\x05k\xd07A\xfe;\xff\xc0\x00e\x106\xc3\xc1\xc5\x1b\x00\x94\xd9\xb86\xc1\xfc\xfd\xfb\xfe\xfd9\xfe\xc44\xfe\xff\xfe\xc0\xc0\xfe\x05\xff\xfb\t\xc0\xfc\xf6\xc0\x07\x10\xbbK\xf1\x0c\xc4N\x03\x00\x0f\xda\x85\xc2\x0e\xc8\xdc\xda4\xc0@\xc0\xf7\xfc\x02\xc8\xe2\xda0=?\x08\xc5\xbc\xe0\xf29s\x18\x00H\xe7\x05\xc165\xfd\xfe\xfd\xfe\xfd\xff8\xc0\xfb6\xfe\xc1\xff\xff\xffL\xcd\x00B\'6\xc3z\xa5\t\x00\x89\xef5H\xc2\xc3\xc9\xc2 \x00\x84\xf8\xb8\x08\xc1\xc0\xfd4\xfe\xfd;\xfe\xfb6\xfc\xc0\xff\xff\xc1\xfd:\xc0\xfb\x08\xfe\xc0\xfe\xff\xc0\xfd9\x05\x04\xcb\xf9Iv\x04\x00\x1f?Ch\xc0\x00\t\xfa=\xfd\xc49\xfe\xc71\t\x00E\xff1\x80\x06\xa7\x01\xd8A\x007\x88\x06\x10\xd6\x02?7\xc3\xc3\xfd\x15\x10\xae\xc3\xc6\x86@\xc0\xc3\xc6\xc2\xc5\xc4\x06\xc0\xc1\x08\xc0\xaf\x03\x10\x9c\r\x96\xff\x02\xd8\xb1\x0eI\xff\xff\xc1\xd8\x04\x15\xf4\'-7\x03\x10\xf7\xe3F\xc5\xcb\x11\xec-F\xff\x03\xd5Z7\xdf\xc5\x04\x10\x90:i\xe5\x03\x15\xa8F"\xc1)\x10Y\x88\xa7\xf8\n\xc1\xff\xfd\xff\xc2\xfe\x05\xc0\xfa6\xfe\xfe\xfc\xff\xfd\xc08\xff\xf87\xff\xff\xc0\xff\xc0\xfe;\xc1\xfb\x08\xc1\xfe\xc0\xfe\xff\xff;\t\x15\xbac\x00\xc0\xc0\xc0\xc0\x05Y'
#print("Template hardcode:")
#print(type(template))
#print(template)
#template = bytes(template, 'latin-1')
#print("Data hardcoded di-encode:")
#print(type(template))
#print(template)
#print(type(encoded_template))
#print(encoded_template)
fingerdata = Finger(uid=uid, fid=fid, valid=1, template=template)
#uid = 65
user1 = next((u for u in users if u.uid == uid), None)
try:
conn.save_user_template(user=user1, fingers=[fingerdata])
print('menyimpan data sidik jari:')
print(user1)
print(fingerdata)
print('data berhasil disimpan')
except:
print(fingerdata.__dict__)
print('data gagal disimpan')
'''
for fp in range(10) :
print("Sidik jari ", fp)
try:
finger = conn.get_user_template(uid=uid, temp_id=fp)
#print(type(conn.get_user_template(uid=uid, temp_id=fp)))
print(finger)
except:
print("no fp data for index %s" %(fp))
'''
#conn.test_voice(index=33)
conn.enable_device()
conn.disconnect()