From 9f016d88c10e7862ae800ea6f1e9da16bcd4e5e1 Mon Sep 17 00:00:00 2001 From: Alexander Rossmanith Date: Fri, 7 Aug 2026 20:08:15 +0530 Subject: [PATCH] insert document header --- ...r Directory – Saji Koduvath Associates.url | 2 + install-pyenv-win.ps1 | 156 +++++++++++ poetry.lock | 243 ------------------ pyproject.toml | 2 +- src/hashtool/data/part_a.docx | Bin 0 -> 7064 bytes src/hashtool/data/part_a/[Content_Types].xml | 3 + src/hashtool/data/part_a/_rels/.rels | 3 + src/hashtool/data/part_a/docProps/app.xml | 2 + src/hashtool/data/part_a/docProps/core.xml | 2 + src/hashtool/data/part_a/docProps/custom.xml | 2 + .../data/part_a/word/_rels/document.xml.rels | 3 + src/hashtool/data/part_a/word/document.xml | 2 + src/hashtool/data/part_a/word/fontTable.xml | 2 + src/hashtool/data/part_a/word/settings.xml | 2 + src/hashtool/data/part_a/word/styles.xml | 2 + .../data/part_a/word/theme/theme1.xml | 2 + src/hashtool/data/part_b.docx | Bin 0 -> 6941 bytes src/hashtool/main.py | 54 +++- 18 files changed, 235 insertions(+), 247 deletions(-) create mode 100644 Hash Value Certificate – Mandatory or Directory – Saji Koduvath Associates.url create mode 100644 install-pyenv-win.ps1 delete mode 100644 poetry.lock create mode 100644 src/hashtool/data/part_a.docx create mode 100644 src/hashtool/data/part_a/[Content_Types].xml create mode 100644 src/hashtool/data/part_a/_rels/.rels create mode 100644 src/hashtool/data/part_a/docProps/app.xml create mode 100644 src/hashtool/data/part_a/docProps/core.xml create mode 100644 src/hashtool/data/part_a/docProps/custom.xml create mode 100644 src/hashtool/data/part_a/word/_rels/document.xml.rels create mode 100644 src/hashtool/data/part_a/word/document.xml create mode 100644 src/hashtool/data/part_a/word/fontTable.xml create mode 100644 src/hashtool/data/part_a/word/settings.xml create mode 100644 src/hashtool/data/part_a/word/styles.xml create mode 100644 src/hashtool/data/part_a/word/theme/theme1.xml create mode 100644 src/hashtool/data/part_b.docx diff --git a/Hash Value Certificate – Mandatory or Directory – Saji Koduvath Associates.url b/Hash Value Certificate – Mandatory or Directory – Saji Koduvath Associates.url new file mode 100644 index 0000000..6a2444d --- /dev/null +++ b/Hash Value Certificate – Mandatory or Directory – Saji Koduvath Associates.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=https://indianlawlive.net/2025/07/02/hash-value-certificate-mandatory-or-directory/ diff --git a/install-pyenv-win.ps1 b/install-pyenv-win.ps1 new file mode 100644 index 0000000..9e77238 --- /dev/null +++ b/install-pyenv-win.ps1 @@ -0,0 +1,156 @@ +<# + .SYNOPSIS + Installs pyenv-win + + .DESCRIPTION + Installs pyenv-win to $HOME\.pyenv + If pyenv-win is already installed, try to update to the latest version. + + .PARAMETER Uninstall + Uninstall pyenv-win. Note that this uninstalls any Python versions that were installed with pyenv-win. + + .INPUTS + None. + + .OUTPUTS + None. + + .EXAMPLE + PS> install-pyenv-win.ps1 + + .LINK + Online version: https://pyenv-win.github.io/pyenv-win/ +#> + +param ( + [Switch] $Uninstall = $False +) + +$PyEnvDir = "${env:USERPROFILE}\.pyenv" +$PyEnvWinDir = "${PyEnvDir}\pyenv-win" +$BinPath = "${PyEnvWinDir}\bin" +$ShimsPath = "${PyEnvWinDir}\shims" + +Function Remove-PyEnvVars() { + $PathParts = [System.Environment]::GetEnvironmentVariable('PATH', "User") -Split ";" + $NewPathParts = $PathParts.Where{ $_ -ne $BinPath }.Where{ $_ -ne $ShimsPath } + $NewPath = $NewPathParts -Join ";" + [System.Environment]::SetEnvironmentVariable('PATH', $NewPath, "User") + + [System.Environment]::SetEnvironmentVariable('PYENV', $null, "User") + [System.Environment]::SetEnvironmentVariable('PYENV_ROOT', $null, "User") + [System.Environment]::SetEnvironmentVariable('PYENV_HOME', $null, "User") +} + +Function Remove-PyEnv() { + Write-Host "Removing $PyEnvDir..." + If (Test-Path $PyEnvDir) { + Remove-Item -Path $PyEnvDir -Recurse + } + Write-Host "Removing environment variables..." + Remove-PyEnvVars +} + +Function Get-CurrentVersion() { + $VersionFilePath = "$PyEnvDir\.version" + If (Test-Path $VersionFilePath) { + $CurrentVersion = Get-Content $VersionFilePath + } + Else { + $CurrentVersion = "" + } + + Return $CurrentVersion +} + +Function Get-LatestVersion() { + $LatestVersionFilePath = "$PyEnvDir\latest.version" + (New-Object System.Net.WebClient).DownloadFile("https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/.version", $LatestVersionFilePath) + $LatestVersion = Get-Content $LatestVersionFilePath + + Remove-Item -Path $LatestVersionFilePath + + Return $LatestVersion +} + +Function Main() { + If ($Uninstall) { + Remove-PyEnv + If ($? -eq $True) { + Write-Host "pyenv-win successfully uninstalled." + } + Else { + Write-Host "Uninstallation failed." + } + exit + } + + $BackupDir = "${env:Temp}/pyenv-win-backup" + + $CurrentVersion = Get-CurrentVersion + If ($CurrentVersion) { + Write-Host "pyenv-win $CurrentVersion installed." + $LatestVersion = Get-LatestVersion + If ($CurrentVersion -eq $LatestVersion) { + Write-Host "No updates available." + exit + } + Else { + Write-Host "New version available: $LatestVersion. Updating..." + + Write-Host "Backing up existing Python installations..." + $FoldersToBackup = "install_cache", "versions", "shims" + ForEach ($Dir in $FoldersToBackup) { + If (-not (Test-Path $BackupDir)) { + New-Item -ItemType Directory -Path $BackupDir + } + Move-Item -Path "${PyEnvWinDir}/${Dir}" -Destination $BackupDir + } + + Write-Host "Removing $PyEnvDir..." + Remove-Item -Path $PyEnvDir -Recurse + } + } + + New-Item -Path $PyEnvDir -ItemType Directory + + $DownloadPath = "$PyEnvDir\pyenv-win.zip" + + (New-Object System.Net.WebClient).DownloadFile("https://github.com/pyenv-win/pyenv-win/archive/master.zip", $DownloadPath) + + Start-Process -FilePath "powershell.exe" -ArgumentList @( + "-NoProfile", + "-Command `"Microsoft.PowerShell.Archive\Expand-Archive -Path \`"$DownloadPath\`" -DestinationPath \`"$PyEnvDir\`"`"" + ) -NoNewWindow -Wait + + Move-Item -Path "$PyEnvDir\pyenv-win-master\*" -Destination "$PyEnvDir" + Remove-Item -Path "$PyEnvDir\pyenv-win-master" -Recurse + Remove-Item -Path $DownloadPath + + # Update env vars + [System.Environment]::SetEnvironmentVariable('PYENV', "${PyEnvWinDir}\", "User") + [System.Environment]::SetEnvironmentVariable('PYENV_ROOT', "${PyEnvWinDir}\", "User") + [System.Environment]::SetEnvironmentVariable('PYENV_HOME', "${PyEnvWinDir}\", "User") + + $PathParts = [System.Environment]::GetEnvironmentVariable('PATH', "User") -Split ";" + + # Remove existing paths, so we don't add duplicates + $NewPathParts = $PathParts.Where{ $_ -ne $BinPath }.Where{ $_ -ne $ShimsPath } + $NewPathParts = ($BinPath, $ShimsPath) + $NewPathParts + $NewPath = $NewPathParts -Join ";" + [System.Environment]::SetEnvironmentVariable('PATH', $NewPath, "User") + + If (Test-Path $BackupDir) { + Write-Host "Restoring Python installations..." + Move-Item -Path "$BackupDir/*" -Destination $PyEnvWinDir + } + + If ($? -eq $True) { + Write-Host "pyenv-win is successfully installed. You may need to close and reopen your terminal before using it." + } + Else { + Write-Host "pyenv-win was not installed successfully. If this issue persists, please open a ticket: https://github.com/pyenv-win/pyenv-win/issues." + } +} + +Main diff --git a/poetry.lock b/poetry.lock deleted file mode 100644 index 640bf55..0000000 --- a/poetry.lock +++ /dev/null @@ -1,243 +0,0 @@ -# This file is automatically @generated by Poetry 2.1.1 and should not be changed by hand. - -[[package]] -name = "flake8" -version = "7.3.0" -description = "the modular source code checker: pep8 pyflakes and co" -optional = false -python-versions = ">=3.9" -groups = ["dev"] -files = [ - {file = "flake8-7.3.0-py2.py3-none-any.whl", hash = "sha256:b9696257b9ce8beb888cdbe31cf885c90d31928fe202be0889a7cdafad32f01e"}, - {file = "flake8-7.3.0.tar.gz", hash = "sha256:fe044858146b9fc69b551a4b490d69cf960fcb78ad1edcb84e7fbb1b4a8e3872"}, -] - -[package.dependencies] -mccabe = ">=0.7.0,<0.8.0" -pycodestyle = ">=2.14.0,<2.15.0" -pyflakes = ">=3.4.0,<3.5.0" - -[[package]] -name = "lxml" -version = "6.0.2" -description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "lxml-6.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e77dd455b9a16bbd2a5036a63ddbd479c19572af81b624e79ef422f929eef388"}, - {file = "lxml-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d444858b9f07cefff6455b983aea9a67f7462ba1f6cbe4a21e8bf6791bf2153"}, - {file = "lxml-6.0.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f952dacaa552f3bb8834908dddd500ba7d508e6ea6eb8c52eb2d28f48ca06a31"}, - {file = "lxml-6.0.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:71695772df6acea9f3c0e59e44ba8ac50c4f125217e84aab21074a1a55e7e5c9"}, - {file = "lxml-6.0.2-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:17f68764f35fd78d7c4cc4ef209a184c38b65440378013d24b8aecd327c3e0c8"}, - {file = "lxml-6.0.2-cp310-cp310-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:058027e261afed589eddcfe530fcc6f3402d7fd7e89bfd0532df82ebc1563dba"}, - {file = "lxml-6.0.2-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8ffaeec5dfea5881d4c9d8913a32d10cfe3923495386106e4a24d45300ef79c"}, - {file = "lxml-6.0.2-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:f2e3b1a6bb38de0bc713edd4d612969dd250ca8b724be8d460001a387507021c"}, - {file = "lxml-6.0.2-cp310-cp310-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d6690ec5ec1cce0385cb20896b16be35247ac8c2046e493d03232f1c2414d321"}, - {file = "lxml-6.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2a50c3c1d11cad0ebebbac357a97b26aa79d2bcaf46f256551152aa85d3a4d1"}, - {file = "lxml-6.0.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:3efe1b21c7801ffa29a1112fab3b0f643628c30472d507f39544fd48e9549e34"}, - {file = "lxml-6.0.2-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:59c45e125140b2c4b33920d21d83681940ca29f0b83f8629ea1a2196dc8cfe6a"}, - {file = "lxml-6.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:452b899faa64f1805943ec1c0c9ebeaece01a1af83e130b69cdefeda180bb42c"}, - {file = "lxml-6.0.2-cp310-cp310-win32.whl", hash = "sha256:1e786a464c191ca43b133906c6903a7e4d56bef376b75d97ccbb8ec5cf1f0a4b"}, - {file = "lxml-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:dacf3c64ef3f7440e3167aa4b49aa9e0fb99e0aa4f9ff03795640bf94531bcb0"}, - {file = "lxml-6.0.2-cp310-cp310-win_arm64.whl", hash = "sha256:45f93e6f75123f88d7f0cfd90f2d05f441b808562bf0bc01070a00f53f5028b5"}, - {file = "lxml-6.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:13e35cbc684aadf05d8711a5d1b5857c92e5e580efa9a0d2be197199c8def607"}, - {file = "lxml-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b1675e096e17c6fe9c0e8c81434f5736c0739ff9ac6123c87c2d452f48fc938"}, - {file = "lxml-6.0.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8ac6e5811ae2870953390452e3476694196f98d447573234592d30488147404d"}, - {file = "lxml-6.0.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5aa0fc67ae19d7a64c3fe725dc9a1bb11f80e01f78289d05c6f62545affec438"}, - {file = "lxml-6.0.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:de496365750cc472b4e7902a485d3f152ecf57bd3ba03ddd5578ed8ceb4c5964"}, - {file = "lxml-6.0.2-cp311-cp311-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:200069a593c5e40b8f6fc0d84d86d970ba43138c3e68619ffa234bc9bb806a4d"}, - {file = "lxml-6.0.2-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7d2de809c2ee3b888b59f995625385f74629707c9355e0ff856445cdcae682b7"}, - {file = "lxml-6.0.2-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:b2c3da8d93cf5db60e8858c17684c47d01fee6405e554fb55018dd85fc23b178"}, - {file = "lxml-6.0.2-cp311-cp311-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:442de7530296ef5e188373a1ea5789a46ce90c4847e597856570439621d9c553"}, - {file = "lxml-6.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2593c77efde7bfea7f6389f1ab249b15ed4aa5bc5cb5131faa3b843c429fbedb"}, - {file = "lxml-6.0.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:3e3cb08855967a20f553ff32d147e14329b3ae70ced6edc2f282b94afbc74b2a"}, - {file = "lxml-6.0.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:2ed6c667fcbb8c19c6791bbf40b7268ef8ddf5a96940ba9404b9f9a304832f6c"}, - {file = "lxml-6.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b8f18914faec94132e5b91e69d76a5c1d7b0c73e2489ea8929c4aaa10b76bbf7"}, - {file = "lxml-6.0.2-cp311-cp311-win32.whl", hash = "sha256:6605c604e6daa9e0d7f0a2137bdc47a2e93b59c60a65466353e37f8272f47c46"}, - {file = "lxml-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e5867f2651016a3afd8dd2c8238baa66f1e2802f44bc17e236f547ace6647078"}, - {file = "lxml-6.0.2-cp311-cp311-win_arm64.whl", hash = "sha256:4197fb2534ee05fd3e7afaab5d8bfd6c2e186f65ea7f9cd6a82809c887bd1285"}, - {file = "lxml-6.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a59f5448ba2ceccd06995c95ea59a7674a10de0810f2ce90c9006f3cbc044456"}, - {file = "lxml-6.0.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e8113639f3296706fbac34a30813929e29247718e88173ad849f57ca59754924"}, - {file = "lxml-6.0.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a8bef9b9825fa8bc816a6e641bb67219489229ebc648be422af695f6e7a4fa7f"}, - {file = "lxml-6.0.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:65ea18d710fd14e0186c2f973dc60bb52039a275f82d3c44a0e42b43440ea534"}, - {file = "lxml-6.0.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c371aa98126a0d4c739ca93ceffa0fd7a5d732e3ac66a46e74339acd4d334564"}, - {file = "lxml-6.0.2-cp312-cp312-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:700efd30c0fa1a3581d80a748157397559396090a51d306ea59a70020223d16f"}, - {file = "lxml-6.0.2-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c33e66d44fe60e72397b487ee92e01da0d09ba2d66df8eae42d77b6d06e5eba0"}, - {file = "lxml-6.0.2-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:90a345bbeaf9d0587a3aaffb7006aa39ccb6ff0e96a57286c0cb2fd1520ea192"}, - {file = "lxml-6.0.2-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:064fdadaf7a21af3ed1dcaa106b854077fbeada827c18f72aec9346847cd65d0"}, - {file = "lxml-6.0.2-cp312-cp312-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fbc74f42c3525ac4ffa4b89cbdd00057b6196bcefe8bce794abd42d33a018092"}, - {file = "lxml-6.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6ddff43f702905a4e32bc24f3f2e2edfe0f8fde3277d481bffb709a4cced7a1f"}, - {file = "lxml-6.0.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:6da5185951d72e6f5352166e3da7b0dc27aa70bd1090b0eb3f7f7212b53f1bb8"}, - {file = "lxml-6.0.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:57a86e1ebb4020a38d295c04fc79603c7899e0df71588043eb218722dabc087f"}, - {file = "lxml-6.0.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:2047d8234fe735ab77802ce5f2297e410ff40f5238aec569ad7c8e163d7b19a6"}, - {file = "lxml-6.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6f91fd2b2ea15a6800c8e24418c0775a1694eefc011392da73bc6cef2623b322"}, - {file = "lxml-6.0.2-cp312-cp312-win32.whl", hash = "sha256:3ae2ce7d6fedfb3414a2b6c5e20b249c4c607f72cb8d2bb7cc9c6ec7c6f4e849"}, - {file = "lxml-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:72c87e5ee4e58a8354fb9c7c84cbf95a1c8236c127a5d1b7683f04bed8361e1f"}, - {file = "lxml-6.0.2-cp312-cp312-win_arm64.whl", hash = "sha256:61cb10eeb95570153e0c0e554f58df92ecf5109f75eacad4a95baa709e26c3d6"}, - {file = "lxml-6.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9b33d21594afab46f37ae58dfadd06636f154923c4e8a4d754b0127554eb2e77"}, - {file = "lxml-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6c8963287d7a4c5c9a432ff487c52e9c5618667179c18a204bdedb27310f022f"}, - {file = "lxml-6.0.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1941354d92699fb5ffe6ed7b32f9649e43c2feb4b97205f75866f7d21aa91452"}, - {file = "lxml-6.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bb2f6ca0ae2d983ded09357b84af659c954722bbf04dea98030064996d156048"}, - {file = "lxml-6.0.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb2a12d704f180a902d7fa778c6d71f36ceb7b0d317f34cdc76a5d05aa1dd1df"}, - {file = "lxml-6.0.2-cp313-cp313-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:6ec0e3f745021bfed19c456647f0298d60a24c9ff86d9d051f52b509663feeb1"}, - {file = "lxml-6.0.2-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:846ae9a12d54e368933b9759052d6206a9e8b250291109c48e350c1f1f49d916"}, - {file = "lxml-6.0.2-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ef9266d2aa545d7374938fb5c484531ef5a2ec7f2d573e62f8ce722c735685fd"}, - {file = "lxml-6.0.2-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:4077b7c79f31755df33b795dc12119cb557a0106bfdab0d2c2d97bd3cf3dffa6"}, - {file = "lxml-6.0.2-cp313-cp313-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a7c5d5e5f1081955358533be077166ee97ed2571d6a66bdba6ec2f609a715d1a"}, - {file = "lxml-6.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8f8d0cbd0674ee89863a523e6994ac25fd5be9c8486acfc3e5ccea679bad2679"}, - {file = "lxml-6.0.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2cbcbf6d6e924c28f04a43f3b6f6e272312a090f269eff68a2982e13e5d57659"}, - {file = "lxml-6.0.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dfb874cfa53340009af6bdd7e54ebc0d21012a60a4e65d927c2e477112e63484"}, - {file = "lxml-6.0.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:fb8dae0b6b8b7f9e96c26fdd8121522ce5de9bb5538010870bd538683d30e9a2"}, - {file = "lxml-6.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:358d9adae670b63e95bc59747c72f4dc97c9ec58881d4627fe0120da0f90d314"}, - {file = "lxml-6.0.2-cp313-cp313-win32.whl", hash = "sha256:e8cd2415f372e7e5a789d743d133ae474290a90b9023197fd78f32e2dc6873e2"}, - {file = "lxml-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:b30d46379644fbfc3ab81f8f82ae4de55179414651f110a1514f0b1f8f6cb2d7"}, - {file = "lxml-6.0.2-cp313-cp313-win_arm64.whl", hash = "sha256:13dcecc9946dca97b11b7c40d29fba63b55ab4170d3c0cf8c0c164343b9bfdcf"}, - {file = "lxml-6.0.2-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:b0c732aa23de8f8aec23f4b580d1e52905ef468afb4abeafd3fec77042abb6fe"}, - {file = "lxml-6.0.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:4468e3b83e10e0317a89a33d28f7aeba1caa4d1a6fd457d115dd4ffe90c5931d"}, - {file = "lxml-6.0.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:abd44571493973bad4598a3be7e1d807ed45aa2adaf7ab92ab7c62609569b17d"}, - {file = "lxml-6.0.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:370cd78d5855cfbffd57c422851f7d3864e6ae72d0da615fca4dad8c45d375a5"}, - {file = "lxml-6.0.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:901e3b4219fa04ef766885fb40fa516a71662a4c61b80c94d25336b4934b71c0"}, - {file = "lxml-6.0.2-cp314-cp314-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:a4bf42d2e4cf52c28cc1812d62426b9503cdb0c87a6de81442626aa7d69707ba"}, - {file = "lxml-6.0.2-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2c7fdaa4d7c3d886a42534adec7cfac73860b89b4e5298752f60aa5984641a0"}, - {file = "lxml-6.0.2-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:98a5e1660dc7de2200b00d53fa00bcd3c35a3608c305d45a7bbcaf29fa16e83d"}, - {file = "lxml-6.0.2-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:dc051506c30b609238d79eda75ee9cab3e520570ec8219844a72a46020901e37"}, - {file = "lxml-6.0.2-cp314-cp314-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8799481bbdd212470d17513a54d568f44416db01250f49449647b5ab5b5dccb9"}, - {file = "lxml-6.0.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9261bb77c2dab42f3ecd9103951aeca2c40277701eb7e912c545c1b16e0e4917"}, - {file = "lxml-6.0.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:65ac4a01aba353cfa6d5725b95d7aed6356ddc0a3cd734de00124d285b04b64f"}, - {file = "lxml-6.0.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:b22a07cbb82fea98f8a2fd814f3d1811ff9ed76d0fc6abc84eb21527596e7cc8"}, - {file = "lxml-6.0.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:d759cdd7f3e055d6bc8d9bec3ad905227b2e4c785dc16c372eb5b5e83123f48a"}, - {file = "lxml-6.0.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:945da35a48d193d27c188037a05fec5492937f66fb1958c24fc761fb9d40d43c"}, - {file = "lxml-6.0.2-cp314-cp314-win32.whl", hash = "sha256:be3aaa60da67e6153eb15715cc2e19091af5dc75faef8b8a585aea372507384b"}, - {file = "lxml-6.0.2-cp314-cp314-win_amd64.whl", hash = "sha256:fa25afbadead523f7001caf0c2382afd272c315a033a7b06336da2637d92d6ed"}, - {file = "lxml-6.0.2-cp314-cp314-win_arm64.whl", hash = "sha256:063eccf89df5b24e361b123e257e437f9e9878f425ee9aae3144c77faf6da6d8"}, - {file = "lxml-6.0.2-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:6162a86d86893d63084faaf4ff937b3daea233e3682fb4474db07395794fa80d"}, - {file = "lxml-6.0.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:414aaa94e974e23a3e92e7ca5b97d10c0cf37b6481f50911032c69eeb3991bba"}, - {file = "lxml-6.0.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:48461bd21625458dd01e14e2c38dd0aea69addc3c4f960c30d9f59d7f93be601"}, - {file = "lxml-6.0.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:25fcc59afc57d527cfc78a58f40ab4c9b8fd096a9a3f964d2781ffb6eb33f4ed"}, - {file = "lxml-6.0.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5179c60288204e6ddde3f774a93350177e08876eaf3ab78aa3a3649d43eb7d37"}, - {file = "lxml-6.0.2-cp314-cp314t-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:967aab75434de148ec80597b75062d8123cadf2943fb4281f385141e18b21338"}, - {file = "lxml-6.0.2-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d100fcc8930d697c6561156c6810ab4a508fb264c8b6779e6e61e2ed5e7558f9"}, - {file = "lxml-6.0.2-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ca59e7e13e5981175b8b3e4ab84d7da57993eeff53c07764dcebda0d0e64ecd"}, - {file = "lxml-6.0.2-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:957448ac63a42e2e49531b9d6c0fa449a1970dbc32467aaad46f11545be9af1d"}, - {file = "lxml-6.0.2-cp314-cp314t-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b7fc49c37f1786284b12af63152fe1d0990722497e2d5817acfe7a877522f9a9"}, - {file = "lxml-6.0.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e19e0643cc936a22e837f79d01a550678da8377d7d801a14487c10c34ee49c7e"}, - {file = "lxml-6.0.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:1db01e5cf14345628e0cbe71067204db658e2fb8e51e7f33631f5f4735fefd8d"}, - {file = "lxml-6.0.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:875c6b5ab39ad5291588aed6925fac99d0097af0dd62f33c7b43736043d4a2ec"}, - {file = "lxml-6.0.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:cdcbed9ad19da81c480dfd6dd161886db6096083c9938ead313d94b30aadf272"}, - {file = "lxml-6.0.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:80dadc234ebc532e09be1975ff538d154a7fa61ea5031c03d25178855544728f"}, - {file = "lxml-6.0.2-cp314-cp314t-win32.whl", hash = "sha256:da08e7bb297b04e893d91087df19638dc7a6bb858a954b0cc2b9f5053c922312"}, - {file = "lxml-6.0.2-cp314-cp314t-win_amd64.whl", hash = "sha256:252a22982dca42f6155125ac76d3432e548a7625d56f5a273ee78a5057216eca"}, - {file = "lxml-6.0.2-cp314-cp314t-win_arm64.whl", hash = "sha256:bb4c1847b303835d89d785a18801a883436cdfd5dc3d62947f9c49e24f0f5a2c"}, - {file = "lxml-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a656ca105115f6b766bba324f23a67914d9c728dafec57638e2b92a9dcd76c62"}, - {file = "lxml-6.0.2-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c54d83a2188a10ebdba573f16bd97135d06c9ef60c3dc495315c7a28c80a263f"}, - {file = "lxml-6.0.2-cp38-cp38-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:1ea99340b3c729beea786f78c38f60f4795622f36e305d9c9be402201efdc3b7"}, - {file = "lxml-6.0.2-cp38-cp38-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:af85529ae8d2a453feee4c780d9406a5e3b17cee0dd75c18bd31adcd584debc3"}, - {file = "lxml-6.0.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:fe659f6b5d10fb5a17f00a50eb903eb277a71ee35df4615db573c069bcf967ac"}, - {file = "lxml-6.0.2-cp38-cp38-win32.whl", hash = "sha256:5921d924aa5468c939d95c9814fa9f9b5935a6ff4e679e26aaf2951f74043512"}, - {file = "lxml-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:0aa7070978f893954008ab73bb9e3c24a7c56c054e00566a21b553dc18105fca"}, - {file = "lxml-6.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2c8458c2cdd29589a8367c09c8f030f1d202be673f0ca224ec18590b3b9fb694"}, - {file = "lxml-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3fee0851639d06276e6b387f1c190eb9d7f06f7f53514e966b26bae46481ec90"}, - {file = "lxml-6.0.2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b2142a376b40b6736dfc214fd2902409e9e3857eff554fed2d3c60f097e62a62"}, - {file = "lxml-6.0.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a6b5b39cc7e2998f968f05309e666103b53e2edd01df8dc51b90d734c0825444"}, - {file = "lxml-6.0.2-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4aec24d6b72ee457ec665344a29acb2d35937d5192faebe429ea02633151aad"}, - {file = "lxml-6.0.2-cp39-cp39-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:b42f4d86b451c2f9d06ffb4f8bbc776e04df3ba070b9fe2657804b1b40277c48"}, - {file = "lxml-6.0.2-cp39-cp39-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6cdaefac66e8b8f30e37a9b4768a391e1f8a16a7526d5bc77a7928408ef68e93"}, - {file = "lxml-6.0.2-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:b738f7e648735714bbb82bdfd030203360cfeab7f6e8a34772b3c8c8b820568c"}, - {file = "lxml-6.0.2-cp39-cp39-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:daf42de090d59db025af61ce6bdb2521f0f102ea0e6ea310f13c17610a97da4c"}, - {file = "lxml-6.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:66328dabea70b5ba7e53d94aa774b733cf66686535f3bc9250a7aab53a91caaf"}, - {file = "lxml-6.0.2-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:e237b807d68a61fc3b1e845407e27e5eb8ef69bc93fe8505337c1acb4ee300b6"}, - {file = "lxml-6.0.2-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:ac02dc29fd397608f8eb15ac1610ae2f2f0154b03f631e6d724d9e2ad4ee2c84"}, - {file = "lxml-6.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:817ef43a0c0b4a77bd166dc9a09a555394105ff3374777ad41f453526e37f9cb"}, - {file = "lxml-6.0.2-cp39-cp39-win32.whl", hash = "sha256:bc532422ff26b304cfb62b328826bd995c96154ffd2bac4544f37dbb95ecaa8f"}, - {file = "lxml-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:995e783eb0374c120f528f807443ad5a83a656a8624c467ea73781fc5f8a8304"}, - {file = "lxml-6.0.2-cp39-cp39-win_arm64.whl", hash = "sha256:08b9d5e803c2e4725ae9e8559ee880e5328ed61aa0935244e0515d7d9dbec0aa"}, - {file = "lxml-6.0.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e748d4cf8fef2526bb2a589a417eba0c8674e29ffcb570ce2ceca44f1e567bf6"}, - {file = "lxml-6.0.2-pp310-pypy310_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4ddb1049fa0579d0cbd00503ad8c58b9ab34d1254c77bc6a5576d96ec7853dba"}, - {file = "lxml-6.0.2-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cb233f9c95f83707dae461b12b720c1af9c28c2d19208e1be03387222151daf5"}, - {file = "lxml-6.0.2-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bc456d04db0515ce3320d714a1eac7a97774ff0849e7718b492d957da4631dd4"}, - {file = "lxml-6.0.2-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2613e67de13d619fd283d58bda40bff0ee07739f624ffee8b13b631abf33083d"}, - {file = "lxml-6.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:24a8e756c982c001ca8d59e87c80c4d9dcd4d9b44a4cbeb8d9be4482c514d41d"}, - {file = "lxml-6.0.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1c06035eafa8404b5cf475bb37a9f6088b0aca288d4ccc9d69389750d5543700"}, - {file = "lxml-6.0.2-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c7d13103045de1bdd6fe5d61802565f1a3537d70cd3abf596aa0af62761921ee"}, - {file = "lxml-6.0.2-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0a3c150a95fbe5ac91de323aa756219ef9cf7fde5a3f00e2281e30f33fa5fa4f"}, - {file = "lxml-6.0.2-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:60fa43be34f78bebb27812ed90f1925ec99560b0fa1decdb7d12b84d857d31e9"}, - {file = "lxml-6.0.2-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:21c73b476d3cfe836be731225ec3421fa2f048d84f6df6a8e70433dff1376d5a"}, - {file = "lxml-6.0.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:27220da5be049e936c3aca06f174e8827ca6445a4353a1995584311487fc4e3e"}, - {file = "lxml-6.0.2.tar.gz", hash = "sha256:cd79f3367bd74b317dda655dc8fcfa304d9eb6e4fb06b7168c5cf27f96e0cd62"}, -] - -[package.extras] -cssselect = ["cssselect (>=0.7)"] -html-clean = ["lxml_html_clean"] -html5 = ["html5lib"] -htmlsoup = ["BeautifulSoup4"] - -[[package]] -name = "mccabe" -version = "0.7.0" -description = "McCabe checker, plugin for flake8" -optional = false -python-versions = ">=3.6" -groups = ["dev"] -files = [ - {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, - {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, -] - -[[package]] -name = "pycodestyle" -version = "2.14.0" -description = "Python style guide checker" -optional = false -python-versions = ">=3.9" -groups = ["dev"] -files = [ - {file = "pycodestyle-2.14.0-py2.py3-none-any.whl", hash = "sha256:dd6bf7cb4ee77f8e016f9c8e74a35ddd9f67e1d5fd4184d86c3b98e07099f42d"}, - {file = "pycodestyle-2.14.0.tar.gz", hash = "sha256:c4b5b517d278089ff9d0abdec919cd97262a3367449ea1c8b49b91529167b783"}, -] - -[[package]] -name = "pyflakes" -version = "3.4.0" -description = "passive checker of Python programs" -optional = false -python-versions = ">=3.9" -groups = ["dev"] -files = [ - {file = "pyflakes-3.4.0-py2.py3-none-any.whl", hash = "sha256:f742a7dbd0d9cb9ea41e9a24a918996e8170c799fa528688d40dd582c8265f4f"}, - {file = "pyflakes-3.4.0.tar.gz", hash = "sha256:b24f96fafb7d2ab0ec5075b7350b3d2d2218eab42003821c06344973d3ea2f58"}, -] - -[[package]] -name = "python-docx" -version = "1.2.0" -description = "Create, read, and update Microsoft Word .docx files." -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "python_docx-1.2.0-py3-none-any.whl", hash = "sha256:3fd478f3250fbbbfd3b94fe1e985955737c145627498896a8a6bf81f4baf66c7"}, - {file = "python_docx-1.2.0.tar.gz", hash = "sha256:7bc9d7b7d8a69c9c02ca09216118c86552704edc23bac179283f2e38f86220ce"}, -] - -[package.dependencies] -lxml = ">=3.1.0" -typing_extensions = ">=4.9.0" - -[[package]] -name = "typing-extensions" -version = "4.15.0" -description = "Backported and Experimental Type Hints for Python 3.9+" -optional = false -python-versions = ">=3.9" -groups = ["main"] -files = [ - {file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"}, - {file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"}, -] - -[metadata] -lock-version = "2.1" -python-versions = ">=3.13" -content-hash = "b3c6533c7a250bb76bb35cb861bc8dcdbe9f02df4681fbf443efb538b97026c5" diff --git a/pyproject.toml b/pyproject.toml index 03627e8..07a4cd3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ authors = [ readme = "README.md" requires-python = ">=3.13" dependencies = [ - "python-docx (>=1.2.0,<2.0.0)" + "python-docx (>=1.2.0,<2.0.0)", ] [tool.poetry] diff --git a/src/hashtool/data/part_a.docx b/src/hashtool/data/part_a.docx new file mode 100644 index 0000000000000000000000000000000000000000..b3b7f8dfedb4b2bee4cea47f638ad6f19cc33703 GIT binary patch literal 7064 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 literal 0 HcmV?d00001 diff --git a/src/hashtool/data/part_a/[Content_Types].xml b/src/hashtool/data/part_a/[Content_Types].xml new file mode 100644 index 0000000..4a2bcdc --- /dev/null +++ b/src/hashtool/data/part_a/[Content_Types].xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/hashtool/data/part_a/_rels/.rels b/src/hashtool/data/part_a/_rels/.rels new file mode 100644 index 0000000..0f6029b --- /dev/null +++ b/src/hashtool/data/part_a/_rels/.rels @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/hashtool/data/part_a/docProps/app.xml b/src/hashtool/data/part_a/docProps/app.xml new file mode 100644 index 0000000..8032c26 --- /dev/null +++ b/src/hashtool/data/part_a/docProps/app.xml @@ -0,0 +1,2 @@ + +7LibreOffice/24.2.5.2$Windows_X86_64 LibreOffice_project/bffef4ea93e59bebbeaf7f431bb02b1a39ee8a5915.000022561349166236 \ No newline at end of file diff --git a/src/hashtool/data/part_a/docProps/core.xml b/src/hashtool/data/part_a/docProps/core.xml new file mode 100644 index 0000000..58b4c8c --- /dev/null +++ b/src/hashtool/data/part_a/docProps/core.xml @@ -0,0 +1,2 @@ + +2025-10-08T20:29:00Zen-IN2026-01-18T13:54:58Z7 \ No newline at end of file diff --git a/src/hashtool/data/part_a/docProps/custom.xml b/src/hashtool/data/part_a/docProps/custom.xml new file mode 100644 index 0000000..7c732aa --- /dev/null +++ b/src/hashtool/data/part_a/docProps/custom.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/hashtool/data/part_a/word/_rels/document.xml.rels b/src/hashtool/data/part_a/word/_rels/document.xml.rels new file mode 100644 index 0000000..da2704b --- /dev/null +++ b/src/hashtool/data/part_a/word/_rels/document.xml.rels @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/hashtool/data/part_a/word/document.xml b/src/hashtool/data/part_a/word/document.xml new file mode 100644 index 0000000..2a11234 --- /dev/null +++ b/src/hashtool/data/part_a/word/document.xml @@ -0,0 +1,2 @@ + +CERTIFICATE Part A The Bharatiya Sakshya Adhiniyam, 2023 [See section 63(4)(c)] (To be filled by the Party)I, ……………………..., Aged ……………. S/o…………………., ………………..... House, ……………….. P.O, …………………... Village, ……………….. Taluk do hereby solemnly affirm and sincerely state and submit as follows:- I have produced electronic record/output of the digital record taken from the following device/digital record source (tick mark):- Computer / Storage Media DVR Mobile Flash Drive CD/DVD Server Cloud Other Other :Make & Model :Color :Serial Number : IMEI/UIN/UID/MAC/Cloud ID : (as applicable) and any other relevant information, if any, about the device/digital record (specify) …………………………………………………………………...The digital device or the digital record source was under the lawful control for regularly creating, storing or processing information for the purposes of carrying out regular activities and during this period, the computer/digital device was working properly and the relevant information was regularly fed into the computer during the ordinary course of business. If the computer / digital device at any point of time was not working properly or out of operation, then it has not affected the electronic / digital record or its accuracy. The digital device or the source of the digital record is:Owned Maintained Managed Operated by me (select as applicable).I state that the HASH values of the electronic / digital records and corresponding algorithm used are as follows:PHOTO 1.JPEGMD5SHA 1SHA 256SHA 512Date : ………………..Time(IST) : …………...(24 hours format)Place: …………….. \ No newline at end of file diff --git a/src/hashtool/data/part_a/word/fontTable.xml b/src/hashtool/data/part_a/word/fontTable.xml new file mode 100644 index 0000000..7356319 --- /dev/null +++ b/src/hashtool/data/part_a/word/fontTable.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/hashtool/data/part_a/word/settings.xml b/src/hashtool/data/part_a/word/settings.xml new file mode 100644 index 0000000..b431ef2 --- /dev/null +++ b/src/hashtool/data/part_a/word/settings.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/hashtool/data/part_a/word/styles.xml b/src/hashtool/data/part_a/word/styles.xml new file mode 100644 index 0000000..3481b1f --- /dev/null +++ b/src/hashtool/data/part_a/word/styles.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/hashtool/data/part_a/word/theme/theme1.xml b/src/hashtool/data/part_a/word/theme/theme1.xml new file mode 100644 index 0000000..b7e70ce --- /dev/null +++ b/src/hashtool/data/part_a/word/theme/theme1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/hashtool/data/part_b.docx b/src/hashtool/data/part_b.docx new file mode 100644 index 0000000000000000000000000000000000000000..61539263cf26255924f0b88ce24c4c589c1c4785 GIT binary patch literal 6941 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 lvi#Y^!_@qHAi>Z6U+z#