diff --git a/docs/miscellaneous/ai-easyscan.md b/docs/miscellaneous/ai-easyscan.md index b6bcf4b3..d66a91af 100644 --- a/docs/miscellaneous/ai-easyscan.md +++ b/docs/miscellaneous/ai-easyscan.md @@ -6,175 +6,170 @@ tags: ["AI Easy Scan", "OCR", "Whatsapp"] form_name: TfmWhatsappScan --- -SQL AI EasyScan feature enables users to manage transactions more efficiently by uploading invoices, bills, or receipts through WhatsApp. It performs instant data entry using AI-powered auto extraction, which supports images, documents and text. Users can easily organize and attach these files to the following document types within SQL Account. +SQL AI EasyScan enables users to manage transactions more efficiently by uploading invoices, bills, or receipts through WhatsApp. Using AI-powered data extraction, it automatically captures information from images, documents, and text, eliminating the need for manual data entry. Users can easily organize and attach the extracted information to the corresponding document types within SQL Account. ## Pre-requisite -1. [Setup OCR Category](#setup-ocr-category) -2. [Setup User Mobile Number](#setup-user-mobile-number) -3. [Registration](#registration) - -### Setup OCR Category +1. [Setup User Mobile Number](#setup-user-mobile-number) +2. [Registration](#registration) -:::info[INFO] -AI will assign the items with the following predefined account code when the invoice belongs to GL Payment Voucher. -::: +### Setup User Mobile Number -1. Go to **Menu Bar** > **Tools** > **Options...**. +1. Go to **Menu Bar** > **Tools** > **Maintain User...**. ![1](../../static/img/miscellaneous/ai-easyscan/1.png) -2. In **Options**, go to **AI** and switch **Account Code** to following **Category**. +2. Create **New** or select the user who will be registered. ![2](../../static/img/miscellaneous/ai-easyscan/2.png) -### Setup User Mobile Number - -1. Go to **Menu Bar** > **Tools** > **Maintain User...**. +3. Enter mobile number registered with WhatsApp > Click **Save**. ![3](../../static/img/miscellaneous/ai-easyscan/3.png) -2. Create **New** or select the user who request for register. - - ![4](../../static/img/miscellaneous/ai-easyscan/4.png) - -3. Enter mobile number registered with WhatsApp > **Save**. - - ![5](../../static/img/miscellaneous/ai-easyscan/5.png) - ### Registration 1. Go to **Menu Bar** > ☁️ > **AI EasyScan...**. - ![6](../../static/img/miscellaneous/ai-easyscan/6.png) + ![4](../../static/img/miscellaneous/ai-easyscan/4.png) 2. Go to **Toolbar** > 👤 > **Register Sender...**. - ![7](../../static/img/miscellaneous/ai-easyscan/7.png) + ![5](../../static/img/miscellaneous/ai-easyscan/5.png) -3. Select the user who request for register > **OK**. +3. Select the user to be registered > Click **OK**. - ![8](../../static/img/miscellaneous/ai-easyscan/8.png) + ![6](../../static/img/miscellaneous/ai-easyscan/6.png) 4. **Copy Link To Clipboard** or **Share** registration link to the user. - ![9](../../static/img/miscellaneous/ai-easyscan/9.png) + ![7](../../static/img/miscellaneous/ai-easyscan/7.png) 5. The user will have 5 minutes to complete the registration before it expires. - ![10](../../static/img/miscellaneous/ai-easyscan/10.png) + ![8](../../static/img/miscellaneous/ai-easyscan/8.png) 6. After the user receives the registration link, the user is required to: 1. Click the link. - ![11](../../static/img/miscellaneous/ai-easyscan/11.png) + ![9](../../static/img/miscellaneous/ai-easyscan/9.png) 2. Send the prefilled message with the mobile number registered. - ![12](../../static/img/miscellaneous/ai-easyscan/12.png) + ![10](../../static/img/miscellaneous/ai-easyscan/10.png) - 3. WhatsApp replied **You have successfully linked with [COMPANY NAME]** indicates registration completed. + 3. WhatsApp replies with **"You have successfully linked with COMPANY NAME"** indicates that the registration has been completed. - ![13](../../static/img/miscellaneous/ai-easyscan/13.png) + ![11](../../static/img/miscellaneous/ai-easyscan/11.png) -7. Dialog show **Registered Successful** indicates the user complete the registration. +7. Dialog shows **"Registered Successful"** indicates that the user has completed the registration. - ![14](../../static/img/miscellaneous/ai-easyscan/14.png) + ![12](../../static/img/miscellaneous/ai-easyscan/12.png) ## Usage -- [Pre-requisite](#pre-requisite) - - [Setup OCR Category](#setup-ocr-category) - - [Setup User Mobile Number](#setup-user-mobile-number) - - [Registration](#registration) -- [Usage](#usage) - - [Upload File to WhatsApp](#upload-file-to-whatsapp) - - [Check OCR Status](#check-ocr-status) - - [Group Files](#group-files) - - [Assign Doc Type and Category to File or Folder](#assign-doc-type-and-category-to-file-or-folder) - - [Create New Document](#create-new-document) - - [Attach File(s) or Folder(s) to Existing Document](#attach-files-or-folders-to-existing-document) - - [Check Posted File or Folder](#check-posted-file-or-folder) -- [Additional Information](#additional-information) - - [Edit Filename and Caption](#edit-filename-and-caption) - - [Batch Edit Doc Type and Caption](#batch-edit-doc-type-and-caption) - - [Switch System Layout](#switch-system-layout) - - [Multi Companies](#multi-companies) - - [Share File](#share-file) - - [Delete File](#delete-file) - -### Upload File to WhatsApp - -1. **Snap** a photo or **Select** the following file type to upload the file. +1. [Upload File with WhatsApp](#upload-file-with-whatsapp) +2. [Upload Local File](#upload-local-file) +3. [Check OCR Status](#check-ocr-status) +4. [Group Files](#group-files) +5. [Assign Category and Doc Type to File or Folder](#assign-category-and-doc-type-to-file-or-folder) +6. [Merge Item Details](#merge-item-details) +7. [Save Document](#save-document) +8. [Attach File or Folder to Existing Document](#attach-file-or-folder-to-existing-document) +9. [Check Posted File or Folder](#check-posted-file-or-folder) + +### Upload File with WhatsApp + +1. Take a photo or select a file to upload. + + ![13](../../static/img/miscellaneous/ai-easyscan/13.png) + +2. ✅ reaction will appear on the uploaded file, followed by a confirmation message if the upload is successful. + + ![14](../../static/img/miscellaneous/ai-easyscan/14.png) + +3. Click **Refresh** button to view the uploaded file. ![15](../../static/img/miscellaneous/ai-easyscan/15.png) -2. ✅ will be react on the file if upload is successful. +### Upload Local File - ![16](../../static/img/miscellaneous/ai-easyscan/16.png) +1. Go to **Toolbar** > Click **Upload Files** button. -3. **Refresh** to review the file uploaded. + ![16](../../static/img/miscellaneous/ai-easyscan/16.png) - ![17](../../static/img/miscellaneous/ai-easyscan/17.png) +2. **File Explorer** window will appear, select the file want to upload, then click **Open**. ### Check OCR Status 1. Grid row highlighted in **grey** indicates that the file is currently being processed by OCR. - ![18](../../static/img/miscellaneous/ai-easyscan/18.png) + ![17](../../static/img/miscellaneous/ai-easyscan/17.png) 2. Grid row highlighted in **green** or **white** indicates that the file has successfully completed the OCR process. - ![19](../../static/img/miscellaneous/ai-easyscan/19.png) + ![18](../../static/img/miscellaneous/ai-easyscan/18.png) + +3. If any information is incorrect or an error occurs, the user can choose to re-run OCR, either: + + 1. Go to **Toolbar** > Click **Re-OCR** button. -3. Grid row highlighted in **grey** with **red** font indicates that the file failed to be processed by OCR. **Refresh** or **reopen** will automatically reprocess the file until the OCR process is completed. + ![19](../../static/img/miscellaneous/ai-easyscan/19.png) - ![20](../../static/img/miscellaneous/ai-easyscan/20.png) + 2. Select the file > **Right Click** > **Re-OCR**. + + ![20](../../static/img/miscellaneous/ai-easyscan/20.png) ### Group Files :::info[INFO] -Grouping related files allow them to be attached into a same document. +Grouping related files allows their information to be attached to the same document. ::: -1. To **Group**, select multiple files (Ctrl + Left Click) > Right Click > **Group Files...**. +1. To **Group**, select multiple files **(Ctrl + Left Click)** > **Right Click** > **Group Files...**. ![21](../../static/img/miscellaneous/ai-easyscan/21.png) -2. Click **Left** and **Right** button to preview files in group. +2. The details from multiple files will be merged into the selected document type. ![22](../../static/img/miscellaneous/ai-easyscan/22.png) -3. To **Ungroup**, select the folder > Right Click > **Ungroup Files...**. +3. To **Ungroup**, select the group folder > **Right Click** > **Ungroup Files...**. ![23](../../static/img/miscellaneous/ai-easyscan/23.png) -### Assign Doc Type and Category to File or Folder +### Assign Category and Doc Type to File or Folder :::info[INFO] -Based on **Doc Type** and **Category**, the corresponding document type will be created, and the item's G/L Code will be filled in according to the predefined account code of the selected category. +Based on **Category** and **Doc Type**, the corresponding document type will be created, and the item's G/L Code will be filled in according to the predefined account code of the selected category. ::: -1. Select the file > Click ▼ button > Choose **Doc Type**. +1. Select the file > Click ⬇️ button > Choose **Category**. ![24](../../static/img/miscellaneous/ai-easyscan/24.png) -2. Select the file > Click ▼ button > Choose **Category**. +2. Select the file > Click ⬇️ button > Choose **Doc Type**. ![25](../../static/img/miscellaneous/ai-easyscan/25.png) -### Create New Document +### Merge Item Details + +:::info[INFO] +Combine several items into a single item record. +::: -1. Select a file or folder that has successfully completed the OCR process, the file and its details will be automatically filled into the selected document type. +1. Select the file > Go to **Toolbar** > Click **Merge** button. ![26](../../static/img/miscellaneous/ai-easyscan/26.png) -2. Review or edit the document to correct information. +### Save Document + +1. Select a file or folder that has successfully completed the OCR process. The file and its item details will automatically populate the selected document type. ![27](../../static/img/miscellaneous/ai-easyscan/27.png) -3. Enable **Merge** in **Toolbar** if need to combine item details into a single record, except for grouped files. +2. Review and edit the document if any information needs to be corrected. ![28](../../static/img/miscellaneous/ai-easyscan/28.png) @@ -182,159 +177,211 @@ Based on **Doc Type** and **Category**, the corresponding document type will be ![29](../../static/img/miscellaneous/ai-easyscan/29.png) -### Attach File(s) or Folder(s) to Existing Document - -1. Select file(s) or folder(s) > Right Click > **Attach to Existing Document**. +4. Review the saved document in SQL Account. ![30](../../static/img/miscellaneous/ai-easyscan/30.png) -2. Select the target document > **OK**. +### Attach File or Folder to Existing Document + +1. Select file or folder > **Right Click** > **Attach to Existing Document**. ![31](../../static/img/miscellaneous/ai-easyscan/31.png) -3. System will navigate to the attached document, review the attached file(s) under **Attachments**. +2. Select the target document > Click **OK**. ![32](../../static/img/miscellaneous/ai-easyscan/32.png) -### Check Posted File or Folder - -1. **Tick** the checkbox in grid footer. +3. Review the attached file under the target document's **Attachments**. ![33](../../static/img/miscellaneous/ai-easyscan/33.png) -2. Posted files and folders will be displayed without bold formatting. +### Check Posted File or Folder + +1. **Tick** the checkbox in the grid footer. ![34](../../static/img/miscellaneous/ai-easyscan/34.png) -3. Click the button at top left corner of the grid > **Tick** the **Doc No** and **Posted**. +2. Posted file and folder will be displayed without bold formatting. ![35](../../static/img/miscellaneous/ai-easyscan/35.png) -4. The following status will be displayed under the column. +3. Click the button at the top-left corner of the grid > Tick the **Doc No** and **Posted**. ![36](../../static/img/miscellaneous/ai-easyscan/36.png) +4. The following status will be displayed under the column, **Doc No** will show the posted **Document No.**. + + ![37](../../static/img/miscellaneous/ai-easyscan/37.png) + 5. Double click to open the posted document. ## Additional Information -1. [Edit Filename and Caption](#edit-filename-and-caption) -2. [Batch Edit Doc Type and Caption](#batch-edit-doc-type-and-caption) -3. [Switch System Layout](#switch-system-layout) -4. [Multi Companies](#multi-companies) -4. [Share File](#share-file) +1. [Setup OCR Category](#setup-ocr-category) +2. [Switch System Layout](#switch-system-layout) +3. [Edit Filename and Caption](#edit-filename-and-caption) +4. [Batch Edit Doc Type and Caption](#batch-edit-doc-type-and-caption) 5. [Delete File](#delete-file) +6. [Share File](#share-file) -### Edit Filename and Caption - -1. **Filename** is editable by selecting the Name column in the grid. +### Setup OCR Category - ![37](../../static/img/miscellaneous/ai-easyscan/37.png) +:::info[INFO] +AI automatically assigns a category to uploaded files based on their content. For files that belong to GL Payment Voucher, it assigns the items to the corresponding predefined account codes. +::: -2. **Caption** is editable by selecting the Name column in the grid. +1. Go to **Menu Bar** > **Tools** > **Options...**. ![38](../../static/img/miscellaneous/ai-easyscan/38.png) -### Batch Edit Doc Type and Caption - -1. Select multiple files or folders (Ctrl + Left Click) > Right Click > **Batch Edit Value**. +2. In **Options**, go to **OCR** to review the **Categories**. ![39](../../static/img/miscellaneous/ai-easyscan/39.png) -2. Select the value you want to change > **Tick** the checkbox to allow the changes to be applied. +3. Click ➕ to add a new category or ➖ to remove an existing category. When adding a new category, define the category and assign the corresponding account code. ![40](../../static/img/miscellaneous/ai-easyscan/40.png) -3. Make sure all the values you want to change are ticked in the checkboxes > **OK**. +4. Click **Sync** > **Yes** to synchronize the categories with the AI. ![41](../../static/img/miscellaneous/ai-easyscan/41.png) -4. The system will display a message to show how many records will change > **OK**. +5. Dialog shows **"Synced successfully"** indicates that the categories have been updated successfully. ![42](../../static/img/miscellaneous/ai-easyscan/42.png) -5. Click **OK** to proceed. +6. Click **OK** to save the changes. ![43](../../static/img/miscellaneous/ai-easyscan/43.png) -6. The following values for the selected records will be changed. - - ![44](../../static/img/miscellaneous/ai-easyscan/44.png) - ### Switch System Layout -1. Go to **Toolbar** > Click **Layout** button > Choose system layout. +1. Go to **Toolbar** > Click **Layout** button > Choose a system layout. - ![45](../../static/img/miscellaneous/ai-easyscan/45.png) + ![44](../../static/img/miscellaneous/ai-easyscan/44.png) 2. Switch to the system layout that suits your personal preference. - ![46](../../static/img/miscellaneous/ai-easyscan/46.png) + ![45](../../static/img/miscellaneous/ai-easyscan/45.png) -### Multi Companies +### Edit Filename and Caption -1. Register several companies followed **Pre-requisite: Registration**. +1. **Filename** is editable by selecting the **Name** column in the grid. -2. Type **"/help"** to call out help dialog. + ![46](../../static/img/miscellaneous/ai-easyscan/46.png) + +2. **Caption** is editable by selecting the **Caption** column in the grid. ![47](../../static/img/miscellaneous/ai-easyscan/47.png) -3. List Companies - Switch and upload following document to different company. +### Batch Edit Doc Type and Caption - 1. Click **List Companies** > Companies linked to this mobile number will be shown. +1. Select multiple files or folders **(Ctrl + Left Click)** > **Right Click** > **Batch Edit Value**. - ![48](../../static/img/miscellaneous/ai-easyscan/48.png) + ![48](../../static/img/miscellaneous/ai-easyscan/48.png) - 2. **(Active)** indicates that this company is current active company > Type **"/switch 2"** to switch to (2.) company > Click **Send**. +2. Select the value you want to change > **Tick** the checkbox to allow the changes to be applied. - ![49](../../static/img/miscellaneous/ai-easyscan/49.png) + ![49](../../static/img/miscellaneous/ai-easyscan/49.png) - 3. System will show a successful message when succesfully switched. +3. Make sure all the values you want to change are ticked in the checkboxes > Click **OK**. - ![50](../../static/img/miscellaneous/ai-easyscan/50.png) + ![50](../../static/img/miscellaneous/ai-easyscan/50.png) -4. Unlink Company - Deregister a linked company. +4. The system will display a message to show how many records will change > Click **OK**. - 1. Click **Unlink Company** > Companies linked to this mobile number will be shown. + ![51](../../static/img/miscellaneous/ai-easyscan/51.png) - ![51](../../static/img/miscellaneous/ai-easyscan/51.png) +5. Click **OK** to proceed. - 2. Type **"/unlink 2"** to unlink (2.) company > Click **Send**. + ![52](../../static/img/miscellaneous/ai-easyscan/52.png) - ![52](../../static/img/miscellaneous/ai-easyscan/52.png) +6. The selected records will be updated with the new values. - 3. System will show a successful message when succesfully deregister. + ![53](../../static/img/miscellaneous/ai-easyscan/53.png) - ![53](../../static/img/miscellaneous/ai-easyscan/53.png) +### Delete File -### Share File +1. To **Delete**, select the file or folder, then either: -1. To **Share**, select the file(s) or folder(s), then either: - - 1. Go to **Toolbar** > Click **Share** button. + 1. Go to **Toolbar** > Click **Delete** button. ![54](../../static/img/miscellaneous/ai-easyscan/54.png) - 2. Right Click > **Share Files...**. + 2. **Right Click** > **Delete Files...**. ![55](../../static/img/miscellaneous/ai-easyscan/55.png) -2. Choose the following channel to share the file. +2. Click **OK** to confirm the deletion. ![56](../../static/img/miscellaneous/ai-easyscan/56.png) -### Delete File +### Share File -1. To **Delete**, select the file(s) or folder(s), then either: +1. To **Share**, select the file(s) or folder(s), then either: - 1. Go to **Toolbar** > Click **Delete** button. + 1. Go to **Toolbar** > Click **Share** button. ![57](../../static/img/miscellaneous/ai-easyscan/57.png) - 2. Right Click > **Delete Files...**. + 2. **Right Click** > **Share Files...**. ![58](../../static/img/miscellaneous/ai-easyscan/58.png) -2. Click **OK** to confirm the deletion. +2. Choose one of the following sharing methods to share the file. + + ![59](../../static/img/miscellaneous/ai-easyscan/59.png) + +## WhatsApp Interactive List + +1. Register multiple companies by following the steps in **Pre-requisite: Registration**. + +2. Type **"/"** to open the help menu. + + ![60](../../static/img/miscellaneous/ai-easyscan/60.png) + +3. **List Companies** - Lists all companies registered to this mobile number. + + 1. Click **List Companies**. + + ![61](../../static/img/miscellaneous/ai-easyscan/61.png) + + 2. WhatsApp replies with all registered company names, and **"✅ COMPANY NAME (Active)"** indicates the currently active company. + + ![62](../../static/img/miscellaneous/ai-easyscan/62.png) + +4. **Switch Company** - Switch to uploading files for a different company. + + 1. Click **Switch Company**. + + ![63](../../static/img/miscellaneous/ai-easyscan/63.png) + + 2. WhatsApp replies with an interactive dialog to switch company > Click **Select**. + + ![64](../../static/img/miscellaneous/ai-easyscan/64.png) + + 3. Select another linked company > Click **Send**. + + ![65](../../static/img/miscellaneous/ai-easyscan/65.png) + + 4. WhatsApp replies with **"You have successfully switched to COMPANY NAME"** indicates the active company successfully switched. + + ![66](../../static/img/miscellaneous/ai-easyscan/66.png) + +5. **Unlink Company** - Deregister a company. + + 1. Click **Unlink Company**. + + ![67](../../static/img/miscellaneous/ai-easyscan/67.png) + + 2. WhatsApp replies with an interactive dialog to deregister company > Click **Select**. + + ![68](../../static/img/miscellaneous/ai-easyscan/68.png) + + 3. Select the target company to deregister > Click **Send**. + + ![69](../../static/img/miscellaneous/ai-easyscan/69.png) + + 4. WhatsApp replies with **"You have successfully unlinked COMPANY NAME"** indicates that the company has been deregistered successfully. - ![59](../../static/img/miscellaneous/ai-easyscan/59.png) \ No newline at end of file + ![70](../../static/img/miscellaneous/ai-easyscan/70.png) \ No newline at end of file diff --git a/static/img/miscellaneous/ai-easyscan/1.png b/static/img/miscellaneous/ai-easyscan/1.png index 10d8c87f..d598372d 100644 Binary files a/static/img/miscellaneous/ai-easyscan/1.png and b/static/img/miscellaneous/ai-easyscan/1.png differ diff --git a/static/img/miscellaneous/ai-easyscan/10.png b/static/img/miscellaneous/ai-easyscan/10.png index c5ddbee8..9ebd9c63 100644 Binary files a/static/img/miscellaneous/ai-easyscan/10.png and b/static/img/miscellaneous/ai-easyscan/10.png differ diff --git a/static/img/miscellaneous/ai-easyscan/11.png b/static/img/miscellaneous/ai-easyscan/11.png index 69d64d9f..e65dde26 100644 Binary files a/static/img/miscellaneous/ai-easyscan/11.png and b/static/img/miscellaneous/ai-easyscan/11.png differ diff --git a/static/img/miscellaneous/ai-easyscan/12.png b/static/img/miscellaneous/ai-easyscan/12.png index 8a132ca0..5d2fd162 100644 Binary files a/static/img/miscellaneous/ai-easyscan/12.png and b/static/img/miscellaneous/ai-easyscan/12.png differ diff --git a/static/img/miscellaneous/ai-easyscan/13.png b/static/img/miscellaneous/ai-easyscan/13.png index b9648a88..7f4ef0df 100644 Binary files a/static/img/miscellaneous/ai-easyscan/13.png and b/static/img/miscellaneous/ai-easyscan/13.png differ diff --git a/static/img/miscellaneous/ai-easyscan/14.png b/static/img/miscellaneous/ai-easyscan/14.png index 2dd14111..6d232c9a 100644 Binary files a/static/img/miscellaneous/ai-easyscan/14.png and b/static/img/miscellaneous/ai-easyscan/14.png differ diff --git a/static/img/miscellaneous/ai-easyscan/15.png b/static/img/miscellaneous/ai-easyscan/15.png index 5fce3d0a..7f4eac64 100644 Binary files a/static/img/miscellaneous/ai-easyscan/15.png and b/static/img/miscellaneous/ai-easyscan/15.png differ diff --git a/static/img/miscellaneous/ai-easyscan/16.png b/static/img/miscellaneous/ai-easyscan/16.png index d14ecb50..6daa7940 100644 Binary files a/static/img/miscellaneous/ai-easyscan/16.png and b/static/img/miscellaneous/ai-easyscan/16.png differ diff --git a/static/img/miscellaneous/ai-easyscan/17.png b/static/img/miscellaneous/ai-easyscan/17.png index b0abd22c..289e48e9 100644 Binary files a/static/img/miscellaneous/ai-easyscan/17.png and b/static/img/miscellaneous/ai-easyscan/17.png differ diff --git a/static/img/miscellaneous/ai-easyscan/18.png b/static/img/miscellaneous/ai-easyscan/18.png index d15f45d5..6a322547 100644 Binary files a/static/img/miscellaneous/ai-easyscan/18.png and b/static/img/miscellaneous/ai-easyscan/18.png differ diff --git a/static/img/miscellaneous/ai-easyscan/19.png b/static/img/miscellaneous/ai-easyscan/19.png index 7382ae56..4c008454 100644 Binary files a/static/img/miscellaneous/ai-easyscan/19.png and b/static/img/miscellaneous/ai-easyscan/19.png differ diff --git a/static/img/miscellaneous/ai-easyscan/2.png b/static/img/miscellaneous/ai-easyscan/2.png index bd9f71a1..45ee1a8d 100644 Binary files a/static/img/miscellaneous/ai-easyscan/2.png and b/static/img/miscellaneous/ai-easyscan/2.png differ diff --git a/static/img/miscellaneous/ai-easyscan/20.png b/static/img/miscellaneous/ai-easyscan/20.png index d8424273..e7b0203c 100644 Binary files a/static/img/miscellaneous/ai-easyscan/20.png and b/static/img/miscellaneous/ai-easyscan/20.png differ diff --git a/static/img/miscellaneous/ai-easyscan/21.png b/static/img/miscellaneous/ai-easyscan/21.png index ba74fcd1..295f4e76 100644 Binary files a/static/img/miscellaneous/ai-easyscan/21.png and b/static/img/miscellaneous/ai-easyscan/21.png differ diff --git a/static/img/miscellaneous/ai-easyscan/22.png b/static/img/miscellaneous/ai-easyscan/22.png index 3b1cc7ef..9103dad7 100644 Binary files a/static/img/miscellaneous/ai-easyscan/22.png and b/static/img/miscellaneous/ai-easyscan/22.png differ diff --git a/static/img/miscellaneous/ai-easyscan/23.png b/static/img/miscellaneous/ai-easyscan/23.png index e47b1775..d247520c 100644 Binary files a/static/img/miscellaneous/ai-easyscan/23.png and b/static/img/miscellaneous/ai-easyscan/23.png differ diff --git a/static/img/miscellaneous/ai-easyscan/24.png b/static/img/miscellaneous/ai-easyscan/24.png index 5bd16a89..98a67c1b 100644 Binary files a/static/img/miscellaneous/ai-easyscan/24.png and b/static/img/miscellaneous/ai-easyscan/24.png differ diff --git a/static/img/miscellaneous/ai-easyscan/25.png b/static/img/miscellaneous/ai-easyscan/25.png index d11f75e4..a2ec280d 100644 Binary files a/static/img/miscellaneous/ai-easyscan/25.png and b/static/img/miscellaneous/ai-easyscan/25.png differ diff --git a/static/img/miscellaneous/ai-easyscan/26.png b/static/img/miscellaneous/ai-easyscan/26.png index f59ea502..64efd3a7 100644 Binary files a/static/img/miscellaneous/ai-easyscan/26.png and b/static/img/miscellaneous/ai-easyscan/26.png differ diff --git a/static/img/miscellaneous/ai-easyscan/27.png b/static/img/miscellaneous/ai-easyscan/27.png index 0a8767bb..99dc88f0 100644 Binary files a/static/img/miscellaneous/ai-easyscan/27.png and b/static/img/miscellaneous/ai-easyscan/27.png differ diff --git a/static/img/miscellaneous/ai-easyscan/28.png b/static/img/miscellaneous/ai-easyscan/28.png index e9987ab2..8f5ae3ca 100644 Binary files a/static/img/miscellaneous/ai-easyscan/28.png and b/static/img/miscellaneous/ai-easyscan/28.png differ diff --git a/static/img/miscellaneous/ai-easyscan/29.png b/static/img/miscellaneous/ai-easyscan/29.png index 5aed0385..5caaa9c6 100644 Binary files a/static/img/miscellaneous/ai-easyscan/29.png and b/static/img/miscellaneous/ai-easyscan/29.png differ diff --git a/static/img/miscellaneous/ai-easyscan/3.png b/static/img/miscellaneous/ai-easyscan/3.png index 2a47ee60..69bf92be 100644 Binary files a/static/img/miscellaneous/ai-easyscan/3.png and b/static/img/miscellaneous/ai-easyscan/3.png differ diff --git a/static/img/miscellaneous/ai-easyscan/30.png b/static/img/miscellaneous/ai-easyscan/30.png index f21c27dc..4933dbfe 100644 Binary files a/static/img/miscellaneous/ai-easyscan/30.png and b/static/img/miscellaneous/ai-easyscan/30.png differ diff --git a/static/img/miscellaneous/ai-easyscan/31.png b/static/img/miscellaneous/ai-easyscan/31.png index 11fb57f4..9bc1400e 100644 Binary files a/static/img/miscellaneous/ai-easyscan/31.png and b/static/img/miscellaneous/ai-easyscan/31.png differ diff --git a/static/img/miscellaneous/ai-easyscan/32.png b/static/img/miscellaneous/ai-easyscan/32.png index c1b410a8..d6f05472 100644 Binary files a/static/img/miscellaneous/ai-easyscan/32.png and b/static/img/miscellaneous/ai-easyscan/32.png differ diff --git a/static/img/miscellaneous/ai-easyscan/33.png b/static/img/miscellaneous/ai-easyscan/33.png index 52673178..4f2fc5b1 100644 Binary files a/static/img/miscellaneous/ai-easyscan/33.png and b/static/img/miscellaneous/ai-easyscan/33.png differ diff --git a/static/img/miscellaneous/ai-easyscan/34.png b/static/img/miscellaneous/ai-easyscan/34.png index 583f3e06..33914aa0 100644 Binary files a/static/img/miscellaneous/ai-easyscan/34.png and b/static/img/miscellaneous/ai-easyscan/34.png differ diff --git a/static/img/miscellaneous/ai-easyscan/35.png b/static/img/miscellaneous/ai-easyscan/35.png index b71ef72c..7b9b270d 100644 Binary files a/static/img/miscellaneous/ai-easyscan/35.png and b/static/img/miscellaneous/ai-easyscan/35.png differ diff --git a/static/img/miscellaneous/ai-easyscan/36.png b/static/img/miscellaneous/ai-easyscan/36.png index 7e1bf34b..589be0e1 100644 Binary files a/static/img/miscellaneous/ai-easyscan/36.png and b/static/img/miscellaneous/ai-easyscan/36.png differ diff --git a/static/img/miscellaneous/ai-easyscan/37.png b/static/img/miscellaneous/ai-easyscan/37.png index 2bc4aabc..bb2cb1e6 100644 Binary files a/static/img/miscellaneous/ai-easyscan/37.png and b/static/img/miscellaneous/ai-easyscan/37.png differ diff --git a/static/img/miscellaneous/ai-easyscan/38.png b/static/img/miscellaneous/ai-easyscan/38.png index 57f3e9fb..5c0b3df7 100644 Binary files a/static/img/miscellaneous/ai-easyscan/38.png and b/static/img/miscellaneous/ai-easyscan/38.png differ diff --git a/static/img/miscellaneous/ai-easyscan/39.png b/static/img/miscellaneous/ai-easyscan/39.png index eba52f20..7826d516 100644 Binary files a/static/img/miscellaneous/ai-easyscan/39.png and b/static/img/miscellaneous/ai-easyscan/39.png differ diff --git a/static/img/miscellaneous/ai-easyscan/4.png b/static/img/miscellaneous/ai-easyscan/4.png index efe422d0..a4da7296 100644 Binary files a/static/img/miscellaneous/ai-easyscan/4.png and b/static/img/miscellaneous/ai-easyscan/4.png differ diff --git a/static/img/miscellaneous/ai-easyscan/40.png b/static/img/miscellaneous/ai-easyscan/40.png index 4d348790..e52129f4 100644 Binary files a/static/img/miscellaneous/ai-easyscan/40.png and b/static/img/miscellaneous/ai-easyscan/40.png differ diff --git a/static/img/miscellaneous/ai-easyscan/41.png b/static/img/miscellaneous/ai-easyscan/41.png index fa1defd3..058859bf 100644 Binary files a/static/img/miscellaneous/ai-easyscan/41.png and b/static/img/miscellaneous/ai-easyscan/41.png differ diff --git a/static/img/miscellaneous/ai-easyscan/42.png b/static/img/miscellaneous/ai-easyscan/42.png index 11b1e9c0..c6e6309a 100644 Binary files a/static/img/miscellaneous/ai-easyscan/42.png and b/static/img/miscellaneous/ai-easyscan/42.png differ diff --git a/static/img/miscellaneous/ai-easyscan/43.png b/static/img/miscellaneous/ai-easyscan/43.png index 7929ba6f..2ddfe8ec 100644 Binary files a/static/img/miscellaneous/ai-easyscan/43.png and b/static/img/miscellaneous/ai-easyscan/43.png differ diff --git a/static/img/miscellaneous/ai-easyscan/44.png b/static/img/miscellaneous/ai-easyscan/44.png index e37c5168..8d2fddb5 100644 Binary files a/static/img/miscellaneous/ai-easyscan/44.png and b/static/img/miscellaneous/ai-easyscan/44.png differ diff --git a/static/img/miscellaneous/ai-easyscan/45.png b/static/img/miscellaneous/ai-easyscan/45.png index 7ba5fd67..83816aba 100644 Binary files a/static/img/miscellaneous/ai-easyscan/45.png and b/static/img/miscellaneous/ai-easyscan/45.png differ diff --git a/static/img/miscellaneous/ai-easyscan/46.png b/static/img/miscellaneous/ai-easyscan/46.png index dbb2e3f4..55299d7a 100644 Binary files a/static/img/miscellaneous/ai-easyscan/46.png and b/static/img/miscellaneous/ai-easyscan/46.png differ diff --git a/static/img/miscellaneous/ai-easyscan/47.png b/static/img/miscellaneous/ai-easyscan/47.png index 55adfb32..513181a3 100644 Binary files a/static/img/miscellaneous/ai-easyscan/47.png and b/static/img/miscellaneous/ai-easyscan/47.png differ diff --git a/static/img/miscellaneous/ai-easyscan/48.png b/static/img/miscellaneous/ai-easyscan/48.png index 3b658d64..6e472a76 100644 Binary files a/static/img/miscellaneous/ai-easyscan/48.png and b/static/img/miscellaneous/ai-easyscan/48.png differ diff --git a/static/img/miscellaneous/ai-easyscan/49.png b/static/img/miscellaneous/ai-easyscan/49.png index 9f93ec96..abf39046 100644 Binary files a/static/img/miscellaneous/ai-easyscan/49.png and b/static/img/miscellaneous/ai-easyscan/49.png differ diff --git a/static/img/miscellaneous/ai-easyscan/5.png b/static/img/miscellaneous/ai-easyscan/5.png index 3ad5e562..065dbc79 100644 Binary files a/static/img/miscellaneous/ai-easyscan/5.png and b/static/img/miscellaneous/ai-easyscan/5.png differ diff --git a/static/img/miscellaneous/ai-easyscan/50.png b/static/img/miscellaneous/ai-easyscan/50.png index 57a4b6f4..fae54509 100644 Binary files a/static/img/miscellaneous/ai-easyscan/50.png and b/static/img/miscellaneous/ai-easyscan/50.png differ diff --git a/static/img/miscellaneous/ai-easyscan/51.png b/static/img/miscellaneous/ai-easyscan/51.png index 332e5e63..61e16b0a 100644 Binary files a/static/img/miscellaneous/ai-easyscan/51.png and b/static/img/miscellaneous/ai-easyscan/51.png differ diff --git a/static/img/miscellaneous/ai-easyscan/52.png b/static/img/miscellaneous/ai-easyscan/52.png index e52dbcd2..5e5ed51c 100644 Binary files a/static/img/miscellaneous/ai-easyscan/52.png and b/static/img/miscellaneous/ai-easyscan/52.png differ diff --git a/static/img/miscellaneous/ai-easyscan/53.png b/static/img/miscellaneous/ai-easyscan/53.png index 922146c8..8e59cf72 100644 Binary files a/static/img/miscellaneous/ai-easyscan/53.png and b/static/img/miscellaneous/ai-easyscan/53.png differ diff --git a/static/img/miscellaneous/ai-easyscan/54.png b/static/img/miscellaneous/ai-easyscan/54.png index 96ca6c03..f8f36d46 100644 Binary files a/static/img/miscellaneous/ai-easyscan/54.png and b/static/img/miscellaneous/ai-easyscan/54.png differ diff --git a/static/img/miscellaneous/ai-easyscan/55.png b/static/img/miscellaneous/ai-easyscan/55.png index 04e2b9ac..e7ad5fb4 100644 Binary files a/static/img/miscellaneous/ai-easyscan/55.png and b/static/img/miscellaneous/ai-easyscan/55.png differ diff --git a/static/img/miscellaneous/ai-easyscan/56.png b/static/img/miscellaneous/ai-easyscan/56.png index ba46e1af..54187f7e 100644 Binary files a/static/img/miscellaneous/ai-easyscan/56.png and b/static/img/miscellaneous/ai-easyscan/56.png differ diff --git a/static/img/miscellaneous/ai-easyscan/57.png b/static/img/miscellaneous/ai-easyscan/57.png index 14373d33..ece86d83 100644 Binary files a/static/img/miscellaneous/ai-easyscan/57.png and b/static/img/miscellaneous/ai-easyscan/57.png differ diff --git a/static/img/miscellaneous/ai-easyscan/58.png b/static/img/miscellaneous/ai-easyscan/58.png index 3d6c5d4e..fcabb7ba 100644 Binary files a/static/img/miscellaneous/ai-easyscan/58.png and b/static/img/miscellaneous/ai-easyscan/58.png differ diff --git a/static/img/miscellaneous/ai-easyscan/59.png b/static/img/miscellaneous/ai-easyscan/59.png index 2578b92b..8eb0c25a 100644 Binary files a/static/img/miscellaneous/ai-easyscan/59.png and b/static/img/miscellaneous/ai-easyscan/59.png differ diff --git a/static/img/miscellaneous/ai-easyscan/6.png b/static/img/miscellaneous/ai-easyscan/6.png index 8678d8d5..7464d606 100644 Binary files a/static/img/miscellaneous/ai-easyscan/6.png and b/static/img/miscellaneous/ai-easyscan/6.png differ diff --git a/static/img/miscellaneous/ai-easyscan/60.png b/static/img/miscellaneous/ai-easyscan/60.png new file mode 100644 index 00000000..25aa21e6 Binary files /dev/null and b/static/img/miscellaneous/ai-easyscan/60.png differ diff --git a/static/img/miscellaneous/ai-easyscan/61.png b/static/img/miscellaneous/ai-easyscan/61.png new file mode 100644 index 00000000..55edda0f Binary files /dev/null and b/static/img/miscellaneous/ai-easyscan/61.png differ diff --git a/static/img/miscellaneous/ai-easyscan/62.png b/static/img/miscellaneous/ai-easyscan/62.png new file mode 100644 index 00000000..d67c5dca Binary files /dev/null and b/static/img/miscellaneous/ai-easyscan/62.png differ diff --git a/static/img/miscellaneous/ai-easyscan/63.png b/static/img/miscellaneous/ai-easyscan/63.png new file mode 100644 index 00000000..c99103b5 Binary files /dev/null and b/static/img/miscellaneous/ai-easyscan/63.png differ diff --git a/static/img/miscellaneous/ai-easyscan/64.png b/static/img/miscellaneous/ai-easyscan/64.png new file mode 100644 index 00000000..9a541888 Binary files /dev/null and b/static/img/miscellaneous/ai-easyscan/64.png differ diff --git a/static/img/miscellaneous/ai-easyscan/65.png b/static/img/miscellaneous/ai-easyscan/65.png new file mode 100644 index 00000000..aea623e3 Binary files /dev/null and b/static/img/miscellaneous/ai-easyscan/65.png differ diff --git a/static/img/miscellaneous/ai-easyscan/66.png b/static/img/miscellaneous/ai-easyscan/66.png new file mode 100644 index 00000000..7acc49d4 Binary files /dev/null and b/static/img/miscellaneous/ai-easyscan/66.png differ diff --git a/static/img/miscellaneous/ai-easyscan/67.png b/static/img/miscellaneous/ai-easyscan/67.png new file mode 100644 index 00000000..f8dd1e22 Binary files /dev/null and b/static/img/miscellaneous/ai-easyscan/67.png differ diff --git a/static/img/miscellaneous/ai-easyscan/68.png b/static/img/miscellaneous/ai-easyscan/68.png new file mode 100644 index 00000000..24e62669 Binary files /dev/null and b/static/img/miscellaneous/ai-easyscan/68.png differ diff --git a/static/img/miscellaneous/ai-easyscan/69.png b/static/img/miscellaneous/ai-easyscan/69.png new file mode 100644 index 00000000..efc5862a Binary files /dev/null and b/static/img/miscellaneous/ai-easyscan/69.png differ diff --git a/static/img/miscellaneous/ai-easyscan/7.png b/static/img/miscellaneous/ai-easyscan/7.png index 62cabe20..a2748754 100644 Binary files a/static/img/miscellaneous/ai-easyscan/7.png and b/static/img/miscellaneous/ai-easyscan/7.png differ diff --git a/static/img/miscellaneous/ai-easyscan/70.png b/static/img/miscellaneous/ai-easyscan/70.png new file mode 100644 index 00000000..400ba32a Binary files /dev/null and b/static/img/miscellaneous/ai-easyscan/70.png differ diff --git a/static/img/miscellaneous/ai-easyscan/8.png b/static/img/miscellaneous/ai-easyscan/8.png index c6f6771e..143b0553 100644 Binary files a/static/img/miscellaneous/ai-easyscan/8.png and b/static/img/miscellaneous/ai-easyscan/8.png differ diff --git a/static/img/miscellaneous/ai-easyscan/9.png b/static/img/miscellaneous/ai-easyscan/9.png index 6f175282..7c1c7508 100644 Binary files a/static/img/miscellaneous/ai-easyscan/9.png and b/static/img/miscellaneous/ai-easyscan/9.png differ