Hardware components | ||||||
![]() |
| × | 1 | |||
Software apps and online services | ||||||
![]() |
| |||||
![]() |
| |||||
|
This project aims to develop an AI-based predictive maintenance system for industrial machines using the Infineon PSoC6 AI Kit and DeepCraft Studio. The system will:
- Collect real-time vibration data from the built-in IMU sensor (accelerometer & gyroscope).
- Stream this data to DeepCraft Studio for AI model training.
- Train an AI model to detect anomalies and predict machine failures.
- Deploy the trained model to the PSoC6 AI Kit using ModusToolbox.
- Provide early maintenance alerts to users.
- Infineon PSoC6 AI Kit (with IMU sensor)
- Industrial machine (for vibration data collection)
- USB/UART connection for data streaming
- DeepCraft Studio (AI model training)
- ModusToolbox (PSoC6 firmware development)
Im surprised To find a ready--made Example In DeepCraft Studio for Anomalous Vibration Detection
So This project will be divided to two sections
Section 1First
I will start to test the ready made Model.
Then I will make my Model and Train it using my streamed IMU Data sets.
Both Models will be deployed and Tested On PSOC 6 AI KIT.
3. Section 1Steps to Implement the Project using the ready-made Model.
in this section I will Generate The code for the ready-made Model using DeepCraft Studio
a- Generate Model.c & .h files :select Infineon PSOC in the architecture, PSOC6 in Target Device, The output Folder and press Generate Code
after Generating model.c & model.h files, you can find model files in the infineon folder copy Both Files model.c & model.h then we will go through deploy using Modustoolbox
1- open modustoolbox software and select your workspace
2- Create new project using New Application Wizard
3-select CY8CKIT-062S2-AI PSOC as your BSP Then Next
4- in Machine learning Section just choose DEEPCRAFT Deploy Model Motion, and Rename the project as you like and press create
5- After creating your Modus Project open the models folder and just replace model.c and model.h with the generated files from DeepCraft Studio
you can add your custom code to main, c file to do any thing when the model run successfuly, in This Project The RED LED will Turn on When Anomally Detected
if(best_label >0 )
{
cyhal_gpio_write(CYBSP_USER_LED2,CYBSP_LED_STATE_OFF); //Turn RED LED ON WHEN ANOMALLY Detected
}
else {cyhal_gpio_write(CYBSP_USER_LED2,CYBSP_LED_STATE_ON);}
for now I would like to run only the ready model to test its working just Build the Project and wait to finish with no errors
6- program your kit and open a serial console from Modustoolbox or putty or Tera Term as you like ( Baud :115200, 8, none, 1 )
As noticed in the video, the kit must be in the same orientation as the original trained model, as shown in the next screenshot from the author's video, so this model is only trained in this orientation; any other orientation for the kit will give us an anomalous vibration even if nothing is vibrating. So I will train my model in a different orientation to avoid this.
in
a- Step 1: Collect & Stream IMU Sensor Data to DeepCraft Studio1. -Configure the IMU Sensor (Accelerometer & Gyroscope)
- Use PSoC6’s SPI interface to read IMU data.
- Sample vibration data at 100 HZ (adjust based on machine vibrations).
- Apply FFT (Fast Fourier Transform) to extract frequency-domain features.
2-.Stream Data to DeepCraft Studio
- Use Streaming Protocol V2.
3-.Label Data for Training
- Collect normal and abnormal vibration patterns.
- Use timestamps to mark failure conditions.
- The created lable for this model is ( Normal, Need Maintainance, severe Failure).
1.Import Data into DeepCraft Studio
- Use Streaming Protocol V2 to stream IMU Data to Graph UX Project in DEEPCRAFT STUDIO.
- Create a new GRAPH UX project
- Preprocess data (normalization, noise filtering) If needed.
- set the IMU Input Data frequency to 100 HZ to get better data collection of high speed vibrations
add a predefined Labales of (Normal, Need Maintenance, severe Failure)
after that, I will begin to build my data set for a different situation to ensure the model will have a good training data set
so for normal, I will get the streamed data from the IMU in a different position
(The kit in Horizontal position—different vertical position)
After Finished Collected Data sessions we will create our Classification Project
2- Create Empty Classification projectin Data section of our classification project we will add the collected Vibration Data using ----> Add Data Button browse to the folder location of the Data
- Split data into train (70%), validation (20%), andtest (10%).
Add the predefined label (Normal-Need maintenance, Severe Failure)
In the Preprocessor tab create a sliding window size = [128*3]. number of data points stride = 6 buffer multiplier = (1)
- Create track from preprocessor( wait until finished)
Then Build the preprocessor.
6. Design the AI Model- Use a 1D CNN or LSTM (good for time-series vibration data).
Example model structure:
Input: 6 features (3-axis accel + 3-axis gyro)
Hidden Layers: Conv1D → LSTM → Dense
Output: Binary classification (normal/abnormal).
After setting model Parameters, Start New Training Job
then Download the best Trained Model
1. Generate C Code from the Model
2. Repeat steps in Section 1 to deploy our Model
3 .Integrate the AI Model
Copy model.h
model.c
into the Modustoolbox project.
Load the model in main.c
D- Step 4: Test & Validate the System
1. Bench Testing
- Simulate vibrations using a vacuum cleaner or a motor.
- Verify if the AI model detects anomalies.
2 . Real-World Testing
- Attach the PSoC6 to an industrial machine.
- Monitor
- predictions vs. actual failures.
As shown here in the next video the model is working even if the Ai kit is in a different orientations
3.Optimizations
- Adjust sampling rate.
- Fine-tune AI model thresholds.
- The PSoC6 will continuously monitor vibrations.
- If abnormal patterns are detected, it will trigger an alert (LED/UART message).
- Users receive early warnings for maintenance.
This project demonstrates how to:
- Stream real-time IMU data to DeepCraft Studio.
- Train an AI model for predictive maintenance.
- Deploy the model on PSoC6 using ModusToolbox.
- Detect machine failures early and alert users.
https://orcid.org/0000-0001-6189-0463
https://github.com/eslamfayad/PSOC6-AI-KIT-Predictive-Machine-Maintenance
/*
* ImagiNet Compiler 5.3.2569+c38e822c721f137984639bf6e13e3974e71c734c
* Copyright 2023- Imagimob AB, All Rights Reserved.
*
* Generated at 04/20/2025 21:29:52 UTC. Any changes will be lost.
*
* Model ID 2b5eacdb-01b1-4155-a17e-31be66c5b2b5
*
* Memory Size Efficiency
* Buffers 1536 bytes (RAM) 100 %
* State 22232 bytes (RAM) 100 %
* Readonly 51548 bytes (Flash) 100 %
*
* Exported functions:
*
* @description: Try read data from model.
* @param data_out Output features. Output float[4].
* @return IPWIN_RET_SUCCESS (0) or IPWIN_RET_NODATA (-1), IPWIN_RET_ERROR (-2), IPWIN_RET_STREAMEND (-3)
* int IMAI_dequeue(float *data_out);
*
* @description: Try write data to model.
* @param data_in Input features. Input float[2,3].
* @return IPWIN_RET_SUCCESS (0) or IPWIN_RET_NODATA (-1), IPWIN_RET_ERROR (-2), IPWIN_RET_STREAMEND (-3)
* int IMAI_enqueue(const float *data_in);
*
* @description: Closes and flushes streams, free any heap allocated memory.
* void IMAI_finalize(void);
*
* @description: Initializes buffers to initial state.
* @return IPWIN_RET_SUCCESS (0) or IPWIN_RET_NODATA (-1), IPWIN_RET_ERROR (-2), IPWIN_RET_STREAMEND (-3)
* int IMAI_init(void);
*
*
* Disclaimer:
* The generated code relies on the optimizations done by the C compiler.
* For example many for-loops of length 1 must be removed by the optimizer.
* This can only be done if the functions are inlined and simplified.
* Check disassembly if unsure.
* tl;dr Compile using gcc with -O3 or -Ofast
*/
#include <stdint.h>
#include <string.h>
#include "mtb_ml_model.h"
#include "model.h"
#ifdef __GNUC__
#define ALIGNED(x) __attribute__((aligned(x)))
#else
#define ALIGNED(x) __declspec(align(x))
#endif
// Working memory
static ALIGNED(16) int8_t _buffer[1536];
static ALIGNED(16) int8_t _state[22232];
// Parameters
static const uint32_t _K4[] = {
0x0000001c, 0x334c4654, 0x00200014, 0x0018001c, 0x00100014, 0x0000000c, 0x00040008, 0x00000014,
0x0000001c, 0x000000a0, 0x000000f8, 0x0000b174, 0x0000b184, 0x0000c8b8, 0x00000003, 0x00000001,
0x00000010, 0x000a0000, 0x000c0010, 0x00040008, 0x0000000a, 0x0000000c, 0x0000001c, 0x0000004c,
0x0000000f, 0x76726573, 0x5f676e69, 0x61666564, 0x00746c75, 0x00000001, 0x00000004, 0xffffff88,
0x00000020, 0x00000004, 0x00000018, 0x766e6f63, 0x6d2d6431, 0x75696465, 0x61622d6d, 0x636e616c,
0x322d6465, 0x00000000, 0x00000001, 0x00000004, 0xffff4e66, 0x00000004, 0x00000007, 0x75706e69,
0x00315f74, 0x00000002, 0x00000034, 0x00000004, 0xffffffdc, 0x00000023, 0x00000004, 0x00000013,
0x564e4f43, 0x49535245, 0x4d5f4e4f, 0x44415445, 0x00415441, 0x000c0008, 0x00040008, 0x00000008,
0x00000022, 0x00000004, 0x00000013, 0x5f6e696d, 0x746e7572, 0x5f656d69, 0x73726576, 0x006e6f69,
0x00000024, 0x0000b078, 0x0000b070, 0x0000b020, 0x0000af90, 0x0000af00, 0x0000acb0, 0x00007ca0,
0x00007c10, 0x00004c00, 0x00004be0, 0x00004bc0, 0x00004ba0, 0x00004b80, 0x00004b64, 0x00003354,
0x00000344, 0x00000324, 0x00000310, 0x00000100, 0x000000f8, 0x000000f0, 0x000000e8, 0x000000e0,
0x000000d8, 0x000000d0, 0x000000c8, 0x000000c0, 0x000000b8, 0x000000b0, 0x000000a8, 0x000000a0,
0x00000098, 0x00000090, 0x00000088, 0x00000068, 0x00000004, 0xffff4f6a, 0x00000004, 0x00000054,
0x0000000c, 0x000e0008, 0x00040008, 0x00000008, 0x00000010, 0x00000024, 0x00060000, 0x00040008,
0x00000006, 0x00000004, 0x00000000, 0x000a0000, 0x000c0010, 0x00040008, 0x0000000a, 0x00000002,
0x00000002, 0x00000004, 0x00000006, 0x35312e32, 0x0000302e, 0xffff4fca, 0x00000004, 0x00000010,
0x2e362e31, 0x00000030, 0x00000000, 0x00000000, 0xffff397c, 0xffff3980, 0xffff3984, 0xffff3988,
0xffff398c, 0xffff3990, 0xffff3994, 0xffff3998, 0xffff399c, 0xffff39a0, 0xffff39a4, 0xffff39a8,
0xffff39ac, 0xffff39b0, 0xffff39b4, 0xffff5022, 0x00000004, 0x00000200, 0xbe3de64f, 0x3ed23d5f,
0x3deda1c6, 0xbe6343f6, 0x3e9b7f96, 0x3eeb53d8, 0xbd332a36, 0xbdc92204, 0xbe871e86, 0x3ee20ec9,
0x3e0ea839, 0xbe80ed08, 0x3e01e0e2, 0xbd682526, 0x3e698996, 0x3e51576e, 0x3eb182f3, 0xbc5f2d80,
0x3c7ab478, 0x3ec73a06, 0x3e183cf4, 0x3efec672, 0x3dac8220, 0xbe60d51f, 0x3e4af6fb, 0x3e8e30b3,
0x3d8bbb6b, 0xbe389b6b, 0xbd8df475, 0xbe9e3869, 0x3ebf32ee, 0x3ebcb58a, 0xbcacb7e7, 0xbedfd51c,
0xbdddb5ab, 0x3e96a3f9, 0xbe122838, 0xbe473e5a, 0x3e3a40a4, 0x3e45f90f, 0xbf07817e, 0x3e4d8859,
0xbe83ecc1, 0x3da27b69, 0x3ddc6136, 0xbe303e85, 0x3df58499, 0xbecd7072, 0xbeb1d108, 0xbe5f0a34,
0xbb407475, 0xbe846814, 0x3d8e708c, 0xbe27d7c6, 0x3e1daab0, 0x3e81585a, 0x3e8e61ec, 0xbdc7f2f7,
0x3da19139, 0xbce41ee0, 0x3d2e2a19, 0xbdfd336e, 0xbed9e32a, 0xbe8d6f16, 0xbe8d3715, 0xbe49bd71,
0x3e156152, 0xbe9af76b, 0xbe5d84d8, 0xbc16e50f, 0xbee46c95, 0xbe1146fd, 0x3e777700, 0xbf31c09d,
0xbf2cbb9c, 0x3d9094ad, 0xbf26b293, 0xbf14fd7f, 0x3e01f340, 0xbf06e605, 0x3e26b916, 0xbe4371ec,
0x3dd5fedf, 0x3d6c70ac, 0x3c4bc82e, 0xbd6c5662, 0xbf186761, 0xbd55de18, 0xbea94c4b, 0xbe2d1aa6,
0xbdfe1d2a, 0xbdd8c7fb, 0x3b89a359, 0xbee4ac9d, 0xbd08e58d, 0xbf14f8b1, 0xbe6e9a83, 0x3f0e8ad7,
0x3cc39538, 0x3e0cecf7, 0x3ea8f8c6, 0x3eac96da, 0xbecd3554, 0xbec3b6ba, 0xbdddfdc6, 0x3f0f8f40,
0x3e6f6491, 0xbe7e0973, 0x3e61d8ef, 0x3ec8b652, 0x3f0d7552, 0x3ed3483b, 0x3edb7e92, 0xbea656e6,
0xbe57deee, 0x3e5313e5, 0x3e8faa21, 0xbe91b7f6, 0xbecbc3e2, 0x3eb3dcdf, 0xbe8ae9dd, 0x3e2136c5,
0xbe2dfa4f, 0xbe3e63a8, 0x3ea90bc6, 0xbd143804, 0xbd613f27, 0x3e8a85f0, 0xffff522e, 0x00000004,
0x00000004, 0x00000001, 0xffff523e, 0x00000004, 0x00000010, 0x3db73b86, 0xbe1b57f9, 0xbe85b597,
0x3e43f709, 0xffff525a, 0x00000004, 0x00003000, 0xbe1017f1, 0x3c14c6a9, 0x3de9b895, 0xbdfec5e5,
0x3c9c7432, 0xbb3e11af, 0x3e07c93e, 0x3ddc1446, 0xbe11752e, 0xbd94fa8a, 0x3da6ef90, 0x3d244ede,
0x3e63a82a, 0xbe6eec0a, 0x3dacf0ba, 0x3c42062c, 0x3b6349f8, 0xbe159dab, 0xbd1b9ffa, 0x3d29387e,
0x3dd492ae, 0x3d0c827f, 0x3e382e39, 0xbd2ff3fd, 0xbdfa0d82, 0xbd3f8fe3, 0x3d6df770, 0xbda4abd5,
0x3d1d92cf, 0xbdb2c938, 0xbe54971e, 0x3dcc9b47, 0xbc2d923e, 0x3e91022a, 0x3e17fbca, 0x3d792c53,
0xbd8eaa73, 0xbd496104, 0xbe16d760, 0xbe713d83, 0x3cab2c55, 0x3dbebdf5, 0xbe0424f6, 0x3ea1b713,
0xbdfd0362, 0xbe4df418, 0xbc8efa7d, 0xbd9eed00, 0xbda428db, 0xbd1410ca, 0x3cc4da6a, 0xbbe09a1e,
0xbe4bc7ad, 0xbdead529, 0x3e802929, 0x3dc7178e, 0x3cd7258a, 0xbda8a1ff, 0x3d7a92da, 0x3e03b7db,
0x3da2c713, 0xbe032b80, 0xbdf70257, 0x3dfbaf1c, 0x3d9600fb, 0x3e37b36d, 0x3d2de0d8, 0xbe5bbca4,
0xbdace4cc, 0xbc34ac34, 0xbd47ebe8, 0x3d65df01, 0xbe12a2a7, 0x3aac7d04, 0xbcd71347, 0x3d81f23d,
0x3dcfa005, 0xbe47b9bf, 0xbbb9ea48, 0xbca608c1, 0x3db35805, 0x3d123f4f, 0x3d26f3a7, 0xbe405a88,
0xbe3dc4e1, 0x3e1247df, 0x3c069e50, 0x3e10fc69, 0xbda15567, 0xbc87d7e8, 0x3e5a06e3, 0x3da6fe7c,
0x3e0a4294, 0x3dba2897, 0xbe908b63, 0xbcf5295b, 0xbe57e5da, 0xbda30834, 0xbde43681, 0xbdcba695,
0x3da38a20, 0xbdb815fd, 0xbdf5024f, 0x3da8688b, 0x3e713983, 0x3e603305, 0x3e5ec9c4, 0x3e7e24c6,
0x3c695c0c, 0xbd32e95f, 0x3b3c1090, 0xbdf6fc1d, 0xbd493a3f, 0x3cd29565, 0x3e25e755, 0xbd8e57c0,
0x3e3f12a1, 0xbe9c0622, 0x3b838be4, 0xbdfb93fa, 0xbcf92667, 0x3e271d98, 0xbdbba2b3, 0xbdb542c3,
0xbc52663b, 0x3e0101af, 0xbd9e4f69, 0x3d89c614, 0xbd903628, 0xbe258355, 0x3e7f52c2, 0xbe0cf3bb,
0x3e584e11, 0xbe76509f, 0x3e268fe3, 0x3dea8129, 0x3d387685, 0x3e35407b, 0x3e437220, 0x3e7a19a6,
0x3e4ec116, 0xbe0c3b5f, 0x3e3d3a5c, 0x3d4e95b8, 0xbe0e9ba2, 0xbd8a45ce, 0xbd8cf292, 0x3de69f19,
0x3e6e18eb, 0x3d4e9f08, 0xbe14fb81, 0xbd1762dc, 0xbcc132be, 0x3e843de8, 0x3d29507f, 0xbe99fcea,
0xbe7d9128, 0x3d4c386d, 0x3e45687f, 0x3b6d2495, 0xbdfa38e7, 0xbe89ec8a, 0x3c383b17, 0x3d411ffa,
0xbc5472e3, 0xbd5e71d4, 0x3a241fd8, 0x3e116d3c, 0x3e6dd775, 0x3e670143, 0x3e12fafd, 0xbcb2566a,
0xbdf27760, 0x3d331fdf, 0x3d58fc98, 0xbe1a9928, 0xbcca32c9, 0x3dc2d65d, 0xbdc1890c, 0x3e19bef8,
0x3dfb8327, 0xbe7c6b69, 0xbe1310a7, 0x3d9358f9, 0xbdddec94, 0x3e087ec8, 0x3d1f4cf8, 0xbd92b7ea,
0xbde8daee, 0xbe180694, 0xbe03b5f9, 0x3d97b0f3, 0xbdd8f9b8, 0x3e8762ab, 0xbdc59aea, 0xbe222506,
0xbdfff90d, 0xbd228109, 0xbdb57b57, 0x3d34fea2, 0x3c9341c6, 0x3d8b3246, 0xbe31208f, 0x3ea15ba0,
0xbe81f150, 0xbd8b570a, 0x3c6d3dbe, 0xbd7410dc, 0xbc026841, 0xbe5649d1, 0x3d2d4a4d, 0x3d8b7f49,
0x3d843840, 0xbd4c5bb8, 0x3d9740ad, 0xbe1363a6, 0x3d56e454, 0xbe046e72, 0x3dea1e12, 0xbdabcad1,
0x3e10932f, 0xbdad72c8, 0xbdbc40f2, 0xbd0a9230, 0xbcfe5fa8, 0x3e8a7472, 0xbd5fff2a, 0xbbce8212,
0x3d04f853, 0x3d518c01, 0xbdcb044f, 0xbcc32324, 0x3b9d94d7, 0x3d18c8a7, 0xbe03e88d, 0x3e815d4c,
0xbe256d16, 0xbccf5477, 0x3d8471ab, 0xbdcafb84, 0xbe2fdd9a, 0xbdb076bb, 0xbd6012f8, 0xbde86f8f,
0xbddc2b1c, 0xbd32d97e, 0x3da433b4, 0x3de40643, 0xbe12f716, 0xbdfe3e98, 0x3c8a9e2b, 0xbe00e6eb,
0x3dbfbee1, 0xbe48f65f, 0xbbede99b, 0x3d46f3c0, 0xbce88940, 0x3d750577, 0x3dff17ec, 0xbe0598e2,
0x3daa883c, 0xba75964c, 0x3e1b8984, 0xbe464485, 0xbdaf272d, 0x3dab40b1, 0x3dd46bd0, 0x3d9421a9,
0xbd9295ae, 0x3d14056c, 0xbe11b4ac, 0xba364a02, 0xbe1b6e43, 0x3dd2ed44, 0xbe2b230c, 0xbe234660,
0x3d9e43c8, 0x3c7f71dc, 0x3e442fcc, 0xbdb80495, 0xbdef0676, 0xbd1f82f2, 0x3e470878, 0x3cdbe5bc,
0xbd6f4dff, 0x3c5f55a0, 0xbe5504e0, 0xbb52be02, 0xbe2e5c49, 0x3d4dbcbc, 0x3d0fe41b, 0x3d4c30be,
0x3c836c80, 0x3e207f85, 0xbe4ecece, 0xbdca8abd, 0x3da8f077, 0x3dac6aa1, 0x3e11819b, 0x3dcbebd6,
0xbb4acea6, 0xb9c32b04, 0x3c808442, 0xbd27d929, 0x3db5ef56, 0x3de79924, 0xbd0e2a57, 0x3db61602,
0x3e2d259e, 0x3d8d6408, 0x3c87f5de, 0x3e0eb292, 0x3c8fdc1e, 0x3df272cd, 0xbe61e72c, 0x3d5c7c60,
0x3e4b7649, 0xbdfa8f38, 0x3d5f6b30, 0xbd5e44d5, 0x3d7502d9, 0x3db2ee3e, 0xbdaf4a37, 0xbe9cff43,
0x3e4c2cc8, 0xbe1b0b56, 0x3dfac20b, 0xbd9a9485, 0xbd2ae98c, 0xbc0b4071, 0x3e166f00, 0xbd57722b,
0xbe8290de, 0xbdeaa247, 0xbe43e040, 0x3bcde5c8, 0xbe66613b, 0x3c3f8d98, 0xbe374849, 0x3e1c30b3,
0xbc6388c6, 0x3de2e96b, 0xbde74885, 0xbcbd508e, 0x3c2d5a37, 0x3d8387c0, 0xbec13015, 0xbeb7cbed,
0xbe96aa86, 0xbe408a0b, 0xbcbf7c1e, 0x3e60c2a2, 0xbd9ba44f, 0xbc27e46c, 0xbd50dcc6, 0x3ded058f,
0xbe38d619, 0x3da4b239, 0x3e1681ae, 0x3e6feacf, 0x3e50ac93, 0xbdc649bc, 0xbaf81860, 0x3ba55b92,
0x3e264d1d, 0x3e20ec50, 0x3c836349, 0x3d1080b6, 0x3e5e6dfa, 0x3e50ed23, 0xbe0e09f3, 0x3e0e1138,
0x3da42ddd, 0xbdcd7b1d, 0x3e44162a, 0xbc3afcc8, 0xbe83f85d, 0xbd8cc759, 0x3e85abd5, 0x3de2037d,
0x3e43f32d, 0x3df90095, 0x3c6946d7, 0x3bd355dc, 0x3d590612, 0x3e022596, 0x3dc3988b, 0x3d9ca1b0,
0xbdba1dfd, 0x3e0f62b4, 0xbd0bfa1a, 0x3cc240a5, 0x3d7c00b0, 0x3db6d1d3, 0x3dff03ab, 0xbca11cf9,
0xbcd34bd2, 0x3e0a1aad, 0xbe0022b2, 0xbcdf424b, 0xbd90878f, 0xbe344dd1, 0xbe1d4195, 0xbe39b204,
0x3d8456eb, 0xbbbee5ff, 0x3dfb8796, 0x3d97c6d4, 0x3db687e5, 0xbcaeb236, 0x3ddb7111, 0xbe1369db,
0xbe11da33, 0x3e31d18d, 0xbdb9eae8, 0xbdcc43d6, 0x3e3c35a0, 0xbe1d5440, 0xbe6438a3, 0xbe16728e,
0x3e287fe2, 0x3de8c810, 0xbe9485a7, 0xbe1b326f, 0x3c05d002, 0xbcebd748, 0xbdfd8bb1, 0xbc08b822,
0xbcbb57a0, 0xbe112ed2, 0xbe210313, 0x3da6053f, 0xbdf052e2, 0x3d9d8346, 0x3e590c8b, 0x3da11cfe,
0xbda82b26, 0xbc0505d6, 0x3d776ee6, 0x3e2d410a, 0x3de1dc63, 0xbc6d3db9, 0xbe5b54a6, 0x3de55831,
0xbd23915e, 0x3ca2bb2b, 0xbd982617, 0x3cdac8a3, 0xbd89f4bc, 0x3b9f5a4e, 0xbd1ee71b, 0xbd498c4a,
0x3cf18825, 0xbd7b139d, 0x3da90c96, 0xbc70201a, 0xbddb93f5, 0x3de19dac, 0xbe38b86d, 0x3e131f8a,
0x3dd05dc8, 0xbd267eb3, 0xbd7df1ee, 0xbd9fa193, 0xbd6fccf9, 0xbe4ad55d, 0xbd12b422, 0xbd6ee96f,
0x3d5e5ff7, 0x3d982c9b, 0xbdb89bc1, 0x3e05794e, 0x3e17fb14, 0x3dea5f58, 0x3dcf6662, 0x3e18e2d4,
0xbc6dfc71, 0x3dbcaf44, 0x3c08b8f8, 0xbd581834, 0x3e0ad72d, 0xbe6d7db2, 0x3ddf8676, 0x3b6a9e1e,
0x3e1f8a9e, 0x3dc92886, 0xbdd63110, 0x3e4f4a9e, 0x3e33bac9, 0x3e43b08a, 0xbb958d8e, 0x3db47573,
0x3d911678, 0xbdf88336, 0x3e3e1af9, 0x3e48dc7e, 0x3e527c12, 0x3e62bf7e, 0x3e3cc626, 0x3d72b4c1,
0x3d0320de, 0xbdba5434, 0xbcd71461, 0x3c78fa4e, 0xbac4d15c, 0x3e9d07e2, 0xbd195584, 0x3e06a750,
0x3cbbb1fa, 0x3e2c10d1, 0xbdb169aa, 0xbda56d90, 0x3d9206c5, 0xbe0d346a, 0xbdcd8975, 0x3e1c3af5,
0x3e75d554, 0xbdbdb87a, 0x3d03e3c6, 0x3e1e5ea7, 0xbe006766, 0x3e04778a, 0x3dd288ee, 0xbb606f46,
0x3d13e074, 0x3e147882, 0xbdace180, 0x3e7f309f, 0x3df7c2c4, 0xbd693eed, 0x3e0d8ed0, 0x3e3e90ad,
0x3e6d6fa0, 0x3db578cb, 0xbdd06222, 0x3d9ae561, 0x3e3b217f, 0x3e834a6e, 0x3cd34cf2, 0xbccc190e,
0x3d7157d1, 0x3db58e1f, 0x3e4ddecc, 0xbd33db65, 0xbe0fa1c4, 0xbe8eec40, 0x3bcfe63a, 0x3e01af3f,
0x3e17fed1, 0xbe1275f9, 0x3e0bf087, 0x3e451ecd, 0x3ded7b2a, 0x3e05c8e9, 0x3d45b0b7, 0x3d39fe84,
0x3c931c6e, 0xbdba0330, 0xbdc116bf, 0xbcf0b7f6, 0x3c228652, 0x3ded882f, 0xbd58f7a5, 0x3db37bc0,
0x3d9c9dc8, 0xbd846bf8, 0x3d7126cf, 0xbe2356a7, 0x3d0ce15f, 0xb9a5c886, 0xbe38fec6, 0xbe2829db,
0x3d8a9bff, 0x3ddb789f, 0x3e8f7065, 0x3cec4f13, 0xbe281ad4, 0xbda98a37, 0xbc4c6026, 0x3e5cf0e9,
0x3dfc6cf1, 0x3d03ce7a, 0xbc7288a9, 0xbd919435, 0xbe296ee6, 0xbe5c47a5, 0xbe201fc5, 0x3da0c39b,
0x3dbc9082, 0x3dfff0b1, 0x3c91869e, 0xbe3ad86b, 0x3d7a6ea0, 0xbd0fbefa, 0x3e40c78a, 0x3d76861b,
0x3d517a6e, 0x3e141967, 0xbafb5a00, 0x3e14e28f, 0xbdebc908, 0x3d89d9b1, 0x3e001e15, 0xbe163d64,
0xbd725bb4, 0x3e3ba767, 0xbe568799, 0x3dc0d1fe, 0xbe3aaa79, 0x3ded866e, 0xbbc51636, 0x3e19f168,
0x3dba4216, 0x3e0908ee, 0x3e29634d, 0x3d84966c, 0x3df5ed57, 0xbdeeee34, 0xbc24e258, 0x3dbeaf6f,
0x3cd7df31, 0xbce2dc62, 0x3e0bea63, 0xbdafab7d, 0x3e660df1, 0xbda3e46c, 0xbceab2e4, 0xbdd17bc0,
0xbe312221, 0x3bf4c394, 0x3dca2f54, 0xbe105620, 0x3d1683d1, 0x3c0df08a, 0x3b6a774e, 0x3d995cd8,
0xbd46c1b1, 0xbdc27b6c, 0x3e4e8ec6, 0xbd8532c2, 0x3ccd9dc8, 0x3c85ebc9, 0xbe506485, 0xbde098c1,
0xbd984867, 0xbcb3b85d, 0x3de100b4, 0xbdbc6b66, 0xbe1d7bb0, 0x3d5e83a4, 0xbca8dd08, 0xbe6e9108,
0xbe82b032, 0xbe338678, 0xbe286e74, 0xbd54df0d, 0xbdb46a7b, 0x3d989fdc, 0x3e797962, 0x3e0e5416,
0x3dbfb232, 0xbc873e28, 0xbd422349, 0xbd34ef65, 0x3d9374d4, 0xbdafa899, 0xbe294339, 0xbe28d9b4,
0xbe5ba14c, 0x3cf4eea4, 0xbe198889, 0x3ddc0562, 0xbe1a5788, 0xbc1940d4, 0xbe11f893, 0xbe014bd6,
0x3bf56aa1, 0xbbc43f88, 0x3d8f0840, 0xbcca9666, 0x3daf60ec, 0x3d60bc40, 0x3e05b607, 0x3ca219ac,
0xbcd6e084, 0xbe2391c5, 0xbdb6db2a, 0xbd56934f, 0xbe4e3cec, 0xbe6060e3, 0xbd2645f4, 0xbe35c593,
0xbd1608a5, 0x3b95a98c, 0x3c4ada9b, 0xb904c2c6, 0xbcaa5ad6, 0xbd696bde, 0xbe674700, 0xbdf6a2a4,
0xbdbb0a6b, 0xbdb81275, 0xbd698050, 0x3e1e8d9c, 0x3df1b8ca, 0x3de956a1, 0x3e10001d, 0xbe3a9a86,
0xbca5fa4c, 0xbe872450, 0xbd74cda2, 0x3df4b88b, 0x3dc8299b, 0xbddae82c, 0x3d591e0a, 0xbbe7f3b6,
0x3df5d2b1, 0xbe5c79c1, 0x3e0bb802, 0xbe074255, 0xbda6fa70, 0xbd7ac8ee, 0xbe794c76, 0xbd483b44,
0x3d912504, 0xbdd51f70, 0x3e141f76, 0xbe2c3912, 0xbe5e1e88, 0x3ad5f3b3, 0x3e12c988, 0x3cec4541,
0xbe24607f, 0xbc8ec17d, 0x3cdbff01, 0x3d9dbb62, 0xbe18ec4f, 0x3e181958, 0x3ddeb05c, 0xbd4484fe,
0xbe4b1e19, 0xbe1914b1, 0xbe76e66b, 0x3da32e91, 0x3e0645ff, 0xbe16bf94, 0xbd8abb75, 0x3cf7072a,
0xbd94c580, 0xbcdc2ac1, 0xbdce1816, 0x3d36d219, 0xbe718bb2, 0x3d4f3181, 0xbdd7c882, 0x3cbf1ced,
0xbb4b78af, 0x3d2b1589, 0xbe3e5e19, 0xbd0492f5, 0xbe816b69, 0xbd3f4c64, 0x3bef9806, 0x3d02bcbf,
0x3e4f1ffa, 0xbe3e0c3f, 0xbe3449ed, 0x3e1de6eb, 0xbe3b9090, 0xbe05c82d, 0xbbde3f27, 0xbe8b04ac,
0xbe50c10f, 0xbe2f3542, 0xba8228d4, 0xbdcc8921, 0x3e23c788, 0x3e6a7035, 0xbe2b91a1, 0x3eb7fb1a,
0xbd322c1c, 0xbe0726da, 0x3dc7a28c, 0x3db9b3a0, 0xbe8010c2, 0xbe044142, 0xbe2fbc03, 0xbd314f30,
0xbd320cab, 0xbdada20b, 0xbc2b95d1, 0xbd99aa3f, 0xbc87b03c, 0x3c6c5c1b, 0xbda48e69, 0xbcd060da,
0xbdb0cbf1, 0xbb33c394, 0x3dab9db4, 0x3d9e25f7, 0xbe5393fa, 0x3ddc0f69, 0xbdcfc24c, 0xbc87fce1,
0xbe5d0ad0, 0xbe39ada7, 0xbd70e24f, 0xbdb5e13c, 0x3cf19337, 0xbda6e71e, 0xbe0b6941, 0x3e9c7271,
0x3dc39f0c, 0x3c0c4a1b, 0x3dc87b2a, 0xbd056861, 0x3daf28c3, 0xbe1a2f87, 0x3cfc7e97, 0x3ce72366,
0x3dfff327, 0x3e0875cb, 0x3df199d5, 0xbe2aa4b0, 0xbd8fd605, 0x3d4701ff, 0xbe02fccf, 0xbe7004c4,
0xbe1c864a, 0x3db15ea4, 0x3e2f5e5c, 0xbd8eb961, 0xbcb697f7, 0xbdf19eea, 0x3d4f7428, 0x3e3be562,
0xbc906d7f, 0xbcd9a815, 0xbd789319, 0x3e292728, 0x3d390c82, 0x3d577460, 0x3da17e0d, 0x3de47af7,
0x3e0e3463, 0xbdc1867d, 0x3e4ff5fe, 0xbdb90382, 0x3e20dab3, 0x3cc7379b, 0x3d017d8e, 0x3ce79a96,
0x3e06d892, 0xbdf40c9c, 0x3cbe555d, 0xbc0e8095, 0xbd84bc39, 0x3dd62be8, 0xbde9bc4d, 0xbe2c094b,
0x3b428303, 0x3c09ab0a, 0x3dc96c1e, 0x3d5777d0, 0xbdc7ae6f, 0x3de44705, 0xbdf9c2b7, 0xbdd9b7d4,
0xbc94b3a4, 0xbe70a81c, 0x3d727880, 0x3c904b50, 0x3b38a14a, 0x3e548f0a, 0x3c24ac6c, 0x3ec2b76d,
0xbd93bfab, 0x3dddbd3c, 0xbc0d00b6, 0x3e0c9cf1, 0xbc581fdb, 0x3cb7fab8, 0x3e1160dd, 0xbe04c7a0,
0x3dfcb9bd, 0x3e2369d8, 0x3e1ac388, 0x3de29620, 0x3de9ac5a, 0xbdd211af, 0x3e627d24, 0x3d2a7753,
0x3d0752f0, 0x3e13fa63, 0xbdad847c, 0x3d18a66e, 0xbda66963, 0x3daf8c95, 0x3da410be, 0x3e0cad5f,
0x3db6f8c0, 0x3a6cb45c, 0xbb8f90a4, 0x3d6de34e, 0x3c21575a, 0x3d4dc864, 0xbd8dd1c8, 0x3e9aa95c,
0xba82c80d, 0xbdfb423e, 0x3d841a35, 0x3de3f444, 0xbe648383, 0x3c3593a3, 0xbda3b7fe, 0x3ce33d71,
0x3e55ea58, 0xbe5dd018, 0xbc88e71b, 0x3dc306e2, 0x3cf05fdf, 0x3dd4dd63, 0xbdcadb3e, 0xbe400746,
0x3e142f89, 0xbe01eaf4, 0x3e044b0c, 0xbde59c46, 0xbda7bb5f, 0x3e2a2e01, 0xbe29910d, 0xbe5e2592,
0xbde91ae1, 0xbda68b6c, 0x3e405340, 0xbd511645, 0xbdeaf0ce, 0xbaa3f768, 0x3ddd4790, 0x3e1d4ab0,
0xbd13fee9, 0xbc5f0f7d, 0x3cc4eecb, 0x3de0356f, 0xbe3d69e9, 0xbc9d4687, 0xbbdc770c, 0xbd252b31,
0x3db57ee3, 0x3e3d8f88, 0xbd9c1734, 0xbe3138d7, 0xbc210e34, 0xbd48d2fc, 0xbde5c676, 0x3d8837b0,
0xbc36201f, 0x3c502f08, 0xbe26b190, 0xbd38eb0a, 0xbdb9b766, 0x39b1d7f2, 0xbd7952d6, 0xbdbfe1a6,
0x3e266585, 0x3d7d0077, 0xbcb6c2df, 0xbe33de88, 0xbdbd41a0, 0xbc3a30f7, 0xbdb900e6, 0xbda6c87c,
0x3e0de198, 0x3c9d1ccb, 0xbd0528bf, 0x3da8b005, 0x3da525ed, 0xbe4f2df2, 0x3dac2db7, 0xbe1fce2c,
0x3d8096b0, 0xbdc60be2, 0xbdedc2bb, 0x3db41038, 0xbcd876c2, 0x3e0d7328, 0xbdf76e84, 0x3d633e66,
0xbc158571, 0x3d9f45e6, 0x3e470b34, 0xbc13f73d, 0x3de0fc64, 0xbc9bff8c, 0xbd75e931, 0xbda24e17,
0xbdbe30be, 0x3c9ee63d, 0x3da20b87, 0xbe2df04c, 0xbe1b8a42, 0xbe40791b, 0x3e1f056f, 0xbe8b7135,
0x3d944cd1, 0xbde36f29, 0xbe05bcf4, 0xbd32ea0c, 0x3dea2377, 0x3d4c9d90, 0xbd7101bf, 0xbd048c76,
0xbdf855f8, 0x3e1ad24b, 0xbd1e5a36, 0x3d800648, 0x3cee6406, 0xbdbace7e, 0x3e035698, 0x3ddac6c1,
0xbda0a4e2, 0x3e1f78e1, 0x3d939a6a, 0xbd735f91, 0x3b99c6f4, 0x3e227b82, 0xbde73a6d, 0xbd87a925,
0xbd23f225, 0x3e0e54d2, 0xbd9050b7, 0x3de11030, 0xbc87b46e, 0xbe81aa71, 0xbda61757, 0xbe59f9b5,
0xbcac4f3c, 0x3e0a790d, 0xbd0fe879, 0x3d0e17c3, 0x3d53ee5c, 0xbd51486b, 0x3e25b41d, 0x3e1646b0,
0x3cdec736, 0x3e0f54fb, 0x3d767661, 0xbc40c7c0, 0x3dc04680, 0xbdd2bc68, 0xbe32f172, 0x3e114dd4,
0x3b92628c, 0x3e531199, 0xbdb59b40, 0xbd4b0c08, 0x3d1403f5, 0xbdba6eb2, 0x3d340e98, 0x3d58bca0,
0xbe05e8e2, 0x3dd13952, 0xbd9135db, 0xbde860e2, 0xbe70c498, 0x3e5fd743, 0xbe0c8b67, 0x3e8d42b0,
0x3e11212b, 0x3c09aac5, 0xbc4b7ce3, 0x3d8335e4, 0x3e40e060, 0x3d10ad51, 0x3e950fe6, 0xbda24cf9,
0x3daba24a, 0xbe647d37, 0xbcf41661, 0x3e90adb8, 0xbd710f75, 0x3e023ae4, 0x3e243729, 0xbdef95d6,
0x3d90b239, 0x3e47933f, 0xbde80a5b, 0xbdf816d6, 0xbdeff554, 0x3e3afb25, 0x3e339fd5, 0xbe1334d7,
0x3dd3df63, 0x3de92c7c, 0xbd713983, 0xbd924910, 0xbdc54dab, 0x3d3cbb34, 0xbe38a1fc, 0x3e29ebe2,
0xbb5b5635, 0x3db19f3d, 0xbdcc637d, 0xbe074f26, 0xbdd2fb47, 0xbe708637, 0x3d058ef5, 0xbe1abf5d,
0x3ddd6bc1, 0x3c77d5ce, 0xbd8aa803, 0x3e37a953, 0x3e0a4888, 0x3dae88d3, 0xbdea0918, 0xbe4c68e5,
0xbdbc9871, 0xbdc992dc, 0x3b3924b1, 0x3e2c942b, 0xbe462334, 0x3e0dc37a, 0xbd89d937, 0xbe038b6d,
0xbe146896, 0xbe87c359, 0x3dfa7bc8, 0xbcb7c74f, 0xbe797288, 0x3e2cc8fe, 0xbc5a8a47, 0x3e091f4b,
0xbe315b28, 0xbe2ae85c, 0xbd7f5b9b, 0xbe086f0c, 0x3d3ac5f3, 0xbe3b118f, 0x3cdf7b86, 0xbe59e6d1,
0x3da8cdd3, 0xbc98d21f, 0x3dacefbe, 0x3d17eae5, 0xbcbd3944, 0xbe05a937, 0x3da97d0d, 0xbd1033b7,
0xbe08b438, 0x3e67d26e, 0xbdee2404, 0x3e0fb113, 0x3d82289d, 0x3e54b33c, 0x3dd24e12, 0xbd8f87c7,
0x3df24160, 0xbd57e799, 0xbe59c71e, 0xbd735585, 0xbdb61d76, 0xbd0c97c2, 0x3e1d7a6e, 0xbd2f0631,
0xbe16fb4a, 0xbdfb09bb, 0x3d9b1ab7, 0x3e569113, 0xbe2cd9be, 0xbe1d6cf7, 0xbe1fd8ef, 0xbdc97730,
0xbd365ba4, 0x3da014fe, 0x3dd24490, 0xbdecb5a3, 0xbd939f73, 0xbbcf4f82, 0xbdc9a5f1, 0xbe79c2d2,
0xbdf6da1e, 0xbd28f321, 0x3be03d6a, 0xbde36dcd, 0x3da0e97e, 0xbb7e725e, 0xbe558f06, 0xbde7eb56,
0x3e09abd7, 0xbdfdf418, 0xbe0e435e, 0x3d901e95, 0x3db62eed, 0x3e28febb, 0xbcc3e579, 0xbd76a5cd,
0xbdfb9cd0, 0x3e29af77, 0xba0c71bd, 0x3e248ca6, 0x3d1c750c, 0xbe12877f, 0x3d1cdbb1, 0x3c7120c4,
0xbd8032b9, 0x3dc3c3b2, 0x3dc22801, 0xbe29a54b, 0xbd170eb7, 0x37e23340, 0xbe717df0, 0xbe131e47,
0x3e3d788b, 0xbc1f1d9b, 0xbd94ee1c, 0x3d21d9a2, 0xbba102c4, 0x3e1a30fe, 0xbd3f128a, 0x3e12e922,
0xbe3e807d, 0xbdd06fe9, 0xbe2b1818, 0xbe213437, 0xbe0e22c4, 0xbde5fab4, 0xbd0e3efc, 0x3d995d41,
0x3e3004ff, 0xbe0bf372, 0xbdda2a6c, 0xbd87e7f9, 0x3c46bc81, 0xbddf31d8, 0xbdabfed7, 0xbddecffe,
0xbcb5b1bf, 0x3dba533e, 0x3d95ffe0, 0xbe0cd759, 0xbe001e11, 0xbd646112, 0xbc478800, 0xbc146532,
0xbdfb3b79, 0xbd37ca89, 0xbe3e0d74, 0xbe0bf614, 0x3bc27a50, 0xbe45d1ac, 0x3d525411, 0x3db8dff2,
0xbdbe09ed, 0x3dfa66f9, 0xbd9fb083, 0x3d75d279, 0x3d731b78, 0x3df09cb2, 0x3e62f7ee, 0xbdc41507,
0xbe3f2bb6, 0xbe1d3ce3, 0x3e187ce9, 0xbe1876e9, 0x3e316db5, 0x3e679820, 0x3d49fa8c, 0x3e708e11,
0xbdec3a1d, 0xbcc90f87, 0x3db14cdc, 0x3e5dbcc6, 0x3c8d19b9, 0x3b785127, 0x3c558721, 0xbd1799a5,
0x3dd74f76, 0xbd2845e7, 0x3dafcb42, 0xbe158777, 0xbd0d6513, 0x3d8a4ddf, 0x3d10254e, 0xbd2ed97e,
0xbde13c47, 0x3da5cf7d, 0x3d9d92a3, 0xbcb29cba, 0x3b82b59b, 0xbdb04723, 0x3dd437ac, 0xbe831755,
0x3dad56ec, 0xbe08a377, 0x3e0da776, 0x3db8f08a, 0xbd8f2a18, 0x3e7ca118, 0xbddda7cc, 0xbd7451cd,
0x3d580840, 0xbe5c2400, 0x3dfa92b8, 0xbce181e3, 0x3dd7f38b, 0x3d237e0d, 0xbe5f7c05, 0xbe74bbb9,
0xbe2fb474, 0xbe873c8a, 0xbe1c0a20, 0x3e29d6a6, 0x3cf91835, 0x3cc8970e, 0x3dcab984, 0x3cfcafb6,
0x3b955f6f, 0xbe5f53a2, 0xbdcd2c1c, 0xbd76042e, 0xbdef4660, 0xbd0db9b6, 0x3e261c27, 0x3d5d1a7a,
0x3d040a2c, 0x3d55c98e, 0x3d136a98, 0x3e005d18, 0x3ca8baf8, 0x3d12874d, 0xbd081544, 0x3e1899b4,
0xbd96af9c, 0xbe233e2e, 0x3dfeb23f, 0xbde58d05, 0xbd1d0d19, 0x3e4e69bd, 0xbdc241b5, 0xbc851824,
0xbe3a4548, 0x3dd2d914, 0x3e884566, 0x3dd5c7fb, 0xbe34dc8b, 0xbe1a4e52, 0xbda06bd6, 0x3e7cf20d,
0xbc0a9424, 0x3e37be9d, 0xbd864518, 0xbd17ca83, 0xbe557c34, 0x3e07cde1, 0xbdc91720, 0xbe86ae88,
0x3d41cfb6, 0xbda4df77, 0xbe184987, 0xbdced4dc, 0xbcceb414, 0x3d4d1e26, 0xbd3c15cc, 0x3c7ebc0a,
0x3df0835b, 0x3dadfd32, 0xbda6c356, 0x3d7ca2c3, 0xbcb787c0, 0x3e1d4de4, 0x3cdf298d, 0xbe035304,
0x3d87e649, 0x3dd4d0c6, 0x3e238e74, 0xbde79f6b, 0xbdfdf3f6, 0xbe2bc711, 0x3c4d8334, 0xbcb2bab8,
0x3dba33dd, 0xbc7cd0ff, 0xbc83373b, 0xbe3f955d, 0x3d2695f3, 0xbbae03e4, 0x3d1fe58a, 0xbe5c9ff7,
0xbe7fae83, 0x3c88cd3d, 0xbde73bee, 0xbe31ef5d, 0x3d8c0e8e, 0x3e27c0a5, 0xbc92daca, 0xbda070e8,
0x3e1608ad, 0xbc8ffaea, 0xbe20e4e4, 0x3e2f90b7, 0xbc870058, 0x3e4d75cb, 0x3c976b65, 0xbd5cc31a,
0xbdb7b2ff, 0x3e79f2c0, 0x3e236aac, 0x3d27df7f, 0xbdfc2248, 0x3d6954fd, 0xbdb163a2, 0x3dd9419e,
0x3e5d8601, 0xba0ce0d8, 0x3e23283d, 0x3ddfe03b, 0xbe36dd9f, 0x3da3216b, 0xbe21ba66, 0xbe54a24b,
0xbd1e0bb4, 0xbd1fe2f5, 0xbe21a831, 0xbde4c0b6, 0x3e394bb5, 0x3e334cef, 0x3e65e52d, 0xbd7438be,
0x3d9b65fa, 0x3d676479, 0xbe0bac8b, 0xbdf17686, 0xbd979701, 0xbcfe3d55, 0x3dcd91d4, 0x3e00b961,
0xbdaacc6f, 0x3d2393de, 0x3e003b5b, 0x3e4e4e3f, 0xbcb370c4, 0x3e2ea5c3, 0xbc9f131c, 0x3d8b07a0,
0xbe1d85eb, 0xbe3cb04e, 0x3e289cb8, 0xbd9a764c, 0xbe301032, 0xbdb4a07d, 0xbd8031c8, 0x3dc1d27a,
0xbd204ea4, 0x3b8cdb1c, 0x3df37ff2, 0xbe2c614b, 0x3d36aa95, 0xbc2333d4, 0x3e006420, 0x3e44c839,
0x3df4f3b8, 0x3e149b03, 0xbd3f229c, 0x3d9b3027, 0xb9a6cf8e, 0xbe0d1b65, 0xbd9c808e, 0x3dc55a2e,
0x3e28d3e0, 0xbdfacbcb, 0xbd5b8423, 0xbe46a8e6, 0x3dee8919, 0x3e1f777d, 0x3d9e3c6b, 0x3d31b2cf,
0x3d95de80, 0xbe4ba3fd, 0xbe2aa189, 0x3e3ded2e, 0x3c0a7a25, 0x3c8f524f, 0xbd658cc9, 0x3d5cb1f5,
0xbe09e4b1, 0x3e179e49, 0xbe2ca7a1, 0x3df761af, 0xbd3d4b75, 0xbd75515f, 0x3cf2c051, 0x3e5eaf9d,
0xbdcd53a7, 0x3e2aa8c0, 0x3c60dbf6, 0x3df413b5, 0xbe3d0d74, 0xbd6eb24b, 0x3e441c5d, 0x3d8b4794,
0x3e314e13, 0xbe025db1, 0xbd1a941d, 0x3d88bd1d, 0xbe00c1b2, 0x3db0351c, 0x3dade80f, 0xbdac5a6f,
0x3d7576f4, 0x3e088caf, 0x3e0da3a4, 0x3d70c88b, 0x3d9152a5, 0xbdd967d7, 0xbe1895b9, 0x3d063ffe,
0x3dff4d07, 0xbd9becff, 0x3e3a9793, 0xbda652b7, 0x3b3b15de, 0xbe6ea447, 0xbe506f46, 0x3d0847ba,
0xbc201029, 0x3e0b0c8a, 0xbcc9abf2, 0xbd293f20, 0xbdafd349, 0xbe6e64ae, 0x3e30b015, 0xbe4a890d,
0x3d879151, 0xbb57c7c4, 0xbd2baf73, 0xbe427ba3, 0xbe112769, 0x3aa38ea8, 0xbe361f2b, 0xbe475a77,
0x3d87c037, 0x3c069208, 0xbdc93767, 0xbe2acaab, 0x3e222869, 0x3cafc835, 0xbd32ea61, 0xbda83f05,
0x3e5ba457, 0xbdc26a43, 0x3e4c1c65, 0x3dffab4d, 0xbd1f0119, 0x3ca0b6e1, 0xbe55d872, 0xbe1d848e,
0x3d2b36cf, 0xbdef8643, 0xbe09fdf7, 0xbdb589c5, 0xbd998978, 0x3d762adf, 0x3d641248, 0xbe2de072,
0x3ad16284, 0xbe2d152a, 0x3e52ec91, 0xbcddd927, 0xbdd3a1a4, 0xbdb00d5c, 0x3d924e4a, 0xbe269fd5,
0xbe388c02, 0xbdcc6085, 0xbe122df2, 0x3db76dc9, 0xbe2c2422, 0x3e708a51, 0x3e005a3e, 0x3e362a35,
0x3d9a0978, 0xbdf53568, 0x3d7e6032, 0xbe0f73ab, 0xb9d67024, 0xbe16599e, 0xbe4d2252, 0xbe75cdda,
0x3dd9ec86, 0x3d292082, 0xbdae65b3, 0xbded059b, 0xbe21957a, 0x3db871fb, 0xbdd5a2d7, 0xbcd2553f,
0x3b570fb5, 0xbe50e397, 0x3cb476fa, 0xbd553c05, 0xbe3ca674, 0xbd2bddd9, 0x3dc15c48, 0x3e531df4,
0xbd3ea45e, 0x3d8bc36e, 0xbd87fc9a, 0x3deaf4a1, 0xbe100ef2, 0x3e42c3c0, 0x3ddf9c5f, 0x3e6f99b2,
0x3e4efa2a, 0x3c955259, 0x3cfd9d56, 0x3da70865, 0xbad563ae, 0xbd63d63c, 0xbdf20ed8, 0xbe33c127,
0x3e43638a, 0xbd92ba15, 0x3d41ff61, 0x3d20b2d2, 0xbe189123, 0x3e2aec60, 0x3dd9fd63, 0xbe0bd569,
0x3e27d804, 0xbe2148bb, 0x3da62dc6, 0x3d44f6fb, 0x3cb2074a, 0x3d59ea64, 0x3e591579, 0xbe47d548,
0x3c348c27, 0x3e06cc13, 0x3c8742df, 0xbda60235, 0x3d8b7d13, 0x3e0972b1, 0x3e314e1d, 0x3e4e9a33,
0xbd04c832, 0x3e453a39, 0x3d0e878c, 0x3e1dc763, 0xbc253579, 0x3d0b564c, 0xbd7de08e, 0xbde90156,
0x3e667c84, 0x3e29da55, 0xbd289622, 0x3d529019, 0x3e4ad2de, 0x3e0b2ed1, 0xbba437eb, 0xbae296c8,
0xbe2a262c, 0xbdacec0e, 0x3c5c6786, 0x3ddf1b64, 0x3d84ca84, 0x3dc08a42, 0x3cd8cf12, 0xbd8cff56,
0x3e367070, 0xbdf49670, 0xbe12762f, 0x3ceced3f, 0x3e38524a, 0x3e522792, 0xbcf666e3, 0x3e04164b,
0xbd429110, 0x3dd04ec8, 0xbc17f85b, 0xba8e27aa, 0x3a0df546, 0x3d23b020, 0x3d0cb567, 0x3e24c20d,
0x3e3d9c3b, 0xbe56b2c7, 0x3e379c10, 0x3dac2e5a, 0xbd99c743, 0x3e8c01f3, 0xbe692195, 0x3dd536e7,
0xbc09bfde, 0xbcaf80a5, 0xbd8a47d2, 0x3d3a5725, 0xbd3df2e5, 0x3de4c7a2, 0xbd938f7b, 0x3c7d6dc7,
0x3d1ba29d, 0xbc715b78, 0x3dd85c0f, 0x3df0cc1d, 0x3dbf8261, 0x3d25a5c0, 0x3c2d8b00, 0x3e2d184f,
0x3e1123eb, 0xbb77ca57, 0xbdc28827, 0x3db3ad19, 0xbe6074a5, 0x3ca58094, 0xbe365ba0, 0x3c3495cc,
0x3ba15976, 0x3cc8618e, 0xbd8ec56c, 0xbe021b7a, 0x3de7b4b1, 0x3d9a681f, 0xbd36af4a, 0x3da907cd,
0xbe0e8724, 0x3e5d0be6, 0x3dfd0a9b, 0xbd9ac8ac, 0x3e0b4817, 0x3e46ad3b, 0xbd826728, 0xbe2956f9,
0xbda8f1b9, 0xbe3d35ed, 0x3e93a97d, 0x3d5292df, 0xbe388b65, 0x3e49426d, 0xbdf15667, 0x3df0217c,
0x3dee4ea1, 0xbba93612, 0xba7ad4ca, 0x3d26ac81, 0xbdb71237, 0xbe813357, 0xbd43aab0, 0x3d585ad7,
0x3e0b6f01, 0xbd8fc6ba, 0x3b5ee916, 0xbe179985, 0xbddb25e6, 0xbd052096, 0xbd72c317, 0xbe5e9bec,
0xbc225e84, 0x3e430930, 0xbe057d63, 0x3d96ed2c, 0x3e181b3a, 0x3de9998b, 0xbd6ee72c, 0x3e16041a,
0x3cbc0853, 0x3e2bfdb0, 0xbe1d0303, 0xbc82881e, 0x3d90ff68, 0xbdaea008, 0xbd9bc8fb, 0x3eb4e1a2,
0x3d79ebd1, 0x3e0f1cb0, 0x3c8ac1df, 0xbd16261a, 0x3e86d81b, 0xbe01731e, 0x3e67d700, 0xbcc0b2be,
0x3ced024f, 0xbe462f85, 0x3d64c641, 0x3e257b8a, 0xbe46e93a, 0xbddc5a97, 0x3e75661e, 0x3e0f2f89,
0x3e8c7ad4, 0xbd9919bc, 0xbe436360, 0xbdc5660f, 0xbd3f0cfe, 0x3db8e1b8, 0x3d24f5af, 0xbd5aad93,
0x3e1da974, 0x3e0f36d4, 0x3de46862, 0x3d63fc62, 0xbdb4270f, 0x3e414b98, 0x3d958c8c, 0x3e67e072,
0x3e1298fe, 0x3e0ce74c, 0x3d49c4b1, 0xbd2a90a1, 0xbe83269f, 0xbd3c6179, 0xbc9f2d94, 0xbc85f01d,
0x3e36ee03, 0x3e6aa6f8, 0xbdad6de0, 0x3cdf8904, 0x3e08022c, 0xbe300467, 0x3d71f37e, 0xbe3ce8a9,
0xbe1cb85d, 0xbd174457, 0xbde08762, 0x3c7d648e, 0xbe32d452, 0xbe20d3bf, 0x3d87a976, 0x3da7b0bb,
0xbda10fb5, 0xbdd8924a, 0x3dbc6b98, 0xbd562beb, 0x3de57491, 0x3b8b06d2, 0xbdb49896, 0xbd53519a,
0xbe5a99d0, 0x3bc6748c, 0xbe537f2b, 0xbe5e41ed, 0x3ca8087c, 0x3e577e47, 0x3dba07ac, 0x3d4b9ae6,
0xbd9426fa, 0xbba4eace, 0x3dac6078, 0x3d91c940, 0xbe2d8874, 0x3e4336f3, 0xbe315cb1, 0xbab44d8f,
0x3adf472d, 0xbe44f732, 0xbdc8b0e8, 0xbe1e0ba0, 0xbe032355, 0xbe47f630, 0x3dd29568, 0x3e625508,
0x3ba941e3, 0xbe160330, 0x3d97fac6, 0xbd89080d, 0xbe260e21, 0xbd797f66, 0x3e0b8cd1, 0xbe468170,
0x3d897f77, 0xbd85f5b8, 0xbce3810a, 0x3d9cd3dd, 0xbe2ecb83, 0xbce8c05b, 0xbe6aaa72, 0x3d2c9b34,
0xbd825d45, 0x3e0f819c, 0x3d7ba205, 0xbe2bee27, 0x3d9bcda4, 0x3e497072, 0xbd351154, 0xbdd2e499,
0xbe18b7f7, 0x3d86499c, 0x3d968626, 0x3dc9fbdf, 0xbcb321e0, 0x3bc7c6a8, 0xbd8aee01, 0xbd364116,
0x3dad408b, 0x3cb6f400, 0x3c5fff5d, 0xbde87d7a, 0x3d9311e1, 0xbd759747, 0xbc3bf93d, 0xbe9ef501,
0xbc79d230, 0xbd5c1856, 0x3dc1dc55, 0x3b993fc7, 0x3de37c88, 0x3e485700, 0x3dfa5faf, 0x3d0b8c27,
0x3d1a0007, 0x3dd9704e, 0x3dfa9775, 0x3daedcf9, 0xbacbca1d, 0x3e5b3d8f, 0xbdd8b735, 0x3d8d84c9,
0xbe64cea7, 0xbd54c8f5, 0x3beccb52, 0x3d938aca, 0xbcde45e6, 0x3a91420d, 0x3b83e0c2, 0xbd92542c,
0xbe2eda2a, 0xbe03039a, 0x3dc9c7d2, 0xbe0e1811, 0xbdfe8927, 0xb92d548c, 0xbb31715c, 0x3e0faa94,
0xbd70193b, 0xbe677f85, 0xbdfd1803, 0x3d3178ea, 0xbddb0519, 0xbe4316f3, 0x3e0deb7d, 0xbe3b9bd3,
0xbe6b7529, 0x3df1c0b8, 0x3dd67cd8, 0xbdf9396a, 0xbbc21037, 0xbe10a92f, 0xbcecfe5f, 0xbda747cc,
0xbc0b09cc, 0xbdefc753, 0xbd1f1007, 0x3b95d0bc, 0x3dfea358, 0x3e15bc99, 0xbdc59d6c, 0x3e1db8e0,
0x3c488e81, 0xbe5d6c5d, 0xbd9b15ee, 0x3e13e43e, 0xbe5dbe1c, 0xbe1acd02, 0xbe5b1825, 0x3c69ac7a,
0x3b58836f, 0xbd6fa34a, 0x3b2eb4ad, 0xbe2d2c91, 0x3e1713c9, 0x3e07f865, 0x3e203229, 0xbd8d88b1,
0x3d1247f4, 0xbe295207, 0xbdd95549, 0x3e3f82fc, 0xbc694780, 0xbdae526b, 0x3c8b302c, 0xbdfc4a18,
0x3e34559b, 0x3d562c89, 0xbe7ab4fb, 0x3be044e4, 0x3e52573d, 0x3e9142fb, 0x3ccf47e4, 0x3d88fe06,
0xbe2aaca6, 0xbc982161, 0x3e275e53, 0xbe54aa07, 0x3decd68b, 0xbcd3b941, 0xbe63ce6c, 0x3e80f3e5,
0x3e35f09a, 0xbda9479a, 0xbe349544, 0xbe388d0f, 0x3e093f5d, 0x3dcd9dc8, 0x3e5baa3f, 0xbea06e38,
0xbe6baf7a, 0x3df4481e, 0xbdec7842, 0x3e171b84, 0xbdc78157, 0xbe592129, 0x3deb413b, 0xbcee15fb,
0x3e3ea358, 0x3d9939bf, 0x3cf120ac, 0x3d064bc6, 0x3e0543e0, 0xbe5a3b7f, 0xbe413349, 0xbd4bbded,
0xbe1b668d, 0xbe28e240, 0xbe503480, 0x3cf648b4, 0xbd9d8c79, 0x3dbdbc0a, 0xbd431f43, 0xbd807456,
0x3ba13d18, 0xbe0b0fb5, 0x3e4e1495, 0xbdc5b4b6, 0xbdc614b6, 0x3cf23722, 0xbe3fd53c, 0x3e1600cc,
0xbd8b4128, 0x3e117ed2, 0xbe1989aa, 0xbe147e86, 0x3da82017, 0x3dd9a634, 0x3db7cf4f, 0x3d62f398,
0x3a96b251, 0x3d990919, 0xbe49e530, 0xbe504af9, 0x3e110d2f, 0xbdec48d9, 0xbe0190bb, 0x3e0a2d78,
0x3e16a327, 0x3d29a72d, 0x3b180f83, 0x3d56a786, 0xbcd9db49, 0x3c7fbb29, 0xbe39fb69, 0x3e4079a8,
0xbe264d68, 0xbdedfff5, 0xbd404268, 0x3e0fafe8, 0xbe9f62bc, 0xbe11b6c1, 0xbe025ab2, 0x3df9d1e0,
0xbe101bca, 0x3da41a34, 0x3d77840b, 0xbddc2968, 0xbe2b3709, 0xbd380aaf, 0x3c97520d, 0xbdc980a7,
0xbe392dfe, 0xbe406ec9, 0xbdb41c99, 0xbd2603a0, 0xbddbcb0f, 0x3d5a7f18, 0xbd42ada4, 0xbd6f56ea,
0x3d9a49be, 0x3ba15d04, 0xbdf2ad93, 0x3d51a7fe, 0x3dd0c1c5, 0x3e1444b0, 0xbc10760c, 0x3dbcd146,
0xbe3677fc, 0xbb91013e, 0x3d1e6c8e, 0xbd70013f, 0xbe6e76a9, 0xbd9f6cae, 0xbea10f4f, 0x3d7f4f49,
0x3de28087, 0x3d1937dd, 0xbe048f83, 0xbe2542d7, 0xbdc90e39, 0xbd140564, 0xbe5e4736, 0xbe55b181,
0xbe5f3b45, 0xbe325c88, 0xbc095b7d, 0x3db80a0c, 0xbde46721, 0x3e5fcfdb, 0xbc83c645, 0xbd6219d5,
0x3d990ae7, 0xbd3d76f2, 0xbe0c8fb0, 0xbe366414, 0x3dcdc27a, 0x3c733a73, 0xbdb88708, 0x3e26111d,
0xbd82c9b6, 0xbe5cf9df, 0xbc1c575b, 0xbe38b826, 0xbc785d05, 0xbdac8c75, 0x3e0fd447, 0xbe0f312d,
0xbdac801a, 0x3e3a5227, 0x39996295, 0xbd541064, 0x3de65896, 0xbd86e70f, 0xba19377d, 0xbdce57f1,
0xbddbbeb8, 0xbe2a541b, 0xbe4f0c34, 0x3db4fd68, 0x3e0bd837, 0xbda08625, 0x3c963776, 0xbd786465,
0x3d83b1d2, 0x3d44a261, 0x3d878116, 0x3debac07, 0xbd909184, 0xbc026333, 0xbe04b52d, 0x39f7a036,
0x3e57e66e, 0xbe4aae3d, 0xbdd84fac, 0xbdcf2c8b, 0x3dc871a1, 0xbe0c17c3, 0x3e1c1084, 0xbdd8d568,
0xbe55f56c, 0xbdbc3194, 0x3de62517, 0x3c920e73, 0xbdfc6cb4, 0xbd046dbf, 0x3e4a03a4, 0x3d9912ae,
0xbdaea484, 0x3e5d7c1e, 0x3c50f3fb, 0xbd8b9ff0, 0x3dd199a9, 0x3e9c9a63, 0xbe227646, 0xbde512ae,
0x3d0a871b, 0x3dd145f7, 0x3d9f1fa3, 0x3d6a2bb4, 0xbcdeff15, 0x3d2ffa2b, 0xbe597c5e, 0x3e0c584b,
0x3b9ba15c, 0xbde1f23e, 0xbde550d9, 0xbd691a6b, 0xbde28953, 0xbe1c5cca, 0x3dc86d94, 0xbe85d143,
0x3a829ae6, 0xbcf3fe9b, 0xbc943fe6, 0x3e41b864, 0x3e0490a5, 0xbe17b6c6, 0x3ccfc9f9, 0x3a80e5a7,
0xbc5c072b, 0x3e27153f, 0x3d282143, 0x3e276cc2, 0x3dd883f3, 0xbdce1855, 0xbdb38b6b, 0x3e1db760,
0x3d9bf6e5, 0x3db350bf, 0x3dbfef93, 0xbd8d3320, 0xbdc2c762, 0xbceca03a, 0x3d5d3ebb, 0x3c730180,
0x3e456e16, 0xbcc6d992, 0x3e039998, 0x3d489d92, 0x3e27c144, 0x3e73a74a, 0xbd6f3691, 0xbdd538ee,
0xbcdb385c, 0x3cb44c14, 0x3c29c7a6, 0x3e22b6e9, 0x3e17909d, 0xbc499d30, 0x3c03c517, 0x3e109ed0,
0xbd5f4c26, 0x3d97ee7e, 0x3df123f8, 0xbd2b8c25, 0xbc9ab7b0, 0x3d742ca9, 0xbdeacad8, 0xbe64c43a,
0xbd21aac2, 0x3e0066ec, 0x3e0372b5, 0xbdd29bdd, 0x3dd3e9b9, 0x3d8f764c, 0x3e30d104, 0xbd8a4789,
0xbddbc75f, 0xbe0007e5, 0x3ddc2bc2, 0xbda28a6e, 0x3cebc124, 0xbde4aad0, 0x3dfadbf9, 0x3d02993d,
0x3dae15c8, 0xbdca8402, 0x3dc15615, 0x3d080ab1, 0xbc08e190, 0xbd207099, 0xbe08b27d, 0xbdf26eac,
0xbd92a6f9, 0x3e4415e0, 0x3e08f6d7, 0xbe05799b, 0x3dcdb598, 0xbc053829, 0x3d54918d, 0x3dcdac3d,
0x3d4ffd20, 0x3e532b38, 0xbd0cf3d3, 0x3e4503d6, 0xbd9b120a, 0xbddfb085, 0xbc69891f, 0xbe16fc29,
0xbe1e2231, 0x3e1dfbf4, 0x3d4ec23d, 0x3d59ed82, 0xbe111846, 0x3e3b30d1, 0xbd4e8d3b, 0x3c175562,
0xbdb32826, 0xbccd95f3, 0x3dd6db38, 0x3e1f85eb, 0xbe0ec883, 0x3cbc6e83, 0x3d8eff93, 0xbd262678,
0xbce794bc, 0x3da80ffc, 0x3d950416, 0x3e00e1e5, 0x3e20ba0a, 0xbe04570e, 0xbbc944e4, 0xbdbb3b8f,
0xbd9f07d8, 0x3b4498d5, 0x3d72f9e1, 0xbe39b575, 0xbdd9852e, 0xbd8d3ec3, 0xbc1b5c29, 0x3ba723c3,
0x3e02b624, 0xbe2127ed, 0x3e05a752, 0x3d035217, 0x3da7d795, 0x3d805472, 0xbddc244f, 0x3d8b0586,
0xbdd302a8, 0xbd19fba6, 0xbdd73c4e, 0x3df22b86, 0xbe18b6f5, 0xbe6db0e1, 0x3e3f4d6b, 0x3e155413,
0x3e521e69, 0x3e52377a, 0x3dc46896, 0xbe16217b, 0xbc9b567a, 0x3d0e9539, 0xbdaeea60, 0x3b8e1c44,
0xbe03c036, 0x3e149887, 0xbe3ed6a0, 0x3cd7b730, 0xbe435e99, 0xbd884bbd, 0xbe1fb8af, 0x3c285cac,
0xbcb52eaa, 0x3cefa91e, 0xbd414700, 0xbe160f9b, 0xbd290e1e, 0xbd48b13a, 0xbdda1959, 0x3dba3a8a,
0xbdbb6417, 0xbda6b3ae, 0xbe01885e, 0x3e15ca9a, 0xbd5d9009, 0x3d6c1af5, 0xbdabbb09, 0xbe063958,
0x3e0e90de, 0xbd7af0b4, 0xbe3bb527, 0x3db39d96, 0x3d8c1aa7, 0x3d49c864, 0x3d376d3a, 0xbde6c202,
0x3e08fe91, 0x3e2f0a99, 0xbd806ee0, 0xbe3230e6, 0xbd62f4ac, 0x3d941955, 0x3e00a2d2, 0xbd16baf1,
0xbe0fc4c1, 0xbdc60829, 0x3dac168b, 0xbdc42478, 0x3da2d073, 0xbe2a3a35, 0x3d8a3b5c, 0x3d392cef,
0xbe2379ef, 0xbe3699d8, 0xbda4613e, 0xbdaedd77, 0x3d9e8245, 0xbe2b1448, 0xbbc46114, 0x3dc91fe5,
0x3d61efb2, 0xbe1cca9a, 0x3d57da32, 0x3db4114b, 0x3e32c661, 0x3dc2c366, 0x3c92a8e2, 0xbe8db25b,
0xbd16400d, 0xbd4db591, 0xbdba4904, 0x3de34ada, 0x3dc995cb, 0xbceb8952, 0xbdcd62f7, 0x3ded9512,
0xbd9f6d1e, 0xbd3ea85e, 0xbe0d91b7, 0xbd88acdb, 0xbd73c090, 0xbe3caeae, 0x3dd02ae3, 0x3b33545e,
0x3e29ee91, 0x3d3699c4, 0x3e22ccdb, 0xbe3bc674, 0xbe4ac761, 0xbe6de37a, 0xbe251271, 0x3ca20522,
0x3dc276b9, 0xbdce103e, 0xbe42237b, 0x3c936f37, 0x3e4f987f, 0x3e36725f, 0xbe4a5308, 0xbd978b74,
0xbe15c0e8, 0x3dc983ca, 0xbdd5041b, 0x3d9f1b6f, 0xbbb735a4, 0xbd754988, 0x3d2c25d3, 0x3d9ce807,
0x3d92b537, 0x3dba2b35, 0x3e1198b1, 0x3c805933, 0xbe19e318, 0x3e0fdd57, 0xbbc5cf27, 0xbd7a5b63,
0xbd9837ab, 0x3e32f17f, 0x3de777c9, 0xbd3e79e4, 0xbe3eb240, 0xbca12cda, 0x3d895af6, 0x3e0077a3,
0x3e0238f2, 0x3d957fc6, 0xbe3ddf45, 0xbdae1953, 0x3e3b7bab, 0x3e6a0cf0, 0x3b260f3b, 0x3c021d8a,
0xbcd04e22, 0xbd695f1a, 0xbe3256f4, 0x3e1552ab, 0xbc4758fc, 0xbb81b5ca, 0x3dbbb676, 0x3e3aa098,
0xbc8e5b51, 0x3e0494ef, 0x3d281c29, 0xbe3a4662, 0x3d4d0d73, 0x3dd9830f, 0xbdefac28, 0x3d84b877,
0xbd9169a3, 0x3e4b57e2, 0x3e27c310, 0xbdb0fbed, 0xbe39d28d, 0xbdfa8a32, 0x3dd074c3, 0xbcc4307f,
0x3d91932a, 0xbcf75e6a, 0x3d9e62f9, 0x3c961fb5, 0xbe0dd642, 0xbe197a61, 0xbd526fa5, 0x3dcafc6c,
0x3ddb25eb, 0xbe044802, 0xbe3c0c16, 0x3d9732fa, 0xbdd48e9d, 0x3db0475c, 0x3d1e9483, 0x3e8498fe,
0xbe6ac202, 0xbe02230f, 0xbb210b4a, 0x3d8a6ef0, 0x3d8495d7, 0x3e445c21, 0x3e1fd821, 0x3d7814c6,
0xbdbfdfc9, 0xbe590864, 0x3d3dd459, 0xbd56122b, 0x3e2613e5, 0x3e12850a, 0xbdd5269c, 0x3e24711f,
0x3e3e6710, 0x3daf911e, 0x3b8099e2, 0xbe15bfaf, 0x3d864723, 0xbe4b9f9b, 0x3e3cdd6a, 0xba87530c,
0xbdc11b09, 0xbe384cbf, 0xbdf77cd9, 0xbdfc0875, 0x3d36f387, 0x3e2e84e0, 0x3ccb9786, 0x3d751007,
0x3dfc48bd, 0x3dd73f8e, 0x3c1127c7, 0x3e07be7c, 0x3dc2760c, 0xbdbe57a1, 0xbdd73763, 0x3dbfe248,
0xbe1b0a91, 0x3c1e3c76, 0x3d7cbb08, 0xbd9de142, 0xbd4a1102, 0xbdcf0908, 0x3c467840, 0xbd974841,
0xbdb36d82, 0x3c1e6d10, 0xbd394fd4, 0xbca9ef56, 0xbdbe39ba, 0xbdb400f6, 0xbe22d41f, 0xbdaf21f0,
0xbdde5744, 0xbe924ac0, 0x3d07b933, 0x3da60b19, 0xbd4c0131, 0xbc8514f0, 0x3d33c1e8, 0x3bfd019d,
0xbd96e3f0, 0xbe1c37a1, 0xbc81d1ed, 0x3dede6b9, 0xbe4a60c4, 0xbc2a297e, 0xbe244255, 0xbdf60e8d,
0x3e09a63e, 0x3dd443d2, 0x3d8c7201, 0xbe2960f5, 0x3dc68201, 0x3e154766, 0xbd9754ea, 0xbdfc7485,
0xbdc58412, 0xbc7558fd, 0x3db87428, 0xbe41df38, 0xbe19b075, 0xbd38d642, 0x3d2a7a1c, 0x3e20e1cd,
0x3dc9885d, 0xbb4da9bd, 0xbdae890b, 0xbca588c2, 0xbdc2b4f2, 0x3e1a9e4e, 0x3dabd068, 0x3cfda42d,
0x3e66c8f2, 0x3ddb5dbb, 0xbd3459f4, 0xbe16f31c, 0x3e63711f, 0x3d1dde9b, 0x3e80c2cb, 0x3db1b254,
0xbe2fa267, 0x3dc39376, 0xbe208465, 0x3ddd7605, 0xbde2020a, 0xbcc8fc8a, 0x3dd6278e, 0x3e08ee87,
0x3e103b45, 0x3e14fc93, 0x3ba63764, 0x3e032fb1, 0x3ce933a4, 0x3e553483, 0x3e56a2f3, 0xbe3d35cd,
0x3e014bb3, 0xbd9c2029, 0xbd92b3ed, 0x3bd080f4, 0x3ce82b1f, 0xbe3df0c5, 0x3d8bda89, 0x3de01a80,
0x3e49b1e6, 0x3dad0134, 0xbe3f669a, 0xbdf3efdd, 0x3d83ea06, 0x3dfae142, 0xbd1f55bc, 0xbe3cb1b4,
0xbe23d711, 0xbbed6e6c, 0xbd3a71ea, 0xbd0f4446, 0x3e04ce55, 0x3d28d07a, 0x3e15d83e, 0xbddeb381,
0xbd5b6da6, 0x3e4ba585, 0x3c45b287, 0xbda813b6, 0xbd912ec8, 0x3c6c9b67, 0x3e2bc142, 0xbdeaae30,
0x3da0ba69, 0x3e3010c2, 0x3dcff63f, 0x3da72489, 0x3dfa309c, 0xbd3e6e65, 0xbe4d47a0, 0x3d85e7b4,
0xbd97befd, 0xbe593230, 0xbe467bbc, 0xbe46a425, 0xbc6cd9a7, 0x3e1b3354, 0x3e94175d, 0x3d7bca3e,
0x3ce0c383, 0xbd9c6d2f, 0xbe077e0d, 0x3db0b8fa, 0x3b82ee27, 0xbe283373, 0x3e013264, 0x3e3a7b3a,
0xbdb63eeb, 0x3d48d8b9, 0xbd6e0afb, 0xbe0e6a3c, 0xbd669a2b, 0x3c8a6757, 0x3da82fe2, 0x3e2f411e,
0x3daf1a1f, 0xbdbcbd6f, 0x3db12b50, 0x3e251c6c, 0x3e12fbec, 0x3e3179ff, 0x3d8cf047, 0x3d0e3267,
0x3d02d9df, 0x3ccc0628, 0x3d13ba02, 0x3db3da95, 0xbdf5e4b9, 0xbd1600ff, 0xbe111dfe, 0x3d9fab52,
0x3de903cb, 0x3d14ecd7, 0xbdabc97e, 0x3e0887fb, 0x3e651af8, 0xbdd45b2e, 0xbd3b724b, 0x3e1e453d,
0xbd2a5eea, 0x3dbf2809, 0x3d72d760, 0x3d221b06, 0xbd15f3fb, 0x3dd8d433, 0xbe2298ea, 0xbd78c21b,
0xbd20c478, 0x3d875c3f, 0x3ccc34b9, 0x3ca0547b, 0xbe0925a7, 0xbd15092d, 0x3dcc67b1, 0xbe691ced,
0x3de5ffb3, 0xbdf57042, 0xbd729b25, 0xbe089366, 0x3e509760, 0xbdffe948, 0x3bb477c0, 0xbd243120,
0x3a1e105c, 0x3cf590af, 0x3d9ab51f, 0xbce00c27, 0x3e5732fd, 0x3d56c47e, 0x3e077b2e, 0x3cb0b22f,
0x3cf70a44, 0x3e20d30e, 0x3da47a11, 0xbe199fab, 0x3df652d7, 0xbd060b8d, 0x3da5bed7, 0x3d5d7892,
0x3dd58cbc, 0x3d1f4deb, 0xbc554afb, 0x3e237e0d, 0xbdaff79d, 0xbbeac35e, 0xbd82f462, 0xbd9b9590,
0xbde0fcb1, 0xbc868bc0, 0x3e509948, 0xbe01af3e, 0xbdc827c3, 0x3d4c1e85, 0x3defc626, 0xbd8fbc77,
0x3d2207a7, 0xbe29249d, 0xbdc7982b, 0x3d72a674, 0xbdd02854, 0x3c8c6e8d, 0xbdf3b818, 0x3e28303e,
0x3d491c2a, 0xbcdaad53, 0x3e496fea, 0xbc2fd665, 0xbdc7efcc, 0xbdd400c6, 0xbdcf11ed, 0x3e68fc48,
0x3e539c50, 0x3db57ea8, 0x3c82e5d9, 0xbd873747, 0x3da89e7c, 0x3e480199, 0xbcf6245c, 0xbe206b5a,
0x3e67f30a, 0xbe217919, 0x3d496613, 0x3daa18ee, 0x3d602610, 0xbdacd661, 0x3e120260, 0xbe0eb233,
0x3bb5b5e1, 0xbc3cb6f5, 0xbe06c9b6, 0x3e47c671, 0x3e813d5d, 0x3caec5e5, 0xbbc9b65a, 0x3dc0fcf6,
0x3cf1cc5f, 0xbddac6a6, 0x3e24263d, 0x3e02b1fa, 0xbde976ed, 0xbe04e39b, 0x3ded7c57, 0x3d91fe21,
0xbd0a5926, 0xbc647fca, 0x3e63d0a0, 0x3e1f9753, 0xbe2dfbb1, 0xbe296645, 0xbdc3f926, 0xbdbcabf1,
0xbd0bda04, 0x3e3cbed0, 0xbdec0bf3, 0xbd48e119, 0x3d15ec66, 0x3de65534, 0x3e2462e1, 0xbd7225f4,
0x3ddb022a, 0xbd9c0b93, 0x3e03d3ea, 0xbdf239ab, 0x3cdee3c1, 0x3d37a04b, 0xbd6d8512, 0x3dbb7c17,
0x3dca8424, 0x3dccdd35, 0xbca8f0f6, 0xbd2e3c0b, 0xbd166cb6, 0xbe155fec, 0x3e0522ae, 0xbdd7df59,
0xbdd16438, 0x3e683b81, 0xbd3f351f, 0x3de348e4, 0xbd59ce2e, 0xbd413ece, 0x3da5b37e, 0xbdf305af,
0xbdf14e85, 0xbdcd107c, 0x3dd099d4, 0xbde1ff73, 0x3e119849, 0x3ce6f6f3, 0x3d3dbcc7, 0x3d9180c2,
0x3d5212b7, 0xbe328c2a, 0x3dc88eb0, 0x3db8eeca, 0xbcd66cd0, 0xbdd82fa4, 0x3ddaccd0, 0xbd495943,
0x39f0dad2, 0x3dd6f360, 0x3d4e22d3, 0x3d62d5ea, 0xbe0c180f, 0xbd8dd76a, 0xbe02c5a8, 0xbe3a32b6,
0xbe46689d, 0xbe5a0ce5, 0xbd1b2fed, 0xbd23b814, 0x3e42da95, 0xbd7a7f13, 0x3d746025, 0x3e154a22,
0xbc6ed899, 0x3dd6b9cd, 0xbdb45c29, 0xbd212837, 0xbc5e2879, 0x3da44449, 0xbe50dd27, 0xbd0a0f90,
0x3e408b9a, 0x3ddbbc96, 0x3df9009a, 0xbdc3e97e, 0xbd1652f3, 0xbe2eac68, 0xbc11649f, 0xbe11c261,
0xbbd8dc4c, 0xbda7629d, 0xbe05b50d, 0x3d91cad5, 0xbd15207c, 0xbcaf4882, 0xbdb01fa0, 0x3e0dc968,
0xbcf24408, 0xbd8efce8, 0xbdb7b039, 0x3da2a526, 0x3db0af24, 0xbbf00e1e, 0xbd728350, 0x3e4991ff,
0xbe52b0a3, 0xbe5370fd, 0xbddb2a7a, 0x3e09f2e4, 0xbe20f126, 0xbd71b44c, 0xbdc15ebd, 0x3db9904f,
0xbdc08f3a, 0xbe15c50e, 0x3d496d68, 0xbd7be368, 0xbe60df9a, 0xbc540f6e, 0x3d443e53, 0xbcc42db6,
0x3dbd4e8d, 0xbe87e4bb, 0xbe0ed0f7, 0xbe4da913, 0x3df2b5d9, 0xbe1daf9b, 0x3e089fca, 0x3e1425f9,
0xbddc48cd, 0xbcc696b5, 0xbe337d69, 0x3e1bf1dc, 0x3db40ac9, 0x3e6a199d, 0x3d3d5291, 0x3dbbd05e,
0x3db73309, 0x3db47973, 0x3dc9e618, 0x3e208de0, 0xbe938547, 0xbe29e55a, 0xbe2c2d0d, 0x3d1804e4,
0x3e55ba13, 0x3d907798, 0xbe07563f, 0xbd8618c5, 0xbcefb6a1, 0x3d086b60, 0xbe1688af, 0xbe8771c0,
0x3d8eb03e, 0xbea9e26a, 0x3db73499, 0x3e699878, 0xbd2714d7, 0xbd2f80b1, 0xbda88ae4, 0xbe838789,
0xbd26a899, 0xbe3021d1, 0xbe72af9a, 0x3d05ac3e, 0xbd4fde8d, 0x3e179f8b, 0x3e5753ec, 0x3cc75ff2,
0xbe58d8a2, 0x3daf7dee, 0x3c8b7b00, 0x3ddfe26a, 0xbeb03d23, 0x3df74e65, 0xbda43dcc, 0xbd0a41a4,
0x3d8f8b96, 0xbe0c55b2, 0xbe06293a, 0xbe4cdcab, 0xbe7f1226, 0x3dd60860, 0xbc117d76, 0x3de1751e,
0xbe394bd4, 0x3d2963b7, 0xbd7c965f, 0xbd21840f, 0xbd4fd3c9, 0x3d549874, 0x3d39510f, 0xbe5e9998,
0x3ce82dfc, 0x3d887d95, 0xbae693c1, 0xbe001b40, 0x3a1e929d, 0x3df8b7a7, 0x3e33290e, 0xbd93e68f,
0xbd00b258, 0x3e0239ce, 0xbdc9f45b, 0xbc8dfbff, 0xbea1a2fc, 0x3c2381a7, 0xbe83046a, 0x3da83937,
0xbdb4828a, 0xbc268538, 0xbe356f0f, 0xbe50a2b8, 0x3d598262, 0x3dc88d54, 0x3ddc5d00, 0xbe1635b3,
0xbdaf7085, 0x3e01f1fa, 0x3de2d031, 0xbbc29eff, 0xbe375554, 0x3ccd9dbe, 0x3d2ddc89, 0xbc3f3f0b,
0x3dbeaccc, 0xbc3b89de, 0x3cff4b66, 0xbc330865, 0xbdbe1c54, 0xbc4e3e34, 0xbe1852e7, 0x3e125510,
0x3e2af92a, 0x3d3d6322, 0xbe092184, 0x3e2359e1, 0xbd22b39e, 0xbe3fffb7, 0xbd3e079a, 0x3c06cb7f,
0xbe1ebb85, 0xbdacf676, 0xbd812877, 0xbe0b911e, 0xbda2d0c4, 0xbbab423b, 0xbdeaaf8e, 0xbd0b715a,
0x3c452df0, 0x3ddfae6a, 0xbcd713f3, 0xbd05784b, 0xffff8266, 0x00000004, 0x00001800, 0x3eab37c3,
0xbae9ccf8, 0x3e3e348a, 0xbdb97a27, 0xbc1b79a4, 0xbdcd6699, 0xbda66890, 0xbe9eef7e, 0x3dc74d43,
0x3e1b846e, 0x3d68b50a, 0xbe1107d6, 0x3dc4eaa9, 0xbe4c5414, 0x3e0da889, 0x3daf96d8, 0x3e5ff799,
0x3cb79a75, 0x3e6d8a51, 0xbd504ff2, 0xbd3fd344, 0xbdd8dc32, 0xbe38e2cd, 0x3e322c4c, 0x3a0c5de8,
0x3d81c126, 0xbc91bc2d, 0x3dd0beee, 0x3e08cc1a, 0xbdaeb12b, 0x3e1b0023, 0x3dee1948, 0x3dc56a9d,
0x3e7afeb9, 0xbdb8372f, 0x3c078708, 0x3e08f892, 0xbdaf0522, 0xbdbbaf50, 0x3e8f68fb, 0x3e5869ee,
0x3d154046, 0xbe18ffa1, 0x3c6f4d5b, 0xbe19a84f, 0xbd7def70, 0xbd8a9b42, 0x3da51856, 0xbde11236,
0x3d1357ab, 0x3e35376c, 0xbdba8414, 0x3dced6a3, 0xbcef2a46, 0xbdc618f7, 0xbe154b86, 0x3dced96a,
0xbdd6196d, 0x3d30f281, 0x3c99858f, 0xbe4b90e4, 0x3db732b6, 0x3d6938f6, 0xbe025554, 0xbdb49735,
0x3d21f68d, 0xbe1237e1, 0x3e253c6b, 0xbe06f689, 0x3e041160, 0x3d266555, 0xbe2eda93, 0xbc0f6293,
0xbe0b2142, 0xbe514b42, 0xbd9689b0, 0xbdd3a303, 0xbe8a4ebe, 0xbe27ca6f, 0xbe0f37a5, 0xbc6dec3f,
0x3c6ab1b5, 0x3d8bf6cb, 0x3e2f4650, 0x3e1d212d, 0x3dc515ec, 0xbe131514, 0xbce700f3, 0x3da8359d,
0x3e615463, 0xbe25c683, 0x3d1c9615, 0x389ac418, 0xbe93ebdf, 0xbd9a0d0d, 0xbc33892f, 0x3e8e80c4,
0x3db80702, 0xbddb9d4c, 0xbb3a2869, 0xbe11ff94, 0xbe26dca0, 0xbdb9da65, 0x3e5a3f9d, 0xbd9f3f35,
0x3e2835f6, 0x3cd4c1ec, 0xbdfb71f6, 0x3e35826a, 0xbccdf141, 0xbd0c3ae1, 0xbe53c111, 0x3d585bbc,
0xbe5c0d6b, 0x3d30a5c0, 0x3c08b51f, 0x3e1aa655, 0x3e66a999, 0xbe49f369, 0xbe47eff5, 0xbdfc1c29,
0xbdf2cbbe, 0x3d9cb0c0, 0xbc2763ae, 0xbd548ac6, 0xbdc9f054, 0x3d7d9848, 0x3e318645, 0xbdfa3d28,
0xbdf27ece, 0x3d259544, 0xbc2b0bd4, 0x3e3b68bf, 0xbd7d8e4f, 0xbdec6aea, 0x3ebe293c, 0x3d1a0490,
0xbdf22b9a, 0x3e28d38d, 0x3d8593a6, 0x3dc4f439, 0x3e96961a, 0xbd816b7e, 0x3e5fda09, 0x3e160878,
0x3e86ad29, 0x3e261c2e, 0xbe25e116, 0x3d0b8be0, 0x3daa2f8a, 0xbc112c0d, 0xbf0d2e9c, 0xbc907967,
0x3dad72e5, 0x3c4c91ed, 0x3d9737cb, 0xb97f9980, 0xbe20243d, 0x3e173c40, 0xbdf1c3bd, 0x3e495f17,
0x3e21ca91, 0x3d811c87, 0xbc68eb0a, 0xbd03e2b7, 0x3d9b8a5b, 0xbe2df8e1, 0xbea98e3d, 0x3e365032,
0xbc02e762, 0x3d1c311f, 0x3e4dcdab, 0xbe0893d9, 0xbe2c6892, 0x3d120261, 0xbd07ba59, 0x3e065edb,
0x3e401b47, 0xbda9a2b6, 0x3e167654, 0x3e4855f8, 0x3d6743d0, 0xbd1f422a, 0x3e9357f8, 0xbd2f760d,
0x3c777b1a, 0xbde8bd71, 0xbe40a3fd, 0xbd3c2855, 0x3d7e7e2b, 0xbdac1b80, 0x3de1b204, 0x3e2d515b,
0xbd90b458, 0xbe3bd033, 0x3de44b4e, 0xbe4759c6, 0x3de50399, 0xbe153082, 0x3eb089a6, 0x3df11076,
0xbe0d71f9, 0x3d3a09d7, 0xbe39ebc8, 0x3d0f19dc, 0x3e351007, 0x3d09384e, 0xbe2a8614, 0x3e393fa8,
0x3e098110, 0xbe2576a0, 0x3ce3613b, 0x3e23e07b, 0x3d511896, 0x3e2265a2, 0xbe137fb5, 0xbe73c04d,
0xbdcdde3f, 0xbcc62b8c, 0x3df52cba, 0xbd706f7e, 0xbdbc440d, 0xbe0ee76b, 0xbcba66f7, 0x3dba4c5d,
0x3d7c9278, 0xbe2aecec, 0x3db9441e, 0x3de8a5d9, 0x3e04a406, 0x3c6b3d69, 0xbe1eef15, 0xbe30c313,
0xbd75df3a, 0xbe097fb4, 0xbdaa1da9, 0xbc1f7adf, 0x3e2b7779, 0x3dd729ee, 0xbe0ef2ea, 0xbd67131c,
0xbe187900, 0xbc88f6ff, 0xbdc45116, 0x3e36078c, 0x3d8528dd, 0x3e09d580, 0xbe811406, 0x3da9308d,
0xbd10a651, 0xbd009950, 0x3dfe7d07, 0x3daba124, 0xbe00eb06, 0xbdde5e70, 0x3e1cd031, 0xbdfab8cf,
0x3dd3d7c1, 0x3d90e228, 0xbd612834, 0xbe36751f, 0x3cba6c01, 0xbddde9e6, 0x3ecd3c17, 0xbdf67be1,
0x3d9285b6, 0xbc8fa410, 0xbd0aec8a, 0xbe3e0e2f, 0xbd6ee913, 0x3bd91650, 0x3e00a8f1, 0x3e0656e6,
0x3d7f8788, 0x3d687e6a, 0x3d8bccf8, 0x3dff5b25, 0xbd654335, 0xbdc0732e, 0xbe0d002a, 0x3d11b09e,
0xbdd2ff55, 0xbc956eb9, 0x3e4a8ef0, 0xbdf54874, 0x3d32030f, 0x3e0a6e55, 0x3d742eb7, 0xbe50e25f,
0xbc1cafd9, 0x3e646516, 0xbda828ac, 0x3e16f516, 0x3bcfa60c, 0x3e484315, 0x3e9bf211, 0xbd6e792e,
0xbd8c6a0f, 0xbda04274, 0xbe7d326e, 0x3e0e30d8, 0x3eba3df5, 0x3c38cb97, 0x3e58d5ff, 0xbdbb14d0,
0x3d498835, 0xbc67a241, 0xbe055f06, 0x3e4aaefb, 0xbe585f75, 0x3cd26e23, 0x3e14bff8, 0xbc199437,
0x3dd6972d, 0xbdd6da62, 0x3c8c7ee8, 0xbe5d6811, 0xbd31542f, 0x3e86735c, 0x3e0692cd, 0x3e551bb5,
0xbe0daccf, 0x3d7bd3f3, 0x3c230c23, 0xbdfba275, 0xbe309b66, 0xbc9819ad, 0xbf04cd72, 0x3d3dad1f,
0x3e5c5e1c, 0xbd59ad94, 0x3db84279, 0xbdfe983e, 0x3abc5702, 0x3d0dad1d, 0xbe41b80d, 0xbe72ff42,
0xbe5d0c98, 0x3da5a834, 0xbe5cd476, 0x3e333c97, 0x3dc2f65a, 0x3e0c4435, 0xbdf85d56, 0x3e097a72,
0x3d978b16, 0xbe2319be, 0x3df4b806, 0xbd47af90, 0x3d7360b8, 0x3d84d54d, 0xbdb10c4b, 0xbdb551dc,
0x3d982082, 0xbe6c516b, 0x3d8523d8, 0x3ab959d1, 0x3e3f2950, 0xbd30d00f, 0xbe63e114, 0xbd1d55d9,
0xbe63211c, 0x3deb8261, 0xbe231d12, 0x3e4e7bed, 0xbda4f248, 0xbdd89d0c, 0x3c9d5b20, 0xbe492751,
0xbc1d3d2e, 0xbdb21219, 0x3d74968c, 0x3dc1bc1a, 0xbe1fbb4e, 0x3e3ac51e, 0xbd0c17a6, 0x3e238485,
0xbdd07927, 0xbbb054a6, 0xbc917b9b, 0x3d8b7acf, 0xbe116f2b, 0xbe2142f3, 0x3d74251f, 0x3e1111ec,
0xbe25d988, 0x3e3ab4e9, 0x3e348ca0, 0xbd081364, 0x3e174ad2, 0x3dfc4cef, 0x3e993b84, 0xbde628d7,
0x3e4b843d, 0xbdeb5b2f, 0x3e0475c2, 0xbe3449e3, 0x3e8d733a, 0x3ddd8011, 0x3cb43905, 0x3df600e0,
0x3e2a2912, 0xbd98e24b, 0x3e008fd7, 0x3d740d88, 0xbe192ca5, 0x3aabff8c, 0x3de1a31a, 0x3ce91a06,
0xbdff5b09, 0x3e245f13, 0x3df51617, 0x3ce92875, 0x3dc19a15, 0x3deddaf1, 0x3e2e4c3b, 0xbd0b4177,
0xbe332952, 0x3e4bd5d6, 0x3b25c0a8, 0x3d3dd90c, 0x3d828bfe, 0xbd040dc8, 0xbe507865, 0xbe353ec9,
0x3e6597db, 0xbe1e0feb, 0xbd4d93f4, 0xbcac9970, 0x3e3781a0, 0xbca63979, 0x3da2edc4, 0xbd08aa63,
0xbe0768a4, 0x3d44a961, 0x3e4615b2, 0x3e1f5988, 0x3dc7f6b7, 0x3dfa617a, 0xbe2ca319, 0x3d18f5d2,
0x3e687c49, 0x3dd045c1, 0xbd832610, 0xbd81dcb5, 0xbe2131f7, 0xbdb4c319, 0xbe42a593, 0xbe23c859,
0x3e007fb3, 0xbe1993fe, 0x3df1726f, 0xbdce5b5c, 0x3d05d7b7, 0xbe2eb98f, 0xbeb381b4, 0x3be315de,
0x3e71a014, 0x3e31a751, 0x3da4c63d, 0x3d1de8de, 0xbd956b51, 0xbdb800a1, 0xbd6986b0, 0x3da5bd0b,
0x3d01e39c, 0x3da23642, 0x3e0eb021, 0x3d9af3a7, 0x3e88c322, 0xbde1bc5f, 0xbccd8daf, 0x3d30e282,
0x3e370cb3, 0x3e2a69d9, 0xbd831b46, 0x3e52be27, 0xbdecc07c, 0x3e4e1803, 0x3d9e1d7f, 0xbea8c44b,
0x3c0cc920, 0x3d3b8fed, 0x3dfa92c9, 0x3da7ac91, 0xbe1b7496, 0xbdf97681, 0x3eb532e5, 0x3ccc77ae,
0x3e165cd5, 0xbe7da953, 0xbe1b7a8e, 0xbe6671f7, 0x3d85542e, 0xbe0bd55f, 0x3e0ac06b, 0x3d2d2cb3,
0xbdad578f, 0xbe591217, 0x3dbc2265, 0x3e037810, 0x3c4ea7e6, 0x3e2a2bfa, 0x3e4c59c2, 0x3dbb57e0,
0x3e2896a0, 0x3d25496b, 0xbe8644b8, 0xbdbfd772, 0x3e77bfe0, 0xbd4db54e, 0xbdcc232b, 0xbe6b2560,
0x3d2c0835, 0xbe4f5f4e, 0xbe8c22bb, 0x3ce3bafa, 0x3d54b447, 0xbe55fe4c, 0x3cffc1bc, 0x3abc0a75,
0xbe345ae7, 0xbbe736a4, 0x3cab8add, 0xbe498f8f, 0xbe0c67d3, 0xbe0ed52d, 0xbe38c138, 0xbc861976,
0xbdd92c90, 0x3da9e617, 0x3d9b1f6c, 0xbe08df8d, 0xbddb7f19, 0xbe2516ad, 0xbd8e8fe5, 0x3de09163,
0x3dbc316f, 0x3da359d8, 0xbe6b5454, 0xbde0d8fd, 0xbe4bcce7, 0xbc5a8e15, 0x3da5a6b1, 0x3dfb75a4,
0xbe0f0205, 0xbd7b166c, 0x3df08c62, 0xbe1e8de1, 0xbe3a9924, 0x3e49b7d1, 0xbdf08add, 0x3e719f19,
0xbd8c06f9, 0x3dd8948d, 0x3d877f9b, 0xbd8942d6, 0x3c81aa2c, 0xbe1876ec, 0x3c953b70, 0xbd5ca8c4,
0x3db0dea0, 0x3df1eaf7, 0xbdbbf1df, 0x3df2f0cc, 0xbc883011, 0x3e3b7c2d, 0x3cc71b2d, 0xbc43b289,
0x3d9edd84, 0x3e0ad278, 0x3d551e43, 0x3d475f3e, 0x3c744acd, 0xbd8ae5ea, 0x3e427f62, 0x3e0ec047,
0xbdd58e4d, 0x3e105c49, 0x3c2c0878, 0xbe15613a, 0x3e600e49, 0xbdc425dd, 0xbc22b459, 0x3ced3de5,
0xbe43b025, 0x3e2e25e1, 0x3d728c17, 0xbdb585d9, 0x3e03dc3b, 0xbdf77976, 0x3e1a44b1, 0x3e33bb55,
0x3e46a968, 0x3e38bb96, 0x3d8c05f6, 0xbe0fdcdb, 0x3d0ef6d9, 0xbced4e40, 0xbe8e0090, 0xbcb38bc9,
0x3e245371, 0xbe021036, 0xbc27e8ae, 0x3da93a84, 0xbcfd09d4, 0xbd6edfbe, 0xbe5774b9, 0x3dcdb2c9,
0x3db9155a, 0x3c569dc5, 0xbda9bef2, 0xbd652e27, 0x3d45192f, 0x3c4be26d, 0xbdd49d79, 0x3d3403bc,
0xbd0673e6, 0xbd9324ac, 0xbe298bcd, 0x3e067bbf, 0x3e02f7c3, 0x3ca4f75f, 0x3e3e6d49, 0x3d2fc696,
0xbd94695e, 0xbc651150, 0x3cf567e6, 0xbd901142, 0x3ceaac14, 0x3c6d6bd0, 0x3ede215f, 0xbe4b908c,
0x3da82239, 0xbe1a50c0, 0xbe66790c, 0x3e13e196, 0xbe1e6d68, 0xbc746357, 0xbdf1b2d7, 0x3dffe668,
0x3e23c9ca, 0x3c804485, 0xbde775e8, 0x3e2b87be, 0xbe8c3411, 0xbdd4031b, 0xbdef476a, 0x3d1321eb,
0x3d822f6f, 0xbe13a58d, 0xbc8ad575, 0x3e284474, 0x3d75dd4c, 0x3e18ca43, 0x3e1fbdb1, 0x3dd556d2,
0x3c917d0f, 0x3e051c3e, 0xbcf23161, 0x3e1ab684, 0xbdbc45fb, 0xbd32bab3, 0xbed20194, 0x3dde6729,
0x3dc0ea38, 0xbe088776, 0x3e1ffb76, 0xbe2c3adc, 0xbe87813f, 0xbe548676, 0x3dfa0d44, 0x3e364ef1,
0xbe127145, 0x3dc0e61a, 0xbd1bf856, 0xbd006f9d, 0xbe33d28a, 0x3df4d423, 0xbe640a0a, 0x3d895c07,
0xbe128311, 0xbd3bee63, 0xbdeb137e, 0xbaa36b9f, 0xbdf8d3cb, 0x3e1c1c8f, 0xbd233ca7, 0xbe0227ec,
0xbd940854, 0xbd5161c4, 0xbe128ea9, 0xbdf7eff6, 0x3e47e045, 0x3daef687, 0xbe36e164, 0x3e05e9ea,
0xbde67d0e, 0x3de5cdc1, 0xbe0b6186, 0x3df2ac07, 0xbe5364cc, 0x3dba1be6, 0x3df64541, 0xbe21bdfc,
0x3d0d3ed5, 0x3d7a4757, 0xbd538029, 0x3e1a5abe, 0xbddfa6be, 0xbe31d7a5, 0x3c93aa07, 0xbe501a5d,
0x3e1e3d41, 0xbdf0439b, 0x3e210b26, 0x3e16805e, 0xbdc88be4, 0x3e1b98af, 0x3d03544f, 0x3dbda408,
0xbdf2fa01, 0x3d0a9530, 0xbd80af54, 0xbd0ce43d, 0x3e1e05dc, 0xbdc89e14, 0xbe72504c, 0x3dd4b38f,
0xbcb45f50, 0x3cc13477, 0x3e32d4b1, 0x3e50491f, 0x3d9770ed, 0x3dfde4d0, 0x3df7a0fe, 0x3eabc46c,
0x3e2853a4, 0x3e0014ae, 0x3e35753f, 0xbe11cdd5, 0x3e6a1721, 0xbdbfdacc, 0xbde3d74a, 0x3cb4a3bd,
0x3e391b3c, 0xbd8f0e7e, 0xbca89cca, 0x3e3c5fb4, 0x3e5cbb02, 0x3d8752b9, 0xbce7072c, 0xbdf51b3e,
0x3e27e6aa, 0x3d3e5520, 0xbb06f5d6, 0xbdcb1146, 0xbdfc29df, 0x3d807459, 0x3e381336, 0x3cd73612,
0x3e1a1b86, 0xbe1c2e0f, 0x3d9d6cb2, 0x3da6f19d, 0x3c426e94, 0x3d7f617d, 0xbd7675c3, 0xbdfddc80,
0x3d659033, 0x3d91521c, 0xbe472f2d, 0xbe27fe61, 0xbe2ad90b, 0xbd3664dc, 0x3ea2616b, 0x3d389bff,
0x3e1b2c5d, 0x3e5ff9d9, 0xbdccb6b7, 0x3d87199c, 0x3b14a90f, 0xbca8848a, 0x3e1dad28, 0x3e4d7d30,
0x3e0623ee, 0x3e33c6e0, 0xbe2872ea, 0xbe1ca108, 0xbc2dbc92, 0xbe29b920, 0xbe8eb9e3, 0xbe6256c9,
0x3c08cf82, 0x3dc421e3, 0xbdc411ee, 0x3e8bddff, 0x3d7393e0, 0x3dcf0806, 0xbdde84a2, 0xbe315163,
0x3d2fe434, 0x3e372232, 0x3dbfc082, 0xbb14d2b2, 0x3d84d21c, 0xbe418555, 0x3e0742c7, 0xbdc40584,
0xbe0b620f, 0xbdff7ed3, 0xbc294f54, 0x3d427549, 0x3d0a1bbe, 0x3bbef416, 0xbdd255a9, 0x3e24e214,
0xbb150cc3, 0xbda049d9, 0xbe3ae40b, 0xbe2d6071, 0xbccc4f03, 0x3e3a188a, 0xbd45a3e8, 0x3e025538,
0x3dcd6982, 0x3caea134, 0xbe5ac36d, 0xbcfe41cb, 0x3e30cdd1, 0x3dae6bae, 0x3e389084, 0x3c9b5728,
0xbe2ffa30, 0xbcffa947, 0xbc9a1008, 0xbe6cb76b, 0xbdd0b94b, 0xbde5c0b6, 0xbeb39477, 0x3e1d7d28,
0x3d33763e, 0x3d70564a, 0x3d4f97dc, 0x3e83f083, 0xbd930bf8, 0x3e062c0f, 0xbdcd0197, 0x3e359855,
0x3e01c20d, 0xbd1de4bf, 0x3d343efc, 0x3e16dd79, 0xbc004170, 0x3dcc865a, 0x3e2c4757, 0xbe0b627e,
0x3bfc3abb, 0xbe56babb, 0x3dd1357d, 0xbdbeb2a2, 0x3e3e9418, 0x3da67deb, 0xbe5c586b, 0x3e31ae84,
0x3d144326, 0x3e37eb87, 0x3e2c2f66, 0xbd02e19d, 0xbe25499f, 0x3e768cd1, 0xbd99469d, 0xbe313f6a,
0xbdf2331d, 0x3d73dc5c, 0xbdec3928, 0xbd8ffe6b, 0xbd2dbcc1, 0xbd9c2c65, 0x3e3190b5, 0x3e81fdf4,
0x3df253b3, 0x3dabbfd3, 0x3daeeb97, 0x3d831269, 0xbc413516, 0x3e4a8e29, 0xbe480d99, 0xbda0464c,
0x3e16f443, 0x3c865878, 0x3dc52982, 0xbc9f2b10, 0xbe37328d, 0xbd2dab0a, 0x3e2ca8e6, 0x3db32010,
0x3d53f4d8, 0xbd3d3890, 0xbe10f807, 0xbd95426e, 0x3cab7fc4, 0xbcabb27a, 0xbe4d19a3, 0xbe139049,
0x3e0a05c9, 0xbdff2497, 0x3e1164a5, 0x3c5bf028, 0xbdc2efe8, 0x3e2b0126, 0x3cddcb0f, 0xbd41aae6,
0xbb72d276, 0x3d28b6b8, 0xbe0b17b8, 0xbcab8d09, 0x3c984c1b, 0x3e04cff3, 0xbee502bd, 0xbd6b3993,
0x3decc7ae, 0x3d6d90f3, 0x3e6abf82, 0xbde7566b, 0xbd46e78a, 0x3ca37c49, 0xbd7a7d12, 0xbe49aa09,
0xbdff1f72, 0xbdf05c00, 0xbd8488da, 0x3d8b9989, 0xbd8932ae, 0xbe0ff570, 0x3bf66a06, 0x3e269655,
0x3c483d2d, 0xbd65148e, 0xbd31a325, 0xbcec1477, 0xbe7b091a, 0x3cb75976, 0x3e28341b, 0xbdfef535,
0xbdef3212, 0x3e6b35eb, 0xbd83bf8b, 0x3e08358c, 0x3e083a37, 0x3ddedf2a, 0x3ed336d1, 0xbdf37cf3,
0x3dcc3be1, 0xbdc734d3, 0xbe43c36e, 0x3e405f71, 0x3cafaa0e, 0x3d4fe19c, 0x3e0ab711, 0x3b93eec4,
0xbd02749c, 0x3e24c1e8, 0xbe17f767, 0xbd0d6054, 0x3e0f1285, 0xbe350c64, 0xbe4551b7, 0xbb3b79dd,
0xbdfe36a5, 0x3c8273bd, 0x3d30b499, 0x3cf93594, 0x3e411993, 0x3d689ced, 0xbdd15118, 0x3c804b31,
0xbe632743, 0x3e234bd5, 0x3c863c28, 0xba917ab4, 0x3e8858f2, 0xbb7489bc, 0xbe304fbc, 0x3e1efdad,
0xbdeab293, 0x3d8b1224, 0xbe187336, 0x3e4f7fcf, 0x3df65dd0, 0x3e2c14a6, 0x3e02336e, 0x3e93bc8d,
0xbd6f09fe, 0x3d928881, 0x3db12589, 0xbe0653ec, 0x3e81befb, 0x3e47f4a5, 0xbc3884b7, 0x3d6efc5d,
0x3e18f989, 0xbdc2d1d1, 0x3d4cc441, 0xbc3533fe, 0x3db2d78f, 0x3de2efbc, 0xbe33fe76, 0x3e067dab,
0xbdaa62a4, 0xbd283e3a, 0x3d169d88, 0x3d77233e, 0xbd76ac4c, 0xbc71e518, 0xbe88ee70, 0xbe0fe74c,
0x3c01784b, 0xbd1a83e6, 0x3d4fddca, 0xbe69c9ea, 0x3cbe5d5d, 0xbe3be9e0, 0xbe0d5da5, 0x3e32a02c,
0xbd3decd4, 0xbcee0c7e, 0x3d8ca7dc, 0x3ddf0489, 0x3e20a8a6, 0x3ba5bf49, 0x3dc89f12, 0x3e3c78f4,
0x3c08c004, 0x3d37445f, 0xbe313aa4, 0x3c233e78, 0xbe3c97b0, 0xbdeac12f, 0xbd70bc2c, 0xbe5f8bd6,
0x3ce2b353, 0xbdb8c922, 0xbd6501e2, 0x3e37a89d, 0xbb03d772, 0xbd970e48, 0x3df7e0c4, 0x3e31e432,
0xbda74f50, 0xbc9aa405, 0xbe43ffbd, 0xbe0b2c20, 0xbe06a0c2, 0x3c6dabec, 0x3e64933b, 0xbe61cbba,
0xbe02e330, 0xbd3fd005, 0xbde8cca2, 0x3caab9f9, 0x3dc8f28f, 0x3da333b8, 0x3ec60e44, 0xbb49b808,
0xbdc91a59, 0xbe3cb6c7, 0xbcf6ccef, 0xbe83cb28, 0x3e529428, 0x3e20eb8c, 0x3e1e9e69, 0xbd8e7500,
0x3e46f149, 0x3c09b16f, 0xbe3511cd, 0x3d5654bb, 0xbd9d2c10, 0xbd6111ce, 0xbed9762e, 0xbc3cd1b5,
0xbbdf49a9, 0xbe200fe2, 0x3d5522b9, 0x3e179535, 0x3d2ad71c, 0xbe06b8a6, 0xbd0b488c, 0x3e88e186,
0x3d96c8b6, 0x3d651e76, 0xbde4f95c, 0x3c90a95f, 0xbe48b6be, 0x3b650bfc, 0x3db37b9c, 0x3d81c255,
0xbc47dc50, 0x3dcec53a, 0x3e9cd9e6, 0x3e177427, 0xbd88d58b, 0x3e2782f8, 0x3d6a9b10, 0x3f03cd70,
0xbd1418bf, 0xbddc9dc6, 0xbe3c39cf, 0x3cc1aa88, 0x3d047a74, 0xbe7c1c37, 0xbf18e5a1, 0x3c31a887,
0x3e399d67, 0xbcb2bbd1, 0x3e38240e, 0xbd9f0885, 0x3dcb2c8e, 0x3df2ba70, 0xbe9780a1, 0xbeecc566,
0xbdd00b22, 0xbd1fcb82, 0x3e769cf6, 0xbe8eade6, 0x3e63d392, 0x3bb28a32, 0x3db9fad1, 0xbe6ebdeb,
0xbe4f6362, 0x3de1f154, 0xbdfde311, 0x3c3725a0, 0xbe8b80dc, 0x3d271c72, 0x3dc07a36, 0xbe48ca62,
0x3bc0aae0, 0x3d13dc6e, 0x3b165797, 0xbce1f4ca, 0x3e2a8789, 0x3e3f7ba4, 0x3f1d3463, 0x3df9e44d,
0x3bc4d58d, 0xbdf077fc, 0x3d9acac6, 0x3e049528, 0x3deb162a, 0x3e110771, 0x3eb2a5d1, 0x3d8ee738,
0xbe5fbafb, 0xbc3da66e, 0xbddab75f, 0x3e0441d8, 0xbe0d435f, 0x3c439fe3, 0x3db5293e, 0xbe439032,
0x3d2c97af, 0x3d13a48d, 0xbdc79686, 0x3e3a6bac, 0xbe381a51, 0x3c9f501e, 0x3ca6d526, 0x3d025d1b,
0x3d43d91e, 0x3e615afa, 0xbe0bd5fa, 0xbd9ae80a, 0xbe04e84e, 0x3e39b5eb, 0xbdf551c3, 0x3df8184c,
0x3db8362c, 0x3e2f5101, 0xbd26b791, 0x3e97296e, 0xbdcc609a, 0x3e206a74, 0x3e262650, 0x3e3f230e,
0x3dd09b38, 0x3e4150fe, 0x3d569a01, 0x3c7d2bc0, 0xbd448299, 0xbd85037d, 0x3d135c88, 0x39ffb84b,
0x3d87b448, 0x3cedbd7a, 0x3d9c03ba, 0xbd2fd75f, 0xbd1aeed1, 0xbd6ba781, 0xbe22b702, 0x3e69406f,
0x3d1b3fcd, 0x3e87ba1e, 0xbbf38330, 0x3d88f599, 0x3e39dfca, 0x3dac76b4, 0xbdbcea0d, 0x3dbf4d48,
0x3d91fa88, 0x3e4698c6, 0xbc69b408, 0x3dae19e8, 0x3db32402, 0x3d49d5f4, 0xbd233c53, 0x3d9316d7,
0x3e33b0d6, 0x3d9b6843, 0x3dc93d22, 0xbd25a725, 0xbdc4cf3c, 0x3d6f7a0a, 0xbe9d8314, 0xbdcd06d6,
0x3dff4d00, 0x3dbb78c6, 0x3d968378, 0xbe3ba3bd, 0xbe22d180, 0xbdf312b6, 0xbe17fe64, 0x3e0b78c6,
0xbd0bf757, 0xbde27ffa, 0x3d789584, 0xbdb5ceac, 0x3d25a90a, 0x3e6f520f, 0xbc69e0ce, 0x3d11dfb1,
0x3db17020, 0x3dfdfc59, 0x3e0d7fbf, 0xbe038106, 0xbe00c062, 0x3e196ecf, 0x3de3c0ac, 0x3dc022b9,
0x3b94454f, 0x3cf536ba, 0x3d208343, 0x3e70c0c8, 0xbcc3cbf8, 0x3de8c8f8, 0xbdd35e9c, 0x3c75039c,
0x3e153751, 0xbe074ac1, 0xbe2b56a6, 0x3d7712b7, 0xbdce636e, 0x3d4ebdd0, 0x3e3c2887, 0x3d2ce548,
0xbdf5cb45, 0x3da6bf81, 0x3dceb280, 0x3c8fd093, 0xbdc25427, 0x3dec7758, 0xbe6bb97f, 0x3e3cd81d,
0xbc7e35b6, 0xbc70b173, 0x3db2eab0, 0x3ce20d14, 0xbe5932a5, 0xbe232a91, 0x3caba97f, 0x3e01e0e7,
0x3dc5a85c, 0x3cd1cef0, 0xbe090714, 0xbc341e5e, 0xbdc1dbcd, 0x3ca72da5, 0xbe0cb275, 0x3e21b823,
0xbe2bd1d4, 0xbe31fb49, 0x3cf90356, 0x3e76a780, 0xbe36e207, 0x3de0c7d0, 0xbc4e4dd5, 0xbe472860,
0xbd06a6c0, 0xbd344f21, 0xbd291388, 0xbcd14712, 0xbe4690ec, 0x3b463fba, 0x3e2b52b6, 0xbd947aec,
0x3e2bd4eb, 0xbd96774e, 0x3d89edcd, 0xbe256a20, 0x3dc21326, 0xbe2805da, 0x3d8dd163, 0xbeaad76c,
0x3c8164b2, 0x3d997b54, 0x3d48897e, 0x3e384ec3, 0xbd425ce4, 0xbcecd0a1, 0x3dee62c9, 0xbe6b8c4c,
0x3e0abf18, 0xbe08d28e, 0xbcc7e1fe, 0xbe694825, 0x3d6698a4, 0x3c9fbeae, 0x3d37e307, 0x3e5597af,
0xbd9e669f, 0x3e337245, 0xbd10d145, 0x3e35ca65, 0xbe126383, 0xbda20f6c, 0xbe36f9a4, 0x3da31597,
0xbdaec0d3, 0x3d7321bc, 0xbe39a1b5, 0xbddd5874, 0x3e8929ee, 0xbd81a11f, 0xbdfaf657, 0xbead682f,
0x3e254b55, 0xbccbb8e5, 0x3d96f9e6, 0x3e732736, 0xbe16c9f7, 0x3e156f83, 0x3ecb53ca, 0xbbbff583,
0x3e4ba7f3, 0xbcbcd749, 0x3b76ff24, 0xbe9c1861, 0xbd57a5f5, 0xbc51e75a, 0x3cb8f453, 0xbe2a74de,
0x3e3061a7, 0xbe26d132, 0xbe203b39, 0x3dabf1c0, 0xbd56a606, 0x3e10270c, 0x3d81190f, 0x3dc93d8f,
0xbd81ec67, 0xbe0b06ed, 0xbdd33233, 0xbdf9c6fa, 0xbe1e7a3c, 0x3c880a44, 0xbe4bcf0a, 0x3e702a1a,
0xbcc978a3, 0xbd04d65e, 0x3cde964a, 0x3c182c62, 0xbe51cea2, 0xbd6b599e, 0xbdf121ca, 0x3c93282f,
0x3e8aa468, 0xbe01acf8, 0x3e5f310a, 0xbd294ca6, 0xbea750ec, 0xbcb91e15, 0xbd033f1c, 0xbdff6a75,
0xbe432ce0, 0x3c1c93b2, 0xbe30892b, 0x3d8fcf17, 0x3dadbd3b, 0x3d8adad9, 0x3c0273e8, 0x3de86b2f,
0xbe5b76a0, 0x3de960fb, 0xbe31184c, 0xbe130853, 0x3cef8827, 0xbcac5449, 0x3ddf14f3, 0x3e5dbffd,
0xbdfdadd7, 0xbded3582, 0x3e12897b, 0x3e3ad3d2, 0xbd2b051b, 0xbd0d7779, 0xbe08f1b3, 0xbd2e96f2,
0xbd57afc4, 0x3d5bc180, 0x3d412389, 0xbd47fd14, 0xbe7ed21b, 0x3e1e1d12, 0x3ceb7375, 0xbe14bdb5,
0xbd1cef0e, 0x3d34cc7f, 0x3c1baa4b, 0x3db07bc2, 0x3b177182, 0xbde2e488, 0xbe44c8f6, 0xbdc2b35f,
0x3c502d9d, 0xbe37fe6a, 0xbc6df3f1, 0xbdd78cab, 0xbd801ffd, 0x3c00de54, 0xbe3f67a1, 0x3e3ee946,
0xbe1faf9b, 0x3dfe5974, 0xbe1429ec, 0x3db036e2, 0xbdacf1bc, 0xbdfe853d, 0x3e182176, 0xbe0d7e2e,
0xbdd8c703, 0xbd3dd253, 0x3d0200bb, 0xbded03c1, 0x3c9528b9, 0x3dada1d7, 0x3e093b13, 0xbe4d614c,
0x3e258b20, 0x3dcbe07c, 0x3dd19468, 0x3e362c92, 0xbe2ffa76, 0xbd351240, 0x3cb97a77, 0xbe2970b9,
0xbe4a5353, 0xbe45cac8, 0x3c82da10, 0x3e4dd38b, 0xbe074673, 0xbe16e305, 0x3d89e704, 0xbc954dd1,
0xbd26fe9f, 0xb97b8b38, 0xbe448ea5, 0xbde271f9, 0xbe860902, 0x3d106fe2, 0x3ebdb227, 0xbe816236,
0x3e1da5f3, 0x3dfb2dbc, 0xbe5709bc, 0xbe03f4ec, 0xbd8a84ba, 0xbdb06f30, 0xbdbada31, 0xbe838140,
0xbd8b70e5, 0xbe3069dd, 0x3e1cf00f, 0x3e3e1bc9, 0xbe0718c9, 0xbd8cfb27, 0xbcb2bab5, 0x3dcd83dd,
0xbda422b0, 0xbdbf4c94, 0xbd9eb6d1, 0x3c854a6f, 0x3e069d79, 0x3d2a2d91, 0xbcaa444f, 0xbc765a7e,
0xbdd11475, 0x3e1f5468, 0xbe201f05, 0x3db62e05, 0xbe1ac381, 0xbdd1d948, 0x3eab271d, 0x3d6367a3,
0x3e2e9d31, 0xbdf7d6cf, 0x3de77dc7, 0xbdcc77f5, 0x3db3e1ec, 0x3e26082f, 0x3da3c3db, 0xbd404b34,
0x3d3bcdc8, 0xbe34e3a5, 0xbe394a66, 0x3d4c905a, 0x3d5a8dbf, 0xbcdaeb53, 0xbd9ff196, 0x3e039c3b,
0xbe029d87, 0xbe37bf4d, 0x3cd90d62, 0x3d426376, 0xbc31eb80, 0xbde44a7d, 0x3d1d5ec5, 0xffff9a72,
0x00000004, 0x0000000c, 0x00000001, 0x00000010, 0x00000020, 0xffff9a8a, 0x00000004, 0x00000010,
0x00000001, 0x00000020, 0x00000001, 0x00000020, 0xffff9aa6, 0x00000004, 0x00000010, 0x00000001,
0x00000001, 0x00000020, 0x00000020, 0xffff9ac2, 0x00000004, 0x00000010, 0x00000001, 0x00000040,
0x00000001, 0x00000020, 0xffff9ade, 0x00000004, 0x00000010, 0x00000001, 0x00000001, 0x00000080,
0x00000003, 0xffff9afa, 0x00000004, 0x00003000, 0xbced2582, 0x3d27a0a6, 0x39935fa8, 0xbcac1348,
0x3bd241f8, 0x3caddf0f, 0xbb312332, 0x3b024e41, 0xbca44b66, 0xbcf015f7, 0xbc3d74e9, 0xbcae67a2,
0xbc9ccc2b, 0xbca91a2f, 0x3ccee5bd, 0x3ce73cb0, 0xbd28ea85, 0x3d78d960, 0x3d0f9026, 0xbc9d64d6,
0x3ca63e2d, 0xbd46d9ff, 0xbcfa8be3, 0xbcbf0c13, 0x3b3627b7, 0xbc018cca, 0xbcc81bf6, 0xbd12a630,
0xbbd1cf5d, 0x3d3d0b8c, 0xbcfd67d4, 0x3d0b6c39, 0xbbf0321e, 0x3d878c2b, 0x3be7774d, 0x3d5723f1,
0x3c410306, 0x3d029bdb, 0x3cd9c92c, 0x3d1d9cfd, 0xbcd1fc0e, 0x3d328f75, 0xbd49ff8b, 0x3b4acd66,
0x3ab344eb, 0x3cbdf86b, 0x3cdc3ac1, 0xbd746a93, 0x3c8a7841, 0xbb6ff48e, 0xbcae78df, 0x3cc4450f,
0x3d1dd379, 0xbd4b2bf9, 0x3d1f740e, 0xbd15dcd8, 0xbc190e31, 0x3ca0c0ec, 0xb8f0b61e, 0xbc99dd33,
0x3bdab40f, 0xbc9f867c, 0xbd2aa495, 0xbce5a0c0, 0xbb7f4f14, 0x3d16dbfe, 0x3cd23dec, 0x3cd4477c,
0xbceda2ee, 0x3c3b034b, 0xbd08d0b3, 0xbaa07360, 0x3d6c9a8a, 0x3d2bb239, 0x3d25ea2c, 0xbbd09380,
0x3b6dba31, 0xbd699595, 0x3dac7e8f, 0xbd47b845, 0x3d1e0ba5, 0x3ce3fb04, 0x3cdb205b, 0x3cf020a5,
0xbb96dee3, 0x3c21671a, 0xbcbcbc24, 0x3c3aa6ac, 0xbd64eefe, 0xbcd3fc5c, 0xbd1fd468, 0x3d985fcb,
0x3d59d5ba, 0x3d8a8ada, 0xbc3efa49, 0x3d5a0b00, 0x3db19e56, 0xbd3c0c24, 0x3ca7cfca, 0xbd98a2aa,
0x3c5e6e37, 0xbdc6a07b, 0x3d2c2de4, 0x3c20fd02, 0xbc4c8d7d, 0x3c3c2212, 0x3d23631d, 0x3c14f30e,
0x3d081841, 0xbdb9cd9f, 0xbd6319ab, 0x3d440d93, 0xba3e161f, 0xbd28e9e9, 0x3ca72cd9, 0x3b47d9be,
0x3ca4597d, 0xbd0d7fe7, 0x3c3a4042, 0x3c4a879d, 0x3daafafb, 0xbd0a793c, 0xbd6a5f57, 0x3cd64745,
0xbcc913d2, 0xbcf6f842, 0x3ce7767c, 0x3d25a267, 0x3c464b32, 0x3ce87216, 0x3d89beed, 0x3d0cd8fe,
0x3ccd8284, 0xbcb8d9f2, 0xbd3715fb, 0x3d824428, 0x3b886361, 0xbd54c7b4, 0xbb19aafa, 0xba2d64de,
0xbbd29e22, 0x3d0b5cbf, 0x3d3a7a0e, 0x3d50638a, 0xbd251a0c, 0xbd8b9433, 0xbc654bc1, 0x3bada765,
0x3d7bf9ae, 0x3c46a1cb, 0x3d801f68, 0x3d453ba2, 0x3cde221d, 0x3ccda54e, 0xbac6d465, 0xbcf4b9d0,
0x3ce7241a, 0xbca05580, 0xbc088a06, 0xbd5d03b4, 0x3cc7f827, 0xbc18e52a, 0x3d4599c5, 0x3c6c72c2,
0x3c4fa84d, 0xbd6c0fde, 0xbbfb7c3c, 0xbce46cb7, 0x3c6e4b2e, 0x3c407522, 0xbc90ec9a, 0x3d190f24,
0x3d0f255a, 0xbd5f7b67, 0xbc37c34f, 0x3c1277ea, 0xbc3a213a, 0xbcabd5ca, 0xbd055a7a, 0xbd174ba1,
0x3da0eb16, 0xbc8e4409, 0xbc84fdf4, 0xbd515828, 0xbc2c72ce, 0x3d29314c, 0xbb9fb1e7, 0x3d020bf4,
0xbaa929c5, 0xbcdfba7b, 0xbd8ae290, 0x3c9b9bba, 0x3d1cf4b5, 0xbd037dfa, 0x3cb56ed2, 0xbd4a2ca9,
0x3ccda85c, 0x3c6c4461, 0x3d271fa6, 0xbc63e905, 0xbd98ed97, 0x3cdb13a1, 0x3cda9407, 0xbcdccca7,
0x3cf9baf9, 0xbcc86831, 0x3d2e4ff1, 0x3c8ce132, 0xbd604e3e, 0x3ca70ed0, 0x3badd431, 0xbc2a7c5a,
0xbd118973, 0x3b856d5b, 0x3bafb7d9, 0x3c35afa9, 0x3c466f10, 0xbce8c330, 0xbd469c1f, 0x3d5d0a5e,
0x3d696323, 0xbb3b2b01, 0x3b46bff6, 0x3b4785da, 0x3cbb9495, 0xbd4f40db, 0x3d2f3228, 0x3c8de6b8,
0x3ccde22c, 0x3be08dc3, 0x3d2a4de3, 0x39d4b4f1, 0xbd9fb761, 0x3bcb15a0, 0x3d42fd2c, 0x3d30fc15,
0x3d0979ed, 0x3bca6e01, 0x3d56bb55, 0x3cc6f3d8, 0xbd7333fa, 0xbd25c5b3, 0x3c4eb200, 0x3cea7e73,
0x3cb1a035, 0x3c78590b, 0xbb616cf1, 0x3cadcb56, 0x3d33e40a, 0x3d102632, 0xbd1f13ac, 0xbc7068e6,
0x3c6eb16e, 0xbce64f96, 0xbcbd9ea1, 0xbc74fcb8, 0x3bafdafe, 0xbc28a5b7, 0xbd06f607, 0xbca85aad,
0xbb6121e2, 0xbd0152fe, 0x3b5c164d, 0xbd2addc3, 0xbd1366bb, 0xbce05e5b, 0x3d0dc767, 0x3b22f33f,
0x3ce43bdd, 0xbd611c82, 0xbc078ddc, 0x3cf8727f, 0xbc84e316, 0x3b03e96f, 0xbbc6fc45, 0x3ccb8c38,
0x3ce7651a, 0xbc71180f, 0x3b86f57a, 0xbd015c82, 0xbba4d1cd, 0x3d3bdfe4, 0x3bf1f7f7, 0x3d5e3837,
0x3d430c89, 0xbcf8767f, 0xbd2b9fb8, 0x3ca9155b, 0xbd0feb20, 0x3c132fe0, 0xbd0235a9, 0x3c48f035,
0x3d070e91, 0x3d57e8b9, 0xbb9f6fe8, 0xba6140eb, 0xbb08e4be, 0xbc932996, 0xbd2bc348, 0xbc7875b7,
0xbd1a7f0f, 0x3d4340b7, 0x3d0780f4, 0xbc499136, 0x3d42ab49, 0x3c092def, 0xbc26aec9, 0xbc9ee036,
0xbca2c0b3, 0x3c5952a7, 0xbcdebd46, 0xbcdc28e0, 0x3ce718e9, 0xbcc2621d, 0x3d20c6b8, 0xbcc2335d,
0x3c230e6b, 0x39d0dc0b, 0x3c971053, 0xbc398cee, 0x3cc613a4, 0x3d337b0b, 0xbce6efc4, 0x3cf89c27,
0xbc46c4f8, 0x3c924802, 0x3ce41b0c, 0x3a956d5f, 0x3d3aa93e, 0x39a3d8c9, 0xbb930434, 0x3d246821,
0xbc3e4f97, 0xbbb2e4ea, 0x3d3d0ffd, 0xbc1a8210, 0x3d1b9e2c, 0xbcb28860, 0xbd262e9b, 0x3d2beb47,
0xbceee827, 0xbcd130d1, 0xbc453481, 0xbbc29607, 0xbd45fbf0, 0xbd3e9650, 0x3cc6bc43, 0x3bca5561,
0xbb17b629, 0x3bc43ada, 0xbc88a2c9, 0x3cb53c7f, 0x3cc40108, 0x3d42ccfb, 0x3c0c4d53, 0xbcb4f6e4,
0x3c893a58, 0x3c9ad74b, 0x3be14f5f, 0x3cddf19e, 0x3b006016, 0xbbf7b9df, 0x3c8fdb79, 0x3cb5dc56,
0xbc173e90, 0xbc8a41a5, 0x3c3b1a8c, 0xbd04f8fe, 0xbbaa0f61, 0x3cb0a9f7, 0xbbc39dbf, 0x3cde6467,
0x3ca33902, 0x38a0f682, 0xbca54aec, 0xbc852026, 0xbd00b09f, 0xbc46108c, 0xbc210325, 0x3d1956d7,
0x3caa730b, 0x3bbd2ae1, 0xbca0bfc2, 0xbc543900, 0x3cf9d738, 0xbcab6972, 0x3d1df681, 0xbd009cc3,
0x3d366313, 0xbd844ddd, 0x3aab75f6, 0x3cd83241, 0x3c8e62cf, 0x3c50a95a, 0xbcc079c4, 0x3d08242e,
0x3c9eee25, 0xbb6b1bce, 0xbc79d4fb, 0x3cdeb635, 0xbc9f388a, 0xbc00e5da, 0x3d02cc47, 0xbd1a0a5b,
0x3ca0b3b7, 0x3d0dc653, 0x3ce15926, 0xbc3926fa, 0x3cf366eb, 0xbb892dac, 0xbb527d08, 0x3d0171cb,
0xbcff4d30, 0x3cd7999b, 0xbc17db27, 0xbb8faf11, 0xbcb0a525, 0xbc5a7a71, 0x3d5b8182, 0x3d05de43,
0xbd019a6d, 0xbd74d22c, 0x3c049b4f, 0x3c89d6dd, 0xbd48a1b5, 0x3ccca340, 0x3c459905, 0x3d448c6f,
0xbd0740f4, 0xbd15521c, 0xbcce8997, 0x3d40209a, 0xbcbbb39a, 0xbc5a296c, 0xbcf5ccd2, 0xbd0afbd3,
0x3d17a17c, 0x3d0710cd, 0x3d5d8746, 0x3cddf19f, 0x3d4ef0a1, 0x3d6a3665, 0xbcb991ff, 0x3d2e2d1b,
0x3a32bec0, 0xbd251fd4, 0x3d5088c5, 0x3c4d832a, 0x3be5d5e1, 0xbd0e648e, 0x3c924d73, 0xbcfd95f1,
0x3aa3994b, 0xbdafd3b4, 0x3caaae05, 0xbcb757f0, 0xbcd0889d, 0x3cfed5d9, 0xbc2e88ba, 0x3c348e1d,
0xbcf9c70c, 0xbd31c39a, 0xbcbfd693, 0xbd168a62, 0xbd4335fa, 0xbd3850d3, 0xbd6e4128, 0x3d66d37d,
0x3d9486a8, 0xbc7f06d2, 0x3cfadb98, 0xbcbaad80, 0xbce180df, 0xbbdb93c9, 0xbc0e8b51, 0x3d734a20,
0xbd058fb8, 0xbc6b525a, 0xbd419824, 0x3ca443f9, 0xbc93ed89, 0xbd015921, 0x3d1ba113, 0xbd2fbd28,
0xb8f39f99, 0xbc08162d, 0xbb84bebd, 0x3d3cb554, 0x3cb56b24, 0x3bd4343d, 0x3d145c21, 0x3ca4b7b2,
0xbc7974d4, 0x3ce52742, 0x3d10b436, 0xbc2c5b8e, 0xbbab4eee, 0xbd47fbfe, 0xbda18eda, 0x3cd0d32d,
0xbd9582ed, 0x3db00b68, 0xba8bbed0, 0x3d293039, 0xbb8dd23f, 0xbd178971, 0x3d65a3d8, 0x3d0dad2f,
0xbcb4a491, 0xbd338131, 0xbc833fb2, 0xbbfa6777, 0xbd8abe23, 0xbd1b56d5, 0xbd343807, 0x3db86f53,
0xbd92c9e0, 0xbb8358f3, 0xbad4f677, 0x3d0f3c89, 0x3bbdf6fc, 0xbd2d4757, 0xbc52b4dd, 0xbd38216a,
0x3dbb3797, 0x3d0066ef, 0xbd95e10d, 0x3da03708, 0xbceedfdd, 0x3cff5035, 0xbd9a3f20, 0xbd163605,
0xbb9ed579, 0xbc963502, 0xbd3377ff, 0xbccb7da5, 0x3d12c1e5, 0x3d5c75f4, 0xbd31cba2, 0x3cd4ee5a,
0x3c341e17, 0xbd8b8332, 0xbb163971, 0x3d8ac66e, 0xbda622f5, 0x3d3bd0c8, 0x3b2dbeec, 0xbc6e5aaa,
0xbd753eb5, 0x3bd5792c, 0x3d51c5c8, 0xbbba3a06, 0xbb9a88b8, 0xbd050c6a, 0xbc2a300d, 0xbcabdc64,
0x3dcfcb53, 0xbba314e6, 0xbd167ab0, 0x3d896f57, 0xbd92c022, 0xbc904eb8, 0x3cec98a6, 0x3d87d38f,
0xbd76cb87, 0xbc1df28e, 0xbd83916d, 0xbd4f54db, 0xbd5d3571, 0x3d5a7b83, 0x3dbb1dcb, 0xbd72efce,
0xbd36bca0, 0xbd55fb5e, 0x3d33a97f, 0xbccab65f, 0xbd00688b, 0x3ce15acb, 0xbd632695, 0xbd4f2cc1,
0xbd0de3ff, 0xbcb57ac3, 0x3d6ea5a9, 0x3c94f698, 0x3c226232, 0xbdd793d6, 0x3d205735, 0xbd64d6b8,
0x3d299b79, 0xbdc257d4, 0x3d22606e, 0x3ca68734, 0xbc9e8825, 0x3c65d529, 0x3b55dca7, 0xbd48f35f,
0xbccbbdde, 0xbd6c395c, 0x3d8d6745, 0x3c64be5f, 0x3c959d7e, 0xbd05658f, 0x3cfb4e16, 0x3d77eb82,
0x3d246fba, 0xbc006ba9, 0xbd29b978, 0x3b1a92fb, 0xbd0cf4e1, 0xbc920bf6, 0x3c77e063, 0xbdb724d1,
0x3d217270, 0x3c763b49, 0x3cd150b6, 0xbc6a4d97, 0x3d0b3ccb, 0x3c6a6754, 0xba836aca, 0x3d1b8750,
0xbd67e20a, 0x3ce0196c, 0xbcd80072, 0xbc0a4bb3, 0xbcd82a9c, 0xbd1f5675, 0x3d8d7ded, 0xbcd37682,
0x3d412a2e, 0xbcaa5218, 0x3cadcace, 0xbc409f7a, 0x3d8038eb, 0xbd8fa2f3, 0xbcbe5bb7, 0xbd82ae64,
0xbd482597, 0x3cab41e4, 0x3d8b70cf, 0xbd55306f, 0x3d7d8839, 0x3d842a8b, 0xbc6dc3f4, 0x3d73dc62,
0xbcc25e97, 0x3d512f19, 0xbcc70f33, 0xbd2378d9, 0xbd3de81c, 0x3d58e3e1, 0x3c446845, 0x3dba3248,
0x3ab5010d, 0xbc348dd5, 0x3cad5f48, 0x3c25613a, 0xbc2e0049, 0xbd0bd896, 0xbd723713, 0x3d88cfc6,
0xbd20529a, 0x3d3f4847, 0xbd1eb053, 0xbd565859, 0x3d72ef4f, 0xbc3734f3, 0x3b0d523e, 0x3da0ff69,
0xbd88281e, 0xbd1bbd27, 0xbc848a8a, 0x3c8c7c59, 0xbcd83a1e, 0xbd3aa0fe, 0x3b950c61, 0xbd9969d6,
0x3ac73d1c, 0x3d38e77b, 0xbbebe1a0, 0xbd3c745c, 0xbd449ad9, 0xbcffbbe5, 0xbcce5baf, 0xbc97ba6c,
0xbd53980d, 0xbce72e35, 0xbc986436, 0x3c37c0b3, 0xbd2292a1, 0xbc847722, 0x3c8f6def, 0x3cf350a2,
0x3d8bd96d, 0x3d675b1e, 0x3d582016, 0xbd7f5e0b, 0x3d2f8b69, 0xbc8ce507, 0xbb219b57, 0xbc22e555,
0x3d25f1f3, 0xbd890e6a, 0xbc23d7ce, 0x3c06b891, 0xbc56e6b2, 0xbc139b64, 0x3cd93e63, 0xbc068597,
0xba52346f, 0x3cb4fccc, 0x3d44fc0c, 0xbda802f2, 0xbd73e207, 0xbc7b8d45, 0xbd467a7f, 0x3d75b33d,
0x3c54c9f7, 0x3cf49ea3, 0x3d21f760, 0xbbb8d0eb, 0xbd28d67a, 0xbd190b53, 0xbd495522, 0x3c7dbced,
0xbd05f343, 0x3d32e64d, 0xbd582be1, 0xbcaf0559, 0xbcbcaf60, 0xbda10caf, 0x3d8d08dc, 0xbbf55ce1,
0xbd600f23, 0x3d3511c4, 0xbd7b2ec3, 0xbd277c19, 0x3ca37080, 0xbc088cc2, 0xbd426bc7, 0xbbf346b8,
0xbc9828aa, 0xbd1cf048, 0x3c696689, 0x3d4c9582, 0x3d0643c2, 0xbbf9f224, 0x3c0d27b0, 0xbcb2ccf0,
0x3cc59e3f, 0xbb9f657c, 0x3ccb6b76, 0xbca20821, 0x3c48dbb8, 0xbbada024, 0xbd163272, 0xba10fb26,
0x3bcdb96b, 0xbd00c276, 0x3cd80144, 0x3b4a512a, 0xb9a9a3ab, 0xbd5dd155, 0x3cc6dd41, 0x3d236319,
0x3d5fcfea, 0x3d9fcf40, 0xbd1d52f0, 0xbd6759e0, 0x3cb5de38, 0x3d19d081, 0x3b60e7db, 0xbbc5dfa0,
0xbc9ce876, 0xbd8b79e2, 0x3d6d95c0, 0x3ca8903d, 0xbb817b79, 0x3d7ce4f1, 0xbcfbd897, 0xbcba2f8e,
0xbc0f0845, 0x3ca6a822, 0x3b973337, 0x3c843f3e, 0x3d63fb71, 0xbcf76dc6, 0x3a8c0f30, 0xbd0e94db,
0x3d598818, 0x3d9e89ea, 0xbbaa7db2, 0x3c5ac6a3, 0x3d2f8a45, 0x3c3c25e7, 0xbc1712d5, 0xbc2c81f7,
0xbd77aac8, 0xbd8d7165, 0xbc57338e, 0x3c2f3e6a, 0x3c4ced1e, 0xbb2c77c9, 0x3d4c24a4, 0xbd535deb,
0x3d6f47a1, 0xbd0d7569, 0x3ca0dceb, 0x3bb91ec7, 0x3cad19bd, 0x3d3dc98a, 0xbc69701e, 0xbcba83ae,
0x3d4e4120, 0x3aebf07a, 0x3d37edce, 0x3d2b5cd9, 0xbcf20ec8, 0x3cd48039, 0x3c489c4c, 0xbb841de6,
0x3ca6c3cb, 0x3db1210b, 0xbafe2653, 0xbd395188, 0x3d4dfbe1, 0x3d279797, 0xbace8058, 0x3d30772d,
0x3bbbdf1f, 0x3c18db9e, 0xbca52f0e, 0x3c81ec0f, 0xbc1513b2, 0xbd2dbaf1, 0x3d516706, 0x3cd69648,
0x3d155ce9, 0x3cedadce, 0xbcabab8c, 0xbc6325c3, 0xbd03f8ab, 0x3a6ba0cf, 0x3bd88e4f, 0xbcaaee47,
0x3d693d2c, 0xbd758b04, 0xbd18d88a, 0x3d858fe8, 0x3c609521, 0x3ce3dd97, 0xbbf512ec, 0xbd873591,
0xbd0ed043, 0x3d8ddb82, 0x3c41e3da, 0x3c2e2671, 0x3cdd0398, 0x3d06d712, 0xbc3a4fc0, 0x3d51ac80,
0x3c4d6ea3, 0x3ccd5e85, 0x3d8a43da, 0xbc8e97cf, 0xbc7fc206, 0xbd1a0afb, 0xbd1fc0a0, 0xbc6be768,
0x3d09ccde, 0xbd706b9c, 0xbdb32edf, 0x3d11c59d, 0xbbd376e2, 0xbbbcadfc, 0x3cb87756, 0x3d2857ab,
0x3d728e1b, 0x3cb3bf62, 0xbcf6d75b, 0xbd151d3e, 0x3d823308, 0x3d2586b9, 0xbc10d2f7, 0x3d4b37d7,
0xbcfd9ebc, 0xbcb1670e, 0x3d801c52, 0x3c32d173, 0xbd31d6de, 0xbd9a9e32, 0x3da39d07, 0xbd892e15,
0xbd8a7154, 0xbb6703d7, 0xbbe4ad43, 0x3d8cea3e, 0xbc4470ac, 0x3d6b8dd6, 0x3d585e9b, 0xbdea9957,
0xbd86b5a6, 0x3932598a, 0xbc59b2ac, 0x3dbd9e85, 0x3c06bf50, 0xbb02327e, 0x3cd409b8, 0x3bbcdca9,
0x3d818610, 0xbca5a28e, 0x3d7bb430, 0xbc5cf9dd, 0x3c9ca0f4, 0xbb306928, 0x3da1850e, 0x3d0aa421,
0xbcb4f3d8, 0x3cb143e4, 0xbbaf2aa9, 0xbdd96e3b, 0xbcf4cb94, 0x3c839412, 0x3cab6f6b, 0x3d8758f1,
0x3d7ecc8a, 0x3cfc9afd, 0xbd89c9bd, 0x3cd527db, 0xbd075d7e, 0x3cea66eb, 0x3d6ac083, 0xbd5c0f4d,
0x3d431447, 0xbdc6b3a2, 0x3d0a5d0f, 0x3d70c989, 0x3d04e256, 0xbc37883b, 0x3da0f20f, 0x3daeb51e,
0xbbac6c11, 0xbccf6715, 0xbd50ae09, 0xbde2de95, 0x3d52daab, 0xbc7b4cb7, 0xbd946a4f, 0x3c311a03,
0x3d502ac5, 0x3c86e861, 0x3d9fa482, 0xbd58b0fd, 0x3c34e1ca, 0x39eb1058, 0x3d4d0da9, 0xbd4d064b,
0xbcd5b9f7, 0xbd2ca998, 0x3d8351df, 0x3de7beaa, 0x3d6bf8ae, 0x3d47038f, 0x3d7266bc, 0x3a9d3e2a,
0xbd27b8e5, 0x3c0a6d0a, 0x3d039597, 0x3d999355, 0x3d11dbb2, 0x3d7a5b40, 0xbc6d4063, 0x3d4d99b6,
0xbce5eaed, 0xbd767b3c, 0x3d540fcf, 0xbb712073, 0x3d8ce691, 0xbd333595, 0xbbff6f96, 0xbb65f9eb,
0x3b9ccfcc, 0x3d52cac3, 0x3c9670da, 0x3c44f0ea, 0x3cc72eda, 0x3d457d21, 0x3d1bfa40, 0xbd376722,
0xbcf09c7b, 0xbc5d9070, 0x3d24815f, 0x3da7e63b, 0xbd1adc85, 0xbbc10c06, 0x3d683fc7, 0x3d81d3c7,
0x3c584ee1, 0xbc337a9b, 0xbda9f08d, 0x3d49c22c, 0x3a1c1c8d, 0x3d1d327a, 0xbbefa00d, 0x3cf3d0e0,
0x3d46cd93, 0x3c581edf, 0x3a434bd7, 0x3d525a49, 0x3db69479, 0xbcf64212, 0x3c384ed1, 0x3c7d7c4d,
0x3d596cfb, 0xbc6eb2e0, 0xbc569e32, 0xbd874357, 0x3d199a45, 0xbcf20560, 0x3c81ff5f, 0xbbf46c4f,
0xba950fb1, 0xbd0af65c, 0x3cb95bc8, 0x3d96639c, 0xbd068626, 0x3c0784ba, 0x3b883dc6, 0xbad46cf0,
0xbd4c98e3, 0xbbbbacf2, 0x3db8f9ce, 0x3dc44650, 0x3d37f73c, 0xbc449629, 0x3c1f5013, 0x3d73b08b,
0x3b6c4e8e, 0x3bea9d98, 0xbc3b15e4, 0xbd374098, 0x3c950f8c, 0xbcfa0e98, 0x3c95e35c, 0xbd3be397,
0xbc986c66, 0x3cc9861c, 0x3cb56a7b, 0xbd178518, 0x3d00e87d, 0x3d101358, 0xbbec6c27, 0x3ce65b5e,
0x3cf4ab79, 0xbca99c2f, 0x3d58d16e, 0x3cc47929, 0xbc87b89e, 0x3d47c1f6, 0x3cad64f0, 0x3d1d3164,
0x3c73ce55, 0x3cbafa8d, 0x3d0e3ea4, 0xbd4e014c, 0x3d782771, 0x3c9f3595, 0xbd326f59, 0x3c9742fe,
0xbd466d91, 0xbb2eb2e7, 0x398e04c6, 0x3b86c178, 0x3c7af191, 0x3cd06405, 0xbc52c21b, 0x3c8d526a,
0x3d04998c, 0xbd168804, 0xbbe3bd3a, 0x3cf553a1, 0xbd13f0f2, 0xbd9bb1c1, 0xbd1d99f1, 0xbccf01f9,
0x3c4d7a37, 0x3cc25e0e, 0x3ad3f146, 0x3d3eaf50, 0x3c9eeed0, 0x3ccc593b, 0x3a9a56ce, 0x3c343825,
0x3b8f9672, 0x3d50db7f, 0x3d347f83, 0xbb66cc27, 0x3d6b6df6, 0xbd1bd2d0, 0x3c8fd85c, 0xbb0c1d73,
0xbc5d433f, 0xb9bd2331, 0xbcb590d2, 0x3bb42168, 0x3d4541be, 0x3cc74f21, 0x3c9b3fab, 0xbc063915,
0x3c83642e, 0xbd23be19, 0xbc87e291, 0x3d2cc712, 0xbd4cdd4e, 0xbcb42847, 0x3bf1b2da, 0x3d5d4635,
0xbc3a2f42, 0x3d743316, 0x3b7de230, 0xbd2f3e07, 0x3c1ae4c7, 0x3d2575bc, 0x3d0ca5d0, 0xbd3e2cc5,
0xbbc58003, 0xbcb32608, 0x3afdb7b7, 0x3d307326, 0xbb83cff1, 0x3b867c62, 0x3d03ec39, 0xba79b392,
0xbc9d7362, 0xbcafe413, 0x3d3bcbb8, 0xbd17d7e5, 0x36a5e4db, 0x3caf5f85, 0x3d698e69, 0x3c3c75f2,
0x3c996111, 0xbd4a8a62, 0x3c90ed2d, 0xbc1afd80, 0xbc878117, 0xbd385816, 0x3c1aa655, 0x3c884a5a,
0x3c058a63, 0x3d4d74a4, 0x3c9166db, 0x3b93ed52, 0x3cfee650, 0x39ffd276, 0xbd915496, 0x3d6a3fee,
0xbc0f8785, 0x3d4e2571, 0x3bc31c2b, 0x3d5ba8d7, 0x3dbfa3ac, 0xbd16901f, 0xbd8e4a97, 0x3bdb3e64,
0x3ccf8813, 0x3d771677, 0x3d3a207f, 0x3d39ea68, 0xbc0bdf89, 0xbdd6bbd2, 0xbd8e569f, 0x3db92c0a,
0xbd15459b, 0xbda927b8, 0x3d22c9fe, 0xbda90452, 0xbbd2f0d9, 0x3ce379d2, 0x3d1e6392, 0xbd9a54a5,
0xbd9ca0c2, 0xbda37e57, 0xbce656c2, 0xbb7f7d3a, 0xbd5ac0e1, 0x3d598402, 0xbd08bc12, 0xbd8d91a1,
0xbcdd9eea, 0x3be57187, 0x3d9b9397, 0xbcfc1c81, 0x3d86c035, 0x3d898ffd, 0xbd16f703, 0xbdaef6c1,
0xbd006f3b, 0x3d1376d6, 0xbd6065a8, 0x3d1f75bc, 0xbcc236d3, 0x3d513c57, 0xbda817f0, 0x3dd37437,
0xbd65dd5e, 0x3d8de293, 0xbbacfcf3, 0xbd3cacd2, 0xbd940576, 0xbdcf783e, 0x3e0d4bf3, 0x3d458151,
0x3d86d0eb, 0x3da509de, 0xbd2885a2, 0xbd61a3e0, 0xbd25a555, 0xbcbab488, 0xbdab63a2, 0xbd1b3a8f,
0x3c1fb95e, 0x3cefb08c, 0xbe1cc85c, 0xbd0f4c64, 0x3ce2f18f, 0xbdd89eda, 0xbb968688, 0xbd32354f,
0x3d6e80c5, 0x3d20ce59, 0x3da64af4, 0xbc46c9f2, 0x3dbbe9f9, 0x3d36cc8e, 0xbcc31069, 0x3d720353,
0x3d918f55, 0x3d81b5c7, 0xbd5aa192, 0x3aa4f89d, 0xbcd3f6bf, 0xbcce59af, 0x3dd07cec, 0x3d84bb6f,
0x3c31f07f, 0x3c071a8f, 0x3d6fb9cc, 0x3d5b5792, 0xbd70b717, 0x3c8e5254, 0x3cd7cbf1, 0x3d57681d,
0xbd313cda, 0x3d1de731, 0xbd48ccc8, 0x3c34da50, 0x3c2f06f7, 0xbb8842ef, 0x3d0888f2, 0xbc30435a,
0x3d24882b, 0xbb92056d, 0x3d2092c3, 0xbca30dba, 0x3cfc883b, 0x3cab8faa, 0xbca6049a, 0xbc7ae00e,
0xba14c1da, 0x3bcfbd7b, 0xbd30747b, 0xbcbbea94, 0xbd093ded, 0x3c8d5575, 0xbd31f65c, 0xbc0bae7b,
0x3cba5de2, 0xbb61452c, 0x3cf16719, 0x3d2e409d, 0xbc7b8296, 0x3d239e8d, 0xbd3da3ae, 0xbab65b24,
0xbc87b247, 0x3cda35ba, 0x3c2bb366, 0x3ccb60ca, 0xbd36ff6c, 0xbd344075, 0x3d168b03, 0xbc48e39e,
0x3d2b0e7b, 0xbcb52434, 0xbd252fe3, 0xbc8e0846, 0xbc65ee88, 0xbca56453, 0xbce2825b, 0x3d32f463,
0xbd3ad454, 0x3badba76, 0xbc5f8229, 0xbd0767b4, 0xbb6bb6c8, 0x3cd65091, 0xbc910b1a, 0xbc778045,
0x3c874843, 0x3bd8a62b, 0x3ce08497, 0x3d00ace4, 0xbc8d3953, 0x3cbdc99d, 0x3a90de19, 0x3d178e88,
0x3cd99cd7, 0xbd04d1a9, 0xbd26374a, 0x3ccc6a64, 0xbcf4b078, 0xbc3ac1a0, 0xbb89f173, 0xbd439e88,
0xbcc99056, 0x3ca84097, 0xbba4e912, 0xbc91de8a, 0x3cf36a3f, 0x3d29264a, 0xbd2c7206, 0x3ba65cc2,
0xbd72c06b, 0x3cc5b25e, 0xbc686e50, 0x3d3ea120, 0xbc80ace6, 0xbd2f1262, 0xbcc103c5, 0xbd20e608,
0x3cfe499e, 0xbb4c7ee7, 0x3d280bd1, 0x3d80d622, 0x3e00a8ee, 0xbc334e70, 0x3dc54be9, 0x3d0ee3ab,
0x3d9d6aed, 0x3cfda788, 0x3d2deb16, 0x3d16ebe7, 0xbc091a32, 0x3c39556d, 0x3cc12873, 0x3d69e242,
0x3ca845fa, 0xbdc54bc1, 0xbc974d67, 0x3d739b2b, 0xbba93ccb, 0xbc9c73fc, 0x3db5fb13, 0xbcfe32db,
0xbc982b37, 0xbada9d30, 0x3d7bcd56, 0xbd75393e, 0xbd228c1f, 0x3d456606, 0x3c5de4ce, 0x3d35d456,
0x3d631c8e, 0xbd7db03e, 0x3d6c7c1f, 0x3d54c791, 0x3d9b329e, 0x3ca452cc, 0x3d6edef9, 0x3cf05e87,
0x3c9780b6, 0x3c82665f, 0x3cf888f7, 0xbabcde0d, 0xbd26eb8d, 0x3d17a2f4, 0x3cf8ee52, 0x3d7edfd9,
0x3dbf5f4f, 0xbd4e4cff, 0xbc0ffe16, 0x3d0d24dd, 0xbb9da95d, 0x3d34eadc, 0x3dc598e8, 0x3c53af18,
0x3d7cb71f, 0x3c74ab8b, 0x3d17564a, 0x3c9dabb8, 0x3be0a38e, 0x3d9b3309, 0xba87420a, 0xbc9aadc4,
0x3d64762e, 0x3cde03a4, 0x3d545333, 0xbd6e0cd3, 0x3dc4ded8, 0xbbf13efe, 0x3c8bfaad, 0xbd8d9831,
0xbc964022, 0xbc681708, 0x3c96d8c0, 0x3cefda83, 0x3d7ba883, 0x3d3b7dd8, 0x3c14f66c, 0x3d97ada1,
0x3d6e9dc3, 0x3c5667b4, 0xbdba6bf3, 0x3c357b4f, 0x3cd5195d, 0x3d88d47c, 0x3d3f8cd2, 0xbd27d352,
0x3c624d6f, 0x3c221c03, 0x3d830365, 0xbc8ea00f, 0x3d0fbd97, 0x3d784d91, 0xbd2c3cc7, 0x3d5c4bfd,
0x3d15045b, 0x3cff16ab, 0xbc108817, 0xbcff52e8, 0x3caf6f20, 0xbcebaf4c, 0xbb09049e, 0x3d86f7a9,
0x3d43176f, 0xbd9d1e0d, 0xbcad86da, 0xbd7e30f1, 0xbd82e779, 0xbd65a225, 0xbc5a4a95, 0x3d158d74,
0x3da1f13a, 0x3d28be81, 0xbd713ad0, 0x3d562d89, 0xbc9f8b99, 0x3ca60b5b, 0x3d5637e6, 0xbc36ec4c,
0xbcdf5422, 0x3c74731a, 0xbd8079a5, 0xbd1c8a8a, 0x3ca97634, 0x3d173cd0, 0xbd4804db, 0xbd5fee9c,
0xbc995906, 0x3c190829, 0x3dcb2052, 0xbb0b133f, 0x3d15d2c0, 0x3c8ebfa7, 0xbcba03b4, 0xbda5e13d,
0xbd85cc61, 0xbd527290, 0xbc952c89, 0x3d4c8ca3, 0x3bffefc1, 0x3cbf8340, 0x3c11b455, 0xbd85a7ec,
0xbd501508, 0xbd673c39, 0xbd0c264d, 0x3d8b540c, 0xbd598dd4, 0xbd53b9bd, 0x3d671045, 0x3c819ccb,
0xbba0590c, 0x3d7d8509, 0x3d3d002e, 0xbcb19f20, 0xbd0d115b, 0x3afeda62, 0x3d95993b, 0xbd63b2a6,
0x3d14d4fa, 0x3d164999, 0xbced5061, 0xbc91cd86, 0x3baceb55, 0xbc1edae7, 0xb9f81cbf, 0x3d5a3036,
0x3c579157, 0xbd62cafa, 0x3d8046f2, 0x3d2b2b21, 0xbcea1f03, 0xbd41cf82, 0xbd4eb471, 0xbd9980cc,
0x3bee2334, 0xbd79f426, 0xbdc9b527, 0x3daa245e, 0xbd16227f, 0xbc9be38f, 0xbcd3da20, 0xbdbd9bc5,
0xbc1c104f, 0x3c2cdf46, 0xbce53658, 0xbd857b12, 0xbcd06a24, 0x3d07a2f9, 0xba665de9, 0x3d396b16,
0xbd8dc8c7, 0xbd794a82, 0x3d39db37, 0x3d555dc1, 0x3c8cd934, 0xbbd9aeb1, 0xbb8442db, 0xbc322294,
0x3c1a7eac, 0xbd9810c3, 0xbd2e058f, 0x3bd45d56, 0xbd481c76, 0xbd5aa654, 0xbd786e0a, 0xbc042ade,
0xbd37e639, 0x3ca10572, 0xbcbee6c5, 0xbbbd35f3, 0x3b139c9c, 0xbcfc8b94, 0x3d4afe37, 0xbd7a1a97,
0x3c2f306c, 0x3d7958f8, 0xbd6ea79e, 0xbc94c1f3, 0x3d98edd2, 0x3d14ea61, 0xbd92da91, 0xbd330d01,
0x3c8ffb64, 0xbd6fdd85, 0x3de4a680, 0xbd048e34, 0xbc14f423, 0xbd24daf8, 0x3d256b34, 0x3dd51020,
0x3b5901c9, 0xbd22c49b, 0xbdbf1997, 0x3ca8d7c2, 0xbc82a963, 0xbd380ecb, 0x3ca01b1e, 0xbbf4e08e,
0x3d8d38d9, 0xbd7e8ea4, 0x3d450894, 0x3daeca69, 0x3c397c6d, 0x3d21d445, 0x3b927e41, 0x3cfb7049,
0xbd00d873, 0xbc9d6982, 0xbcf04b5c, 0xbcaf7c66, 0xbd21b834, 0x3abb5196, 0xbd739497, 0xb707c648,
0xbcc296b4, 0xbb9f05a3, 0x3c9fb380, 0xbcd53c60, 0xba86a8be, 0x3d550704, 0x3d359755, 0xbcc20a58,
0xbdd4fb0f, 0x3cbcfc9e, 0x3cce56fc, 0x3da32abd, 0x39ead3d9, 0xbcb837a7, 0xbd08a0b1, 0xbda3aa76,
0xbd51d826, 0x3c015baa, 0xbd8e17e3, 0x3d5a9df3, 0xbd42f146, 0xbdabc946, 0xbd26a404, 0x3d5dc67f,
0x3d7c4718, 0x3c801e13, 0xbd1cada5, 0x3c849102, 0xbd0eef17, 0x3da18abf, 0x3d393775, 0xbccf29e6,
0xbd80e441, 0x3ca70ae6, 0x3dac3f2f, 0xbdcb1018, 0xbca94d69, 0x3c8f39aa, 0xbcc2ac5f, 0x3d5cae2b,
0xbd2d74d1, 0x3cedcc45, 0x3b46e7e5, 0x3b1c8ff0, 0x3be116ba, 0x3b3df1c6, 0xbcc35419, 0xbccc3c2b,
0xbcba2b1f, 0x3c945205, 0xbd1d8707, 0xbc347d7b, 0xbccb191e, 0x3d4dd2c9, 0xbcdb554d, 0x3d1c8ad6,
0x3baf301a, 0x399c5b34, 0x3a33ec0b, 0xbd1350d4, 0xbc3816d5, 0xbcb222be, 0x3d35660f, 0x3d120258,
0x3c40f955, 0x3cf4979a, 0x3d3b46ed, 0x3d2d8f2b, 0xbcfddbe7, 0x3ca5bcf9, 0x3b09a9cf, 0xbc20f45e,
0x3c6cc785, 0x3c7b3e6f, 0x3bef12d7, 0x3ca63d92, 0x3ce41e85, 0xbd161fd6, 0x3c7a4ab7, 0xbccf51b3,
0xbc4894a9, 0xbd41b284, 0x3d1d376c, 0xbb9038fa, 0x3cc603e6, 0x3c3e1753, 0x3b82715f, 0x3ce7095f,
0xbcf37251, 0xbcd2a139, 0xbcfbad13, 0x3cb6d0e9, 0xbcc37684, 0xbd00d6a6, 0x3c87f9f8, 0x3d1351d5,
0x3c8733ef, 0xbd0085d7, 0xbc4de68d, 0x3ad7ed2c, 0xbca9486e, 0x3cf9e9d5, 0xbd4acb8a, 0x3d4fbe84,
0xba9e7046, 0x3bdda189, 0x3ba8a9b9, 0x3c832294, 0xbcccdd07, 0xbbc8defc, 0x3c2728e0, 0x3adeb24d,
0xbcd35b81, 0x3ceb28af, 0x3c08d036, 0x3ce9d2ab, 0x3d052bac, 0x3d3a9aff, 0xbd4850fa, 0x3d085205,
0xbd1c02f8, 0xbcc29d11, 0xbd5b2df6, 0x3ca6b2dd, 0xbcf50f4d, 0xbc5b2aee, 0x3bce6381, 0xbc93fc61,
0x3c1a0a9e, 0x3c831cf7, 0xbc841209, 0x3d16df40, 0xbbcc0228, 0x3d228d4e, 0xbd3d52d1, 0x3dab4a1c,
0x3d050860, 0x3d1f2ee3, 0xbb07693d, 0xbc1086f3, 0xbc4d6840, 0x3d140cb1, 0xbd0557e4, 0xbd575c45,
0xbd4b1b3b, 0x3a64e280, 0xbcb11000, 0x3d17f0b7, 0xbb6f4ad0, 0xbd2c8d39, 0x3d59e402, 0xbb017742,
0xbd2bff48, 0xbd82cd1f, 0x3c9431b5, 0xbd64ba09, 0xbd5b0d6e, 0x3c2279fe, 0x3cea7516, 0x3d774ed7,
0x3d881c55, 0xbd08a166, 0xbc959b52, 0x3b98c89b, 0xbc643a51, 0x3d387284, 0x3cd8197e, 0x3cd8dd42,
0x3d24d3ce, 0x3d0a6f48, 0xbd3ca045, 0xbd1a2ccb, 0xbbb27187, 0x3ba4d624, 0xbd5d58c7, 0xbcf52511,
0xbd27c95c, 0x3c8297d2, 0xbd031183, 0x3bde1b12, 0xbd0e7e67, 0x3d60d4e4, 0x3d810626, 0x3ce3c04c,
0xbcdcc505, 0xbd453a32, 0x3a57b57b, 0xbd214db1, 0xbd08f466, 0xbca0d4ee, 0xbd60b865, 0x3d2bf646,
0x3d0fbe1a, 0xbaf698d2, 0xbc9d01aa, 0x3d0c8aa1, 0x3cc8d69c, 0x3be41959, 0x3d242a24, 0x3c1a1263,
0xbcb625c8, 0xbc9b5b1a, 0x3c44349d, 0x3cc5260e, 0xbd2e0088, 0x3c90d228, 0xbcb659d9, 0x3d090e50,
0xbbf3378b, 0xbc384a18, 0xbc270648, 0x3c0f8823, 0xbd4e6cf3, 0x3d373d9c, 0xbd0d303a, 0xbd2dace7,
0x3ca927b2, 0xbd41b5c4, 0xbcad02ae, 0xbd6120bc, 0x3c164ec8, 0x3d8bf70b, 0x3c884340, 0x3dcfde21,
0x3c19e2ef, 0x3c68db82, 0xbd538552, 0xbb4759ba, 0x3c4d8119, 0x3d1f6f38, 0xbcf938cc, 0x3d694a55,
0x3c09fd3d, 0x3b9c584c, 0xbd3e7fa7, 0x3d276f42, 0x3d1a8abd, 0xbcd03677, 0xbccdf31a, 0xbc388770,
0xbc57b522, 0x3cec2d76, 0x3c2980dc, 0x3cba75b8, 0xbc122472, 0x3c8b0276, 0xbce45e1f, 0x3ce7ad71,
0xbd110ad9, 0x3d3bed0c, 0xbc6edfb7, 0x3cb3de2a, 0x3ceed21c, 0x3b1f2c78, 0x3bfbed9a, 0xbae49a72,
0x3ced6ef6, 0xbce5f751, 0x3d006886, 0x3c96814f, 0xbc9a801d, 0x3ce2359e, 0x3d10966a, 0x3c57da16,
0xbc8fcd4b, 0xbbe0e323, 0xbbd20791, 0x3d5e58d6, 0xbc52edbc, 0x3b17fc81, 0xbb822850, 0xbd41dc58,
0x3ce3caf5, 0xbc0faaa8, 0xbc9943fa, 0xbd0ce869, 0xbc80d353, 0xb9f93177, 0xbca8129e, 0x3bc0dae3,
0xbd1d5735, 0xbc8097ec, 0xbcb734a6, 0xbd2da46d, 0x3cd47ee4, 0x3cc70bbc, 0x3b1e9820, 0xbc936b89,
0xbcf5a6b3, 0xbcb1b581, 0x3cc687f2, 0x3c08a94d, 0xbca3c3f4, 0x3c0f37d6, 0x3acac9d9, 0x3d428cc1,
0x3cbfb9ff, 0xbcddeded, 0x3a91894c, 0x3d3cc5ea, 0xbc9ecfc4, 0xbc0ed9e7, 0x3ce398b4, 0xbd20a80b,
0x3d1a9027, 0x3c9cee7d, 0xbc1b1478, 0x3ca30508, 0x3d147189, 0xbc58e8a3, 0xbcc92c8f, 0x3c8a04c1,
0xbcc3f6bf, 0x3d44bd04, 0xbd36e2a8, 0xbd1c56f1, 0xbc1867b2, 0xbcb12bdb, 0x3cfae72d, 0xbd1e9d89,
0x3c81c732, 0xbc3d364c, 0x3d854063, 0x3caa932b, 0xbd318cfa, 0x3d645ec7, 0xbd0a5943, 0x3d467352,
0xbbc84368, 0xbd0d4b43, 0x3c6ab529, 0x3d6d4fb5, 0xbcde1b75, 0xbcda3d2a, 0xbc9c0fcf, 0xbd5cf40b,
0xbc916ebf, 0x3c9f2ec6, 0x3d43a550, 0xbcda908d, 0xbc5aa1d1, 0xbc8ad51b, 0xbbd9f45b, 0xbc585820,
0xbd5d4c70, 0x3d1f7a56, 0xbd712dbe, 0xbd1a5d46, 0x3cb02599, 0x3bb7596c, 0x3d64774b, 0x3d2dd1c1,
0xbbe5a79d, 0xbcb46ce5, 0x3d061e9e, 0x3d5da336, 0xbc7ed625, 0x3a5606f6, 0xbd1046ad, 0xbb8988dd,
0xbcde4f22, 0x3cf65017, 0xbce218d2, 0x3d4b6569, 0xbd38ab5f, 0xbc3b918c, 0xbc270c43, 0x3cd2ba62,
0x3d05e9e7, 0x3d118148, 0x3d5cb9b5, 0x3ca93e2e, 0xbcad9c3c, 0xbcd32ad1, 0x3badc5e7, 0x3cbef64f,
0xbb551a0d, 0x3c72d1fb, 0xbce9cc98, 0xbcc28a15, 0xbc898369, 0xbd07b264, 0xbc9474d1, 0x3d297222,
0xbd06b965, 0x3cb81d0a, 0x3d2c1239, 0x3d487cf6, 0x3cb152cd, 0xbb15e4f0, 0x3c93843f, 0x3d87d08c,
0x3d0501d4, 0x3c2f17ea, 0xbbb39a9e, 0xbcb992eb, 0x3d0021fc, 0xbc717c02, 0xbd499be1, 0xbd40d6c3,
0x3c216193, 0xbcce6cc6, 0x3c9e50bd, 0x3c0c8ed7, 0xbc3c0e9a, 0x3ccc794c, 0xbc892d0e, 0xbc000232,
0xbd1c5a7d, 0x3aea9df3, 0x3b5b442f, 0x3c672976, 0xbc576569, 0x3b9066b4, 0x3d464e9c, 0xbd0efffb,
0xbd159583, 0x3c902309, 0x3c1ce9a1, 0x3d29f931, 0xbb1e69d1, 0xbd754948, 0xbcdd293f, 0xbd694002,
0x3d15c916, 0xbc9db074, 0xbb4ee5ad, 0xbd391d32, 0xbd61f5b5, 0x3bb922dc, 0x3c6ab2ad, 0xbd53f7a1,
0xbc3c6c22, 0xbcf0f84d, 0xbc7896d3, 0xbbfd8979, 0xbd174ce0, 0x3ca64a9c, 0x3d410d20, 0x3b55ae1d,
0x3cc5dca0, 0xbd052b69, 0x3ce2ce15, 0x3cdcdee1, 0xbd1237fe, 0x3bb71392, 0xbd01c868, 0xbd05c16a,
0xbc1fed13, 0xbbbbd81d, 0xbcf14fdf, 0xbcb126de, 0x3b0c6acf, 0xbd19dcbc, 0xbce0fcea, 0x3c06b51c,
0xbc983670, 0x3d1ae883, 0xbc076c17, 0xbce2ad6b, 0xbca6a8e2, 0xbc86daad, 0x3c786860, 0xbcf47c9f,
0xbb936348, 0xb9f844d2, 0xbcc3a23c, 0xbc8f8143, 0xbd76181c, 0xbc578576, 0xbd7e961d, 0x3cd8c132,
0xbc660556, 0xbd298864, 0xbc8d9c41, 0x3cb38e78, 0x3cc2b227, 0x3d311f13, 0xbbe209ed, 0x3ca29fe0,
0x3b9d8229, 0xbcf6d00b, 0xbd253009, 0xbd2a5221, 0x3c4b5982, 0xbd8491bf, 0xbc621769, 0x3b8c6545,
0xbcc5b322, 0xbcf23e74, 0xbc1de42f, 0xbc06f5a8, 0xbcfd28c5, 0xbc13cb02, 0x3d045a51, 0x3c6d6326,
0xbb7d0187, 0x3c88a6ef, 0x3c4b8413, 0x3d2d3b93, 0xbd07aed0, 0x3d1f275a, 0x3c998b02, 0xbd3442ac,
0x3ba39735, 0x3c07f8c1, 0xbc9a2696, 0x3cf2b6ac, 0xbca9e08d, 0xbc6bbca3, 0xbc2e8c04, 0xbca0ad44,
0xbc9ca943, 0x3d3751e2, 0xbd0ca548, 0xbd714cd0, 0xbd2bc9bc, 0x3cb3f57e, 0xbc92ac58, 0x3d02e84c,
0x3cf143fd, 0x3c375edf, 0xbc13417b, 0xbcbc95e8, 0x3cca97d0, 0xbd871533, 0x3a32553a, 0x3cb73845,
0xbc8d3755, 0x3d60a24c, 0x3cf0ccf9, 0xbd45fe35, 0xbd4215a8, 0x3c0f7f88, 0xbd913641, 0x3c4a3391,
0x3d4235ca, 0xbd7f14a3, 0x3d49710e, 0x3d14ddb7, 0xbd01ff42, 0x3b66452f, 0xbd2c954a, 0x3d1a089b,
0x3d5b0d4c, 0x3da131e5, 0xbd98fd28, 0x3c13369e, 0xbbdb8f1f, 0xbcd80684, 0xbd8dfb7a, 0xbd821c75,
0x3d030ba2, 0xbd89ee63, 0xbc921ca5, 0xbbe5cd33, 0x3d428d61, 0xbd0d14ab, 0x3cc42e5a, 0xbd8dbe6d,
0x3cf43625, 0xbda4e1bb, 0x3d6e803f, 0xbbc05fbb, 0x3d90525a, 0xbce6dcf6, 0x3da3cc18, 0xbdc11c87,
0x3c59dc51, 0xbb73572d, 0x3c91fbc1, 0xbd0009a8, 0x3c948a62, 0x3d7dcda4, 0xbd25f961, 0x3d3eabe8,
0x3c25f285, 0x3b05b6fe, 0x3d7cd0cd, 0xbca5257e, 0xbcdfb566, 0xbd64d07e, 0xbbc31e3c, 0x3cbf1996,
0xbd028b1d, 0xbd0514d3, 0x3cb43859, 0xbd40943e, 0xbd8c1e14, 0x3c386e4f, 0xbc613027, 0x3d086a56,
0xbd79e35d, 0x3c6320e4, 0x3d8f75dc, 0x3d3ee0bd, 0xbce659e9, 0xbd809050, 0x3c9d95c6, 0x3d1fca08,
0xbc36b1da, 0x3b401d3d, 0xbd213bf5, 0x3d38504f, 0x3d5dc5bd, 0xbc4a4930, 0x3d83f4b4, 0x3d8c3e7d,
0xbd450a00, 0x3c2a8524, 0xbdb29f0c, 0xbbe69690, 0x3d3dd4c2, 0xbc6a5397, 0x3be62811, 0xbca8f1e1,
0xbccfec55, 0x3c7813b3, 0x3cfbf20c, 0xbb3713ae, 0x3d35c0c1, 0x3b460aa9, 0x3c27e870, 0xbc150071,
0x3d54ee90, 0x3c55ea8a, 0xbd074392, 0x3bef7681, 0x3bb8ca1d, 0xbd177d6a, 0xbcb86a1d, 0xbcf44904,
0x3d32134a, 0x3c8e3cee, 0x3bcb442d, 0x3b1d75a8, 0xbc1f0ec3, 0x3d613fda, 0x3c8c19c6, 0xbd113948,
0xbcc3851d, 0xbc985465, 0x3d17104c, 0xbbbae322, 0xbc481f1b, 0xbd000c07, 0x3c449b15, 0x3cabd1b8,
0xbd20530f, 0xbd0ffcd7, 0xbcb6cf5b, 0xb98db48d, 0x3d52ecc9, 0x3d36f55b, 0xbca5b87f, 0x3b946e57,
0xbc140acb, 0x3cc25580, 0xbcd5ed80, 0x3d4632bd, 0x3c186001, 0x3bc07f34, 0x3d4fac04, 0xbc819abc,
0x3c9ad5f8, 0x3d38e2e1, 0x3c6e9728, 0x3c99e1bf, 0x3c1a199a, 0x3ccde419, 0xbc8ec803, 0xbd388d26,
0xbd0a4ccd, 0xbce85f86, 0x3d56213b, 0xbd0e1e87, 0xbcf3474b, 0xbc87722d, 0xbb48a4a4, 0x38c1fe91,
0xbcc81c42, 0xbcd7e977, 0xbd01d720, 0xbc222717, 0x3d4e392f, 0x3cf20fae, 0xbd1e2424, 0xbd2ee942,
0x3c9abe9f, 0xbce5562e, 0xbd825870, 0xbb9c8721, 0xbc981bac, 0xbc956860, 0x3d497eff, 0xbd0b4861,
0x3c5e3734, 0xbcb2b782, 0xbc2e3f9e, 0xbc0a073b, 0x3bd37c0a, 0x3cf92706, 0xbc30f4e3, 0xbd4af0e0,
0xbcbb5db1, 0xbd0d8c22, 0x3d128b72, 0xbcffdcec, 0xbc252194, 0xbd015db5, 0xbc803619, 0xbd840da9,
0xbd3fd211, 0x3d1c6712, 0x3d5cde5c, 0x3bcc0a65, 0xbcbebe65, 0xbd005eae, 0x3cc2d459, 0xbd2e3cf8,
0xbcab1f16, 0xbd714f53, 0xbd1ebcf3, 0x3d509d80, 0x3cb1adb5, 0xbd83930e, 0x3d501a0c, 0xbd0d4a4f,
0xbccb9e2a, 0xbce9e876, 0xbc72bd53, 0x3a96db31, 0xbd126ef5, 0xbd0e43b2, 0xbd59ab65, 0xbc85b8c9,
0x3ca9a870, 0xbcfdb359, 0x3d308def, 0x3b394ee7, 0x3d4592af, 0xbd7f867d, 0xbc5da1aa, 0x3cbb3401,
0x3cd54780, 0xbc912659, 0x3c787817, 0xbd6abaeb, 0xbd64a26b, 0x3ccfa892, 0x3d1879b4, 0x3d65e227,
0xbd42b477, 0x3d8ea3d9, 0x3b2f8ba1, 0x3ca2b27e, 0xbb53d571, 0x3b8be6da, 0xbd30d030, 0xbd07ae06,
0xbce37e0a, 0x3cc63125, 0x3cff2834, 0x3bdd8047, 0x3c22f22f, 0xbd140b84, 0xbc8e5ad0, 0x3d75b65f,
0xbb53823d, 0xbcba490f, 0xbd9b68ee, 0xbc291dd2, 0x3d4b75a6, 0xbc977ae4, 0xbd66beb8, 0x3d4a7c15,
0xbd241224, 0xbc78b703, 0xb988bf83, 0x3d941b91, 0xbc308597, 0xbd91efb4, 0x3d7b58bf, 0x3c9b2cd6,
0xbce74a3b, 0xbd68a2de, 0x3cd645bb, 0xbc90e4b1, 0x3d5af43e, 0xbd776f92, 0xbda4e8a0, 0x3c44a5cb,
0x3c112dd0, 0xbd72d9bc, 0x3b1468b6, 0x3ba7ee3d, 0xbcfad358, 0xbc7c1408, 0xbd9bb0e6, 0x3d8b7bb0,
0x3d7bded7, 0x3dab106d, 0xbcee6acd, 0xbb769e77, 0x3d3cc70e, 0xbda5f428, 0xbbecfe9b, 0xbb5162e8,
0xbc4eab9a, 0xbd751a33, 0x3d5f3418, 0x3d29dd9e, 0xbc10868e, 0xbd185058, 0x3c7d25c5, 0x3be80422,
0x3d6b9c4f, 0x3d1d94b5, 0x3d51f274, 0xbd1da268, 0x3d1d6340, 0xbc5ee4df, 0x3d0430b4, 0xbbedb1d8,
0x3c40e40a, 0x3d5e0b61, 0x3cff7346, 0xbd731946, 0xbc0517f5, 0x3c68b292, 0xbc903094, 0xbd54a305,
0xbd9f6fcc, 0x3aab5ad9, 0x3d2924e4, 0x3d2d92fb, 0x3c3ea65a, 0xbc0e80c7, 0xbd31b724, 0x3b3b9e92,
0x3c96aef7, 0xbdaeca9d, 0xbd915f86, 0x3b353b46, 0x3c298d1f, 0xbdcbd74b, 0xbc04958e, 0xbcc1ced6,
0xbd6a43b0, 0x3cf4ce43, 0x3d856451, 0xbcbb663f, 0x3d99afe1, 0xbd3e5224, 0xbd87e296, 0x3d6da07e,
0xbc4e74d9, 0x3d55c0ab, 0xbd825188, 0x3d1cc30a, 0x3da54d5b, 0x3d112deb, 0xbd42532e, 0x3a3e10fc,
0xbd5c9c52, 0xbb6a740f, 0x3d32507e, 0xbc1f0e8c, 0x3d820c11, 0x3ceb0260, 0x3ba2bed7, 0xbd526e30,
0x3d56526c, 0xbd4c39b8, 0x3d94dfb3, 0xbd2b2bd3, 0xbce6f088, 0x3d692135, 0xbb3c5261, 0x3d3f9928,
0x3c9c3bb5, 0x3b33014a, 0x3ccb2e52, 0xbd10c45e, 0xbda0f0fb, 0x3d2b1f86, 0xbcb0cdab, 0xbbb0194d,
0x3d857075, 0x3d2699d8, 0x3d569659, 0xbd241a98, 0xbcecf16e, 0xbc6c1473, 0x3cd74a37, 0x3d055e88,
0xbb91da51, 0x3c7f6c39, 0xbd4b12e8, 0x3ca1771d, 0x3cc89de5, 0x3c5f0411, 0x3c841212, 0xbd73bc03,
0xbc32dd8f, 0x3d57e7df, 0x3d5cdf3a, 0x3ce0715d, 0x3cbd3513, 0xbcb59c47, 0xbca475fe, 0x3b0248df,
0xbd70e3c2, 0x3cfbf735, 0xbcb9dc1d, 0x3d225bd8, 0xbb1bae53, 0x3d753bfa, 0x3d0b14d5, 0xbc039b1c,
0xbd36c1c2, 0x3d2c8e3e, 0x3d7273eb, 0xb9801919, 0xbd10bfd2, 0x3d2b8e9a, 0x3cd962eb, 0x3d0c6627,
0x3c9b1b07, 0x3d1d87b2, 0x3d002fc0, 0xbcd60c0a, 0x3cb6bed8, 0x3d84222a, 0xbcebd4e1, 0x3d2fe2e5,
0xbce54992, 0xbc46f1bf, 0xbbb35c4b, 0x3c0dde62, 0x3b8d1a9a, 0xbca42988, 0x3c92b8cf, 0x3c11220a,
0xbda976a6, 0xbc49150e, 0x3d77b479, 0xbbce38c0, 0xbd2d660d, 0xbd6b57f6, 0xbd80d23b, 0xbc78f37a,
0xbabc9bb5, 0xbd6986c1, 0x3befd839, 0xbd1ed91f, 0xbd10732c, 0xbd39776f, 0xbd8b17d5, 0x3d1fc7de,
0xbc0a5775, 0x3cf50205, 0xbdcc3272, 0x3d18063c, 0x3d5e34c5, 0xbd44f1ce, 0xbbcd5443, 0xbd5427b3,
0x3cff6326, 0xbcfd23d2, 0xbd5e7bb9, 0x3cbc9341, 0xbcab0eb5, 0x3d0f872f, 0x3ca7cb95, 0x3c30406e,
0xbba9d1ec, 0xbc8a795d, 0x3d1cfceb, 0x3c12f66f, 0xbd643270, 0xbcb0d2d7, 0x3d87b372, 0xbd27ed5d,
0xbc9ab3fa, 0xbd501f4e, 0xbbbdcc39, 0x3bf664cf, 0xbcc36f40, 0x3be01772, 0xbda3f487, 0xbccb197c,
...
This file has been truncated, please download it to see its full contents.
/*
* ImagiNet Compiler 5.3.2569+c38e822c721f137984639bf6e13e3974e71c734c
* Copyright 2023- Imagimob AB, All Rights Reserved.
*
* Generated at 04/20/2025 21:29:52 UTC. Any changes will be lost.
*
* Model ID 2b5eacdb-01b1-4155-a17e-31be66c5b2b5
*
* Memory Size Efficiency
* Buffers 1536 bytes (RAM) 100 %
* State 22232 bytes (RAM) 100 %
* Readonly 51548 bytes (Flash) 100 %
*
* Exported functions:
*
* @description: Try read data from model.
* @param data_out Output features. Output float[4].
* @return IPWIN_RET_SUCCESS (0) or IPWIN_RET_NODATA (-1), IPWIN_RET_ERROR (-2), IPWIN_RET_STREAMEND (-3)
* int IMAI_dequeue(float *data_out);
*
* @description: Try write data to model.
* @param data_in Input features. Input float[2,3].
* @return IPWIN_RET_SUCCESS (0) or IPWIN_RET_NODATA (-1), IPWIN_RET_ERROR (-2), IPWIN_RET_STREAMEND (-3)
* int IMAI_enqueue(const float *data_in);
*
* @description: Closes and flushes streams, free any heap allocated memory.
* void IMAI_finalize(void);
*
* @description: Initializes buffers to initial state.
* @return IPWIN_RET_SUCCESS (0) or IPWIN_RET_NODATA (-1), IPWIN_RET_ERROR (-2), IPWIN_RET_STREAMEND (-3)
* int IMAI_init(void);
*
*
* Disclaimer:
* The generated code relies on the optimizations done by the C compiler.
* For example many for-loops of length 1 must be removed by the optimizer.
* This can only be done if the functions are inlined and simplified.
* Check disassembly if unsure.
* tl;dr Compile using gcc with -O3 or -Ofast
*/
#include <stdint.h>
#define IMAI_API_QUEUE
typedef int8_t q7_t; // 8-bit fractional data type in Q1.7 format.
typedef int16_t q15_t; // 16-bit fractional data type in Q1.15 format.
typedef int32_t q31_t; // 32-bit fractional data type in Q1.31 format.
typedef int64_t q63_t; // 64-bit fractional data type in Q1.63 format.
// Model GUID (16 bytes)
#define IMAI_MODEL_ID {0xdb, 0xac, 0x5e, 0x2b, 0xb1, 0x01, 0x55, 0x41, 0xa1, 0x7e, 0x31, 0xbe, 0x66, 0xc5, 0xb2, 0xb5}
// First nibble is bit encoding, second nibble is number of bytes
#define IMAGINET_TYPES_NONE (0x0)
#define IMAGINET_TYPES_FLOAT32 (0x14)
#define IMAGINET_TYPES_FLOAT64 (0x18)
#define IMAGINET_TYPES_INT8 (0x21)
#define IMAGINET_TYPES_INT16 (0x22)
#define IMAGINET_TYPES_INT32 (0x24)
#define IMAGINET_TYPES_INT64 (0x28)
#define IMAGINET_TYPES_Q7 (0x31)
#define IMAGINET_TYPES_Q15 (0x32)
#define IMAGINET_TYPES_Q31 (0x34)
#define IMAGINET_TYPES_BOOL (0x41)
#define IMAGINET_TYPES_STRING (0x54)
#define IMAGINET_TYPES_D8 (0x61)
#define IMAGINET_TYPES_D16 (0x62)
#define IMAGINET_TYPES_D32 (0x64)
#define IMAGINET_TYPES_UINT8 (0x71)
#define IMAGINET_TYPES_UINT16 (0x72)
#define IMAGINET_TYPES_UINT32 (0x74)
#define IMAGINET_TYPES_UINT64 (0x78)
// data_out [4] (16 bytes)
#define IMAI_DATA_OUT_RANK (1)
#define IMAI_DATA_OUT_SHAPE (((int[]){4})
#define IMAI_DATA_OUT_COUNT (4)
#define IMAI_DATA_OUT_TYPE float
#define IMAI_DATA_OUT_TYPE_ID IMAGINET_TYPES_FLOAT32
#define IMAI_DATA_OUT_SHIFT 0
#define IMAI_DATA_OUT_OFFSET 0
#define IMAI_DATA_OUT_SCALE 1
#define IMAI_DATA_OUT_SYMBOLS {"unlabelled", "Need Maintenance", "Severe Failure", "Normal"}
// data_in [2,3] (24 bytes)
#define IMAI_DATA_IN_RANK (2)
#define IMAI_DATA_IN_SHAPE (((int[]){3, 2})
#define IMAI_DATA_IN_COUNT (6)
#define IMAI_DATA_IN_TYPE float
#define IMAI_DATA_IN_TYPE_ID IMAGINET_TYPES_FLOAT32
#define IMAI_DATA_IN_SHIFT 0
#define IMAI_DATA_IN_OFFSET 0
#define IMAI_DATA_IN_SCALE 1
#define IMAI_DATA_IN_SYMBOLS { }
#define IMAI_KEY_MAX (7)
// Return codes
#define IMAI_RET_SUCCESS 0
#define IMAI_RET_NODATA -1
#define IMAI_RET_ERROR -2
#define IMAI_RET_STREAMEND -3
#define IPWIN_RET_SUCCESS 0
#define IPWIN_RET_NODATA -1
#define IPWIN_RET_ERROR -2
#define IPWIN_RET_STREAMEND -3
// Exported methods
int IMAI_dequeue(float *restrict data_out);
int IMAI_enqueue(const float *restrict data_in);
void IMAI_finalize(void);
int IMAI_init(void);
#ifdef IMAI_REFLECTION
typedef enum {
IMAI_PARAM_UNDEFINED = 0,
IMAI_PARAM_INPUT = 1,
IMAI_PARAM_OUTPUT = 2,
IMAI_PARAM_REFERENCE = 3,
IMAI_PARAM_HANDLE = 7,
} IMAI_param_attrib;
typedef char *label_text_t;
typedef struct {
char* name;
int size;
label_text_t *labels;
} IMAI_shape_dim;
typedef struct {
char* name;
IMAI_param_attrib attrib;
int32_t rank;
IMAI_shape_dim *shape;
int32_t count;
int32_t type_id;
float frequency;
int shift;
float scale;
long offset;
} IMAI_param_def;
typedef enum {
IMAI_FUNC_ATTRIB_NONE = 0,
IMAI_FUNC_ATTRIB_CAN_FAIL = 1,
IMAI_FUNC_ATTRIB_PUBLIC = 2,
IMAI_FUNC_ATTRIB_INIT = 4,
IMAI_FUNC_ATTRIB_DESTRUCTOR = 8,
} IMAI_func_attrib;
typedef struct {
char* name;
char* description;
void* fn_ptr;
IMAI_func_attrib attrib;
int32_t param_count;
IMAI_param_def *param_list;
} IMAI_func_def;
typedef struct {
uint32_t size;
uint32_t peak_usage;
} IMAI_mem_usage;
typedef enum {
IMAI_API_TYPE_UNDEFINED = 0,
IMAI_API_TYPE_FUNCTION = 1,
IMAI_API_TYPE_QUEUE = 2,
IMAI_API_TYPE_QUEUE_TIME = 3,
IMAI_API_TYPE_USER_DEFINED = 4,
} IMAI_api_type;
typedef struct {
uint32_t api_ver;
uint8_t id[16];
IMAI_api_type api_type;
char* prefix;
IMAI_mem_usage buffer_mem;
IMAI_mem_usage static_mem;
IMAI_mem_usage readonly_mem;
int32_t func_count;
IMAI_func_def *func_list;
} IMAI_api_def;
IMAI_api_def *IMAI_api(void);
#endif /* IMAI_REFLECTION */
/******************************************************************************
* File Name: main.c
*
* Description: This is the main file for mtb-example-ml-deepcraft-deploy-motion
* Code Example.
*
* Related Document: See README.md
*
*
*******************************************************************************
* Copyright 2024-2025, Cypress Semiconductor Corporation (an Infineon company) or
* an affiliate of Cypress Semiconductor Corporation. All rights reserved.
*
* This software, including source code, documentation and related
* materials ("Software") is owned by Cypress Semiconductor Corporation
* or one of its affiliates ("Cypress") and is protected by and subject to
* worldwide patent protection (United States and foreign),
* United States copyright laws and international treaty provisions.
* Therefore, you may use this Software only as provided in the license
* agreement accompanying the software package from which you
* obtained this Software ("EULA").
* If no EULA applies, Cypress hereby grants you a personal, non-exclusive,
* non-transferable license to copy, modify, and compile the Software
* source code solely for use in connection with Cypress's
* integrated circuit products. Any reproduction, modification, translation,
* compilation, or representation of this Software except as specified
* above is prohibited without the express written permission of Cypress.
*
* Disclaimer: THIS SOFTWARE IS PROVIDED AS-IS, WITH NO WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, NONINFRINGEMENT, IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cypress
* reserves the right to make changes to the Software without notice. Cypress
* does not assume any liability arising out of the application or use of the
* Software or any product or circuit described in the Software. Cypress does
* not authorize its products for use in any products where a malfunction or
* failure of the Cypress product may reasonably be expected to result in
* significant property damage, injury or death ("High Risk Product"). By
* including Cypress's product in a High Risk Product, the manufacturer
* of such system or application assumes all risk of such use and in doing
* so agrees to indemnify Cypress against all liability.
*******************************************************************************/
#include <float.h>
#include <stdbool.h>
#include "cyhal.h"
#include "cybsp.h"
#include "bmi270.h"
#include "cy_retarget_io.h"
/* Model to use */
#include <models/model.h>
/*******************************************************************************
* Macros
*******************************************************************************/
#define BMI270_ADDRESS (BMI2_I2C_PRIM_ADDR)
/* X, Y and Z axes */
#define AXIS_COUNT (3)
/* Total number of sensors - Accelerometer & Gyroscope */
#define SENSOR_COUNT (2)
/* Earth's gravity in m/s^2 */
#define GRAVITY_EARTH (9.80665f)
/* Accelerometer range in G. Must be one of 2, 4, 8, 16 */
#define IMU_ACCEL_RANGE_G (8)
/* Gyro range in degrees per second. Must be one of 125, 250, 500, 1000, 2000 */
#define IMU_GYRO_RANGE_DPS (500)
/* IMU Sample frequency (Hz), must be one of 25, 50, 100, 200, 400 */
#define IMU_FREQ (50)
/* I2C Config */
#define _I2C_TIMEOUT_MS (10U)
#define _READ_WRITE_LEN (46U)
#define _SOFT_RESET_DELAY_US (300)
/*******************************************************************************
* Function Prototypes
*******************************************************************************/
static void init_board(void);
static void halt_error(int code);
static void imu_init(struct bmi2_dev* imu);
static float imu_lsb_to_mps2(int16_t val, float g_range, uint8_t bit_width);
static float imu_lsb_to_dps(int16_t val, float dps, uint8_t bit_width);
static bool imu_read(struct bmi2_dev* imu, float* dest);
static BMI2_INTF_RETURN_TYPE _bmi2_i2c_read(
uint8_t reg_addr,
uint8_t* reg_data,
uint32_t len,
void* intf_ptr);
static BMI2_INTF_RETURN_TYPE _bmi2_i2c_write(
uint8_t reg_addr,
const uint8_t* reg_data,
uint32_t len,
void* intf_ptr);
static void _bmi2_delay_us(uint32_t us, void* intf_ptr);
/*******************************************************************************
* Function Name: main
********************************************************************************
* Summary:
* This is the main function for CM4 CPU. It initializes BSP, IMU and the ML model.
* It reads data from IMU sensor continuously, processes it within the model and
* displays the output.
*
* Parameters:
* void
*
* Return:
* int
*
*******************************************************************************/
int main(void)
{
float data_buffer[SENSOR_COUNT * AXIS_COUNT];
float label_scores[IMAI_DATA_OUT_COUNT];
char *label_text[] = IMAI_DATA_OUT_SYMBOLS;
struct bmi2_dev imu = {0};
cy_rslt_t result;
int16_t best_label;
float max_score;
/* Basic board setup */
init_board();
/* ANSI ESC sequence for clear screen */
printf("\x1b[2J\x1b[;H\x1b[?25l");
/* Initialize model */
result = IMAI_init();
halt_error(result);
/* Initialize IMU sampling */
imu_init(&imu);
/* Initialize the User LED */
result = cyhal_gpio_init(CYBSP_USER_LED1, CYHAL_GPIO_DIR_OUTPUT,
CYHAL_GPIO_DRIVE_STRONG, CYBSP_LED_STATE_ON);
/* GPIO init failed. Stop program execution */
if (result != CY_RSLT_SUCCESS)
{
CY_ASSERT(0);
}
result = cyhal_gpio_init(CYBSP_USER_LED2, CYHAL_GPIO_DIR_OUTPUT,
CYHAL_GPIO_DRIVE_STRONG, CYBSP_LED_STATE_ON);
for (;;)
{
/* Move cursor home */
printf("\033[H");
printf("Predictive Machine Maintenance\r\n\n");
//cyhal_gpio_write(CYBSP_USER_LED,CYBSP_LED_STATE_OFF);
/* Read sensor data */
memset(data_buffer, 0, sizeof(data_buffer));
if(!imu_read(&imu, data_buffer))
{
continue;
}
/* Give sensor data to model */
result = IMAI_enqueue(data_buffer);
halt_error(result);
/* Check if there is any model output */
best_label = 0;
max_score = -1000.0f;
switch(IMAI_dequeue(label_scores))
{
case IMAI_RET_SUCCESS: /* We have data, display it */
for(int i = 0; i < IMAI_DATA_OUT_COUNT; i++)
{
printf("label: %-10s: score: %f\r\n", label_text[i], label_scores[i]);
if (label_scores[i] > max_score)
{
max_score = label_scores[i];
best_label = i;
}
}
printf("\r\n");
printf("Output: %-30s\r\n", label_text[best_label]);
printf("\r\n");
printf("best lable: %d\r\n", best_label);
if(best_label >0 )
{
cyhal_gpio_write(CYBSP_USER_LED2,CYBSP_LED_STATE_OFF); //Turn RED LED ON WHEN ANOMALLY Detected
}
else {cyhal_gpio_write(CYBSP_USER_LED2,CYBSP_LED_STATE_ON);}
break;
case IMAI_RET_NODATA: /* No new output, continue with sampling */
break;
case IMAI_RET_ERROR: /* Abort on error */
halt_error(IMAI_RET_ERROR);
break;
}
}
}
/*******************************************************************************
* Function Name: init_board
********************************************************************************
* Summary:
* This function is a one-time setup for the board that initializes the device
* and board peripherals
*
* Parameters:
* void
*
* Return:
* void
*
*
*******************************************************************************/
static void init_board(void)
{
cy_rslt_t result;
/* Clear watchdog timer so that it doesn't trigger a reset */
#if defined (CY_DEVICE_SECURE)
cyhal_wdt_t wdt_obj;
result = cyhal_wdt_init(&wdt_obj, cyhal_wdt_get_max_timeout_ms());
CY_ASSERT(CY_RSLT_SUCCESS == result);
cyhal_wdt_free(&wdt_obj);
#endif
/* Initialize the device and board peripherals */
result = cybsp_init();
halt_error(result);
/* Enable global interrupts */
__enable_irq();
/* Initialize retarget-io to use the debug UART port */
result = cy_retarget_io_init_fc(
CYBSP_DEBUG_UART_TX,
CYBSP_DEBUG_UART_RX,
CYBSP_DEBUG_UART_CTS,
CYBSP_DEBUG_UART_RTS,
CY_RETARGET_IO_BAUDRATE);
halt_error(result);
}
/*******************************************************************************
* Function Name: halt_error
********************************************************************************
* Summary:
* This function halts the execution using an infinite loop. If the given
* parameter is 0 (for success) this function does nothing.
*
* Parameters:
* code Return code from the calling function
*
* Return:
* void
*
*
*******************************************************************************/
static void halt_error(int code)
{
if(code != 0) /* Universal success code */
{
for(;;) /* Infinite loop to halt the execution */
{
}
}
}
/*******************************************************************************
* Function Name: imu_init
********************************************************************************
* Summary:
* A function used to initialize and configure the BMI270 IMU sensor.
*
* Parameters:
* imu Pointer to the bmi2_dev structure.
*
* Return:
* void
*
*
*******************************************************************************/
static void imu_init(struct bmi2_dev* imu)
{
cy_rslt_t result;
static cyhal_i2c_t i2c;
struct bmi2_sens_config config[SENSOR_COUNT];
uint8_t sens_list[SENSOR_COUNT] = { BMI2_ACCEL, BMI2_GYRO };
/* I2C config structure */
cyhal_i2c_cfg_t i2c_config =
{
.is_slave = false,
.address = 0,
.frequencyhal_hz = 400000
};
/* Initialize I2C */
result = cyhal_i2c_init(&i2c, CYBSP_I2C_SDA, CYBSP_I2C_SCL, NULL);
halt_error(result);
/* Configure the I2C */
result = cyhal_i2c_configure(&i2c, &i2c_config);
halt_error(result);
/* Initializes the bmi270 IMU */
imu->intf = BMI2_I2C_INTF;
imu->read = _bmi2_i2c_read;
imu->write = _bmi2_i2c_write;
imu->delay_us = _bmi2_delay_us;
imu->intf_ptr = &i2c;
imu->read_write_len = _READ_WRITE_LEN;
imu->config_file_ptr = NULL;
result = bmi270_init(imu);
halt_error(result);
/* Get sensor configuration */
config[0].type = BMI2_ACCEL;
config[1].type = BMI2_GYRO;
result = bmi2_get_sensor_config(config, SENSOR_COUNT, imu);
halt_error(result);
/* Update the IMU configuration */
config[0].type = BMI2_ACCEL;
config[1].type = BMI2_GYRO;
switch(IMU_FREQ)
{
case 25:
config[0].cfg.acc.odr = BMI2_ACC_ODR_25HZ;
config[1].cfg.gyr.odr = BMI2_GYR_ODR_25HZ;
break;
case 50:
config[0].cfg.acc.odr = BMI2_ACC_ODR_50HZ;
config[1].cfg.gyr.odr = BMI2_GYR_ODR_50HZ;
break;
case 100:
config[0].cfg.acc.odr = BMI2_ACC_ODR_100HZ;
config[1].cfg.gyr.odr = BMI2_GYR_ODR_100HZ;
break;
case 200:
config[0].cfg.acc.odr = BMI2_ACC_ODR_200HZ;
config[1].cfg.gyr.odr = BMI2_GYR_ODR_200HZ;
break;
case 400:
config[0].cfg.acc.odr = BMI2_ACC_ODR_400HZ;
config[1].cfg.gyr.odr = BMI2_GYR_ODR_400HZ;
break;
case 800:
config[0].cfg.acc.odr = BMI2_ACC_ODR_800HZ;
config[1].cfg.gyr.odr = BMI2_GYR_ODR_800HZ;
break;
default:
halt_error(-1);
return;
}
switch(IMU_ACCEL_RANGE_G)
{
case 2:
config[0].cfg.acc.range = BMI2_ACC_RANGE_2G;
break;
case 4:
config[0].cfg.acc.range = BMI2_ACC_RANGE_4G;
break;
case 8:
config[0].cfg.acc.range = BMI2_ACC_RANGE_8G;
break;
case 16:
config[0].cfg.acc.range = BMI2_ACC_RANGE_16G;
break;
default:
halt_error(-1);
return;
}
switch(IMU_GYRO_RANGE_DPS)
{
case 125:
config[1].cfg.gyr.range = BMI2_GYR_RANGE_125;
break;
case 250:
config[1].cfg.gyr.range = BMI2_GYR_RANGE_250;
break;
case 500:
config[1].cfg.gyr.range = BMI2_GYR_RANGE_500;
break;
case 1000:
config[1].cfg.gyr.range = BMI2_GYR_RANGE_1000;
break;
case 2000:
config[1].cfg.gyr.range = BMI2_GYR_RANGE_2000;
break;
default:
halt_error(-1);
return;
}
/* The bandwidth parameter is used to configure the number of sensor samples that are averaged.
* If it is set to 2, then 2^(bandwidth parameter) samples are averaged, resulting in 4
* averaged samples.
* Note1 : For more information, refer to the datasheet.
* Note2 : A higher number of averaged samples will result in a lower noise level of the signal,
* but this has an adverse effect on the power consumed.
*/
config[0].cfg.acc.bwp = BMI2_ACC_OSR4_AVG1;
/* Enable the filter performance mode where averaging of samples
* will be done based on above set bandwidth and ODR.
* There are two modes
* 0 -> Ultra low power mode
* 1 -> High performance mode (Default)
* For more info refer to the datasheet.
*/
config[0].cfg.acc.filter_perf = BMI2_PERF_OPT_MODE;
/* Gyroscope Bandwidth parameters. By default the gyro bandwidth is in normal mode. */
config[1].cfg.gyr.bwp = BMI2_GYR_NORMAL_MODE;
/* Enable/Disable the noise performance mode for precision yaw rate sensing
* There are two modes
* 0 -> Ultra low power mode (Default)
* 1 -> High performance mode
*/
config[1].cfg.gyr.noise_perf = BMI2_POWER_OPT_MODE;
/* Enable/Disable the filter performance mode where averaging of samples
* will be done based on above set bandwidth and ODR.
* There are two modes
* 0 -> Ultra low power mode
* 1 -> High performance mode (Default)
*/
config[1].cfg.gyr.filter_perf = BMI2_PERF_OPT_MODE;
/* Apply the configuration */
result = bmi2_set_sensor_config(config, SENSOR_COUNT, imu);
halt_error(result);
/* Enable the sensors */
result = bmi2_sensor_enable(sens_list, SENSOR_COUNT, imu);
halt_error(result);
}
/*******************************************************************************
* Function Name: imu_lsb_to_mps2
********************************************************************************
* Summary:
* This function is used to convert lsb to meter per second squared for 16-bit accelerometer.
*
* Parameters:
* val The raw 16-bit integer value from the accelerometer.
* g_range The range of the accelerometer in g (e.g. 2g, 4g, 8g, etc.).
* bit_width The bit width of the accelerometer's ADC (e.g. 16-bit).
*
* Return:
* float
*
*
*******************************************************************************/
static float imu_lsb_to_mps2(int16_t val, float g_range, uint8_t bit_width)
{
double power = 2;
float half_scale = (float)((pow((double)power, (double)bit_width) / 2.0f));
return (GRAVITY_EARTH * val * g_range) / half_scale;
}
/*******************************************************************************
* Function Name: imu_lsb_to_dps
********************************************************************************
* Summary:
* A function used to convert lsb to degree per second for 16-bit gyro.
*
* Parameters:
* val The raw 16-bit integer value from the gyro.
* dps The full scale range of the gyro in degrees per second.
* bit_width The bit width of the gyro's ADC (e.g. 16-bit).
*
* Return:
* float
*
*
*******************************************************************************/
static float imu_lsb_to_dps(int16_t val, float dps, uint8_t bit_width)
{
double power = 2;
float half_scale = (float)((pow((double)power, (double)bit_width) / 2.0f));
return (dps / (half_scale)) * (val);
}
/*******************************************************************************
* Function Name: imu_read
********************************************************************************
* Summary:
* This function is used to read the current BMI270 data and convert it.
*
* Parameters:
* imu A pointer to the bmi2_dev structure.
* dest A pointer to a float array to store the scaled sensor data.
*
* Return:
* bool
*
*
*******************************************************************************/
static bool imu_read(struct bmi2_dev* imu, float* dest)
{
int8_t result;
struct bmi2_sens_data data = { { 0 } };
result = bmi2_get_sensor_data(&data, imu);
if(result != BMI2_OK)
{
return false;
}
if(!(data.status & BMI2_DRDY_ACC) || !(data.status & BMI2_DRDY_GYR))
{
return false;
}
*dest++ = imu_lsb_to_mps2(data.acc.x, IMU_ACCEL_RANGE_G, imu->resolution);
*dest++ = imu_lsb_to_mps2(data.acc.y, IMU_ACCEL_RANGE_G, imu->resolution);
*dest++ = imu_lsb_to_mps2(data.acc.z, IMU_ACCEL_RANGE_G, imu->resolution);
*dest++ = imu_lsb_to_dps(data.gyr.x, IMU_GYRO_RANGE_DPS, imu->resolution);
*dest++ = imu_lsb_to_dps(data.gyr.y, IMU_GYRO_RANGE_DPS, imu->resolution);
*dest++ = imu_lsb_to_dps(data.gyr.z, IMU_GYRO_RANGE_DPS, imu->resolution);
return true;
}
/*****************************************************************************
* Function name: _bmi2_i2c_read
*****************************************************************************
* Summary:
* This function handles I2C read operations
*
* Parameters:
* reg_addr 8-bit register address of the sensor
* reg_data Data from the specified address
* len Length of the reg_data array
* intf_ptr Void pointer that can enable the linking of descriptors for
* interface related callbacks
*
* Return:
* int8_t Status of execution
*
*****************************************************************************/
static BMI2_INTF_RETURN_TYPE _bmi2_i2c_read(
uint8_t reg_addr,
uint8_t* reg_data,
uint32_t len,
void* intf_ptr)
{
cyhal_i2c_t *i2c = (cyhal_i2c_t*)intf_ptr;
return (BMI2_INTF_RETURN_TYPE)cyhal_i2c_master_mem_read(
i2c,
BMI270_ADDRESS,
reg_addr,
1,
reg_data,
(uint16_t)len,
_I2C_TIMEOUT_MS);
}
/*****************************************************************************
* Function name: _bmi2_i2c_write
*****************************************************************************
* Summary:
* This function handles I2C write operations.
*
* Parameters:
* reg_addr 8-bit register address of the sensor
* reg_data Data from the specified address
* len Length of the reg_data array
* intf_ptr Void pointer that can enable the linking of descriptors for
* interface related callbacks
*
* Return:
* int8_t Status of execution
*
*****************************************************************************/
static BMI2_INTF_RETURN_TYPE _bmi2_i2c_write(
uint8_t reg_addr,
const uint8_t* reg_data,
uint32_t len,
void* intf_ptr)
{
cyhal_i2c_t *i2c = (cyhal_i2c_t*)intf_ptr;
return (BMI2_INTF_RETURN_TYPE)cyhal_i2c_master_mem_write(
i2c,
BMI270_ADDRESS,
reg_addr,
1,
reg_data,
(uint16_t)len,
_I2C_TIMEOUT_MS);
}
/*****************************************************************************
* Function name: _bmi2_delay_us
*****************************************************************************
* Summary:
* This function introduces specified delay
*
* Parameters:
* us The time period in microseconds
* intf_ptr Void pointer that can enable the linking of descriptors for
* interface related callbacks
*
* Return:
* void
*
*****************************************************************************/
static void _bmi2_delay_us(uint32_t us, void* intf_ptr)
{
(void)(intf_ptr);
cyhal_system_delay_us(us);
}
Comments