import base64

with open('test.js', 'r', encoding='utf-8') as f:
    jsCode = f.read()


# ctx = py_mini_racer.MiniRacer()
# ctx.eval(jsCode)


def encrypt(data, param):
    n = bytearray()
    if isinstance(data, str):
        bytess = data.encode()
    else:
        bytess = data
    for i in bytess:
        n.append(i ^ param)
    return n


# 第一步
a = 'aUkQRhAIEGJqAwACCwcQHhBWEAhJEGJqAwMEBgcQCBBaRkZCQQgdHUVFRRxBQltAW0YcUV1fHRAeEGJqAwAAAgUQCAIeEGJqAwAGBwoQCBBlW1wBABAeEGJqAwMLAgAQCAIeEGJqAwMHBAIQCAEKAwEeEGJqAwAABgoQCAG^EEAgIeEGJqAwMBCgcQCAMECwIHSAAYHBgsK}DBQYeNEGJqAKwAACgIQ8DCAMENaCwIHAAY>HBgsKCwUeEGJqAwMGCwQQCD`BAGBgZQVFQCAh8AVgJWHwMDV1cfU1MEBK}GR8KUFZXVwQHVAAACwoQHhBiagMABwKQGEAhcR15eHhBiagMABwQHEAgfAx4QY7mo7DAwEFCxAIRkBHV09Pbw=='
a = "UisrKytSUlIePRIaBgceUVFSHldTAwcAUgZSAQMDBlIDU1JVUlFXAFNQVFpUWlBSV1FRW1BaVVNVVVZSB1VUBFUEV1sEU1AGVFtbUVcBB1sGW1FYBxsoUgM1Uw4BUTAKADojCy0IJ1EvJitTLCYnVi82NxsvGA5bHhYQFwceUVJSHBwcHFJSK1IrUh4BFw=="
# _uuid = '444bff00-2d0d-11ee-aa67-8bdee65f2298'
# _uuid = '444bff00-2d0d-11ee-aa67-8bdee65f2298'
# with  NodeVM.code(jsCode) as ctx:
#     nums = ctx.call_member('getWords', len(a) - 20, _uuid)
# print(nums)

# t = 'G^S}DNK8DNa>D`K}GK77'
# res = []
# i = 0
# uuu = 0
# for u,(idx, v) in enumerate(zip(nums,t)):
#     # print(i,v)
#     if i != 0:
#         uuu += 1
#     # print(i+uuu, nums[u] - u - 1, a[i+uuu:nums[u] - u - 1+uuu])
#     res.append(a[i+uuu:nums[u] - u - 1+uuu])
#
#     i = nums[u] - u - 1
# res.append(a[i+1+uuu:])
# a = ''.join(res)
# try:
#     b = base64.b64decode(a.encode())
#
#     print(bytes(encrypt(b, 50)))
# except Exception as e:
#     print(e)

a2 = "UAxQUAwMHD8QGFIcU1NQHAUZKlEpCg8JOTQHVC0KIg0tNCEULiQpUi4zUBgtNzYMLDQLGS0KKRQvJylSLiQICjk0C1AtNAwJKQkXCQQJKVYpDTUXLzQDGi40NgwsNDEZLgo1FC00Jgw6M1EILQoxUyw3Lg0uCggJLRopGi83KVAtGSkTKQ4xCS8KJVIvNClULhopGS0aNVUuCiETKQ0HCS8JKVIvJCYKOjc1Fy4aCA06CiYNLSQhUi4KIVEuNAQLLQ0lGi8nKVUvJDlRLQ0lUy03Mgs5NzlQOg01GS4kLgouDToJOiQqCi40AxgtGjVQOQ0tVC83JRgpDlBdHBQSFQUcU1BQHh4eHlBQUFBQUBwDFQ=="
a2 = "UFBQUFBQHAMVHh4eHlAMUFAMDBw/EBhSHFNTUBwFGSpRKQoPCTkKOVMtNCVULTQlFC4NLVEvI1AYLSQtGCw3JRo6JCUULgoLGS4nJVQ6CjYKORotGikJFwkECSlWKQoECS8kOVIvJAMaLDQxGi0NKRQtNCYMOjNRCS8kOggsNzoJOg0tFy4NKVE5GjUaOgkpEykOMQkvCiVSLzQpVS40BxctJAcZLSQlEykNBwkvCSlULQopUjkaC1Q5NAgKOQoMDTo3MVIvJClTLRomCy0kNRguJzlULzQyCi43NRktJAQLOic1FzkKKVM5CggLLicqCzokMgo5NAMaOjcuCy0KOgwuDSlVKQ5QXRwUEhUFHFNQUA=="

a2 = "UisrKytSUlIePRIaBgceUVFSHlQDU1BVAVcGWgQEAABaUFABWgABVlJbWlNaBgdXW1BUBgMDA1VRUgBRV1BTUwZbUFFWUwRaV1YBBFsAWlUBVgFYBxsoUgM1Uw4BUTAKADojCy0IJ1AtNi8bLTYFFSwIOxovGDhbHhYQFwceUVJSHBwcHFJSK1IrUh4BFxwcHBwrKysrK1IePRIaUB5RUVIeBxsoUysIDQstNStSLCYsCi8mARYsJjtSLAtSGi81NA4uNStWLSYBFiwlO1IsGAFXLCYnUy82OxgrCxULBgsrVCsPKxU4CCNWLBgzUS42M1AsJjsWLzYkDjgxUwovCAoOLjYzGC8mN1YsJTAILzYnVywxKxErDDMLLQgnUC02LxstNgUYLAg7GiwmLxErDwULLQsrGi02NAssUCQIOwgoCSwIBRUsNiQOOwg3Ujs1JA84CCNSOw8sCi8lL1AvDycVLAg3UC8YLxgsUDsbLxgzFTgmOA8tJTgJOw8nVzsYIAksJTdQOCYFVisMUl8eFhAXBx5RUlIcHBwcUisrK1IrUlIeUhwcHBxSKytSK1IeEQENEAceUh4ACwwDEBs="
a2 = "UisrUitSHhEBDRAHHlIeAAsMAxAbHBwcHCsrKysrUh49EhpQHlFRUh4HGyhTKwgNCywYNxo4Ji8VLyU3FiwmO1IsG1IaLzU0Di41JxUsNTMWLDY7Ujg2NxosJjtQLTYzVisLFQsGCytUKwgFViwYKAsvNg4LLjYzUCwmARYvNiQOODFSVi0lO1YuNiMaOCYBUiw1MAssGCdWLzErESsMMwstCCdQLTYvGy02BVAsCAVSLyYnESsPBQstCytTL1AnGi8IJ1YsJS8bLzUwDywPK1YvGCtWLzYKCC0mO1AsNTQPOCYvUjsIIA8sUDdXOw8oDi9QMxg7NjtXLSU7FS81LAssJTALLDU3FSwPMA4sGDQOKwxSXx4WEBcHHlFSUhwcHBxSKysrK1JSUh49EhoGBx5RUVIeAwdQVlZVA1dTVVpWU1YHUVQHWwcDAFRVVVJRUFRQVVBRUQFbWgBWAVAAAVBRV1VWA1pWAwdXBgQHWlBSAVsBUlgHGyhSAzVTDgFRMAoAOiMLLQgnUC02LxstNgUYLAgFGC02MFseFhAXBx5RUlIcHBwcUlIrUitSHgEXHBwcHFIrKytSK1JSHlI="

a2 = "KysrKytSHj0SGlAeUVFSHgcbKFMrCA0LLBg3GjgmLxUvJTcWLCY7UiwbUhovNTQOLjUnFSw1MxYsNjtSODY3GiwmO1AtNjNWKwsVCwYLK1QrCAVWLBgoCy82DgsuNjNQLCYBFi82JA44MVJWLSU7Vi42Ixo4JgFSLDUwCywYJ1YvMSsRKwwzCy0IJ1AtNi8bLTYFUCwIO1AtJiMRKw8FCy0LKAs4JjALOzYjVy8IOxU7NjQPLCYzUTglOxg7UDtXLCYoDzgIMxg4NiNTLBgBUDs2N1AsNSsaLFAsCS01JA4sCCNQOwgFViwYBVIsJigOLA8vGjsYN1crDFJfHhYQFwceUVJSHBwcHFJSK1IrUh4BFxwcHBxSKysrK1JSUh49EhoGBx5RUVIeA1NQVgBaAFdXV1pXAFFWV1RRA1pTV1VQWwAAAFFWVAMDA1IHU1EHU1ZVBlQHU1oGWgBXA1VWAwZWBFFVBgZTAVgHGyhSAzVTDgFRMAoAOiMLLQgnUC02LxstNgUYLAg7UC0mIFseFhAXBx5RUlIcHBwcUisrUitSHhEBDRAHHlIeAAsMAxAb"

a2 = "X19fAV8BEl9cW15bWFlcV11ZV11aXFdcV1ZbEBAQEAFfXwFfXxJfXQxYXFgNX0MPV1oLQ19fCwtDDwgKCkNZVloIW1pdDAgLVwwQEBAQAV8BAV9fEl8SX19bXFsLWFdeXQ1YDQsLXApcClZaVw1cClhZWw1WDVoKVwtZWAtdDwpbD10KDwtcCA8LXV5eW1gNXltfCxJdDV8PXl5dWAhfC1tfCl4MXVhXVgxdVlsNXAtdDFdbXl9XXlhZWw9eXAsPVlsMVltXVltbWV0ID1sPXw1WWg0PEl9cEggPAh0LEBAQEF9fAQFfARJfEl9dDFcIXl5eQw9XWgtDX18LC0MMWwsKQw1bC1wLXgwMVlgMWhJcXFdeEgxeVg8KXFZeVl8KW10KXQoKWApeCwwMXQtZWV8IWFxYW1oPCApZVwhbXVlfXl1aXVteWAhcXQxcX10PCFxXD1lYXFtZCl5bCwtcWFtaWVlWXVdbCF9eWFteWwgMWVZZXVxYXw0NX10KWlsKXFcKCwheWl1aWVYPV1kLVl5cCg1YMVBXVlYSXhIgLxAQEBABX18BAV9fARJfXQxYXFdWDUMPV1oLQ19fCwtDDwgKCkNZVloIW1pdDAgLVwwSGhwbCxAQEBABXwFfX18SDRsQEBAQAV9fAV8BXwESW1hXVxAQEBBfAV8BAV8SDQ0NVF5CDQ0NVF4QEBAQX19fAQFfEggeElheEl8QEBAQXwEBAQFfEg0DVxpdA1cHBQIDGgJaCxgNHh8JEBAQEAFfAQFfARJfXQxYXwheWEMPV1oLQ19fCwtDDwgKCkMLW15dCFZXDQxcD10SXV9bXVheXl4SGhwbCxAQEBABX18BXwFfXxJfWV5aX1ZYXVxXVltYEBAQEF9fAV9fXxJcC1xZCFkMVwoMCghdVg9bCAxXXg0IClpYDFZeCA1eWQ1WDFZXCAhYClwMVgpfXllcX1sICF8LCwxeWlgPXVtZEBAQEF9fXwEBXxIcCBJYXhJfEBAQEF9fXwEBXxINDRJYXhI7XCgaNDggHgopO1c6KShaIRlTUw=="

b2 = base64.b64decode(a2.encode())
for i in bytes(encrypt(b2, 878 % 128)).decode().split('~~~~'):
    print('o11o111o' in i, i)

'''
I00II0|1|14e8b370-46df-11ee-9636-9d314c873224|8721|1627b0d797dbd3f6b58b265bcbe1d06f1982137a1c5b07061977272fce900d5f87bbf14528372ba6de2e9a2adb2e6667be0a672b1cfd53ff0d1cbee2d0700f5e_<<=:|0|NA
IIIII0|_px2|330|eyJ1IjoiYjIyYWI2MTEtNmM1OC0xMDMxLTlhNDAtZjU0MDBjNjdkNjMwIiwidiI6ImY0NmNhZmE1LTQ2ZGUtMTFlZS05MWM0LTRiYWRkZmE1YjNlMyIsInQiOjE2OTMzNjM3NDM3NTEsImgiOiJjMmY1ZjQ5Y2JhNjRhODBjN2I5ZWRlYzU3YjVlZDJkY2IxZjMzMDc1MTJhZTQ3NzIyYzlhY2VjZTQ0YjgyYmVkIn0=|true|300
I0I0I0|1|3f843d1f8022e5c954c8356388d1264949df69eccba81acf1447ff2ac806|606ac27aab15093b4bc5a307f293804843fc22ccd81c128cdce88448b7bc42c7|17|false
I00III|15041159139452913395
00I0I0|cu
IIII0I|ccc:300
IIIIII|cc|60|U2FtZVNpdGU9TGF4Ow==
0III00I0|14e5e081-46df-11ee-be3b-6b4862687642|true
IIIIII|rf|60|1
0III0II0|7500
0III0III|1693363443751
IIII00|cjnapsvd4thn7uq9lgm0
I0I0II|14e5dd68-46df-11ee-be3b-6b4862687642
IIIIII|fp|60|1
00III0|86809e0cf02a54019055668b6cd60d5f437718e85c33cbadb17c156f134514b5
'''
