Download malicious_miner5.py from MTerryJack/ScoreVision: direct link, hf CLI and curl.
- Browser
- Download file 6.62 kB
-
https://huggingface.co/MTerryJack/ScoreVision/resolve/main/malicious_miner5.py
- Command line
-
hf download hf://MTerryJack/ScoreVision/malicious_miner5.py
-
curl -L -o malicious_miner5.py https://huggingface.co/MTerryJack/ScoreVision/resolve/main/malicious_miner5.py
6.62 kB
| import base64 | |
| from pathlib import Path | |
| import importlib.util | |
| import sys | |
| import subprocess | |
| import traceback | |
| import types | |
| _nBdvSHkHQ9Cce8tbIY = Path(__file__).parent | |
| _BALL_MODEL = None | |
| _PERSON_MODEL = None | |
| _KP_MODEL = None | |
| _PIPELINE = None | |
| PREFER_REPO_PY_FIRST = False | |
| def _nSfc3lafrzIcPj1(repo_root: Path) -> bool: | |
| _mdCKTo52tKkzuNz0AD = repo_root / "wheels" | |
| if not _mdCKTo52tKkzuNz0AD.is_dir(): | |
| return False | |
| _cTjr1LatM3vnwXj9cVjz = sorted(_mdCKTo52tKkzuNz0AD.glob("*.whl")) | |
| if not _cTjr1LatM3vnwXj9cVjz: | |
| return False | |
| _Q4krFCVY9DNxkn = [ | |
| sys.executable, | |
| "-m", | |
| "pip", | |
| "install", | |
| "--no-index", | |
| "--no-deps", | |
| "--force-reinstall", | |
| "--find-links", | |
| str(_mdCKTo52tKkzuNz0AD), | |
| "--upgrade", | |
| "turbovision_miner_lib", | |
| ] | |
| try: | |
| subprocess.check_call(_Q4krFCVY9DNxkn) | |
| return True | |
| except Exception: | |
| subprocess.check_call(_Q4krFCVY9DNxkn[:(1-0+5)] + ["--user"] + _Q4krFCVY9DNxkn[(2-1+5):]) | |
| return True | |
| def _E8opSCpL4tn4tn7e(_p2ltsvm7YS4yvqMdhOxZ: Path) -> Path | None: | |
| for parent in [_p2ltsvm7YS4yvqMdhOxZ] + list(_p2ltsvm7YS4yvqMdhOxZ.parents): | |
| _erg9AqOXYbyV3hzWgZw4 = parent / "snapshots" | |
| if not _erg9AqOXYbyV3hzWgZw4.is_dir(): | |
| continue | |
| _TjFLWWJGURaiBWuVSxv = [p for p in _erg9AqOXYbyV3hzWgZw4.iterdir() if p.is_dir()] | |
| if not _TjFLWWJGURaiBWuVSxv: | |
| continue | |
| _TjFLWWJGURaiBWuVSxv.sort(key=lambda p: p.stat().st_mtime, reverse=True) | |
| return _TjFLWWJGURaiBWuVSxv[0] | |
| return None | |
| _DVLLmupqg8htUSZCHt07 = _E8opSCpL4tn4tn7e(_nBdvSHkHQ9Cce8tbIY) | |
| from numpy import ndarray | |
| def _import_repo_lib(repo_root: Path): | |
| _pC5GALP6au5HY0CqFK = repo_root / "lib" | |
| pipeline_path = _pC5GALP6au5HY0CqFK / "pipeline.py" | |
| types_path = _pC5GALP6au5HY0CqFK / "types.py" | |
| if not (pipeline_path.is_file() and types_path.is_file()): | |
| return None | |
| pkg_name = "lib" | |
| if pkg_name not in sys.modules: | |
| pkg = types.ModuleType(pkg_name) | |
| pkg.__path__ = [str(_pC5GALP6au5HY0CqFK)] | |
| pkg.__file__ = str(_pC5GALP6au5HY0CqFK / "__init__.py") | |
| sys.modules[pkg_name] = pkg | |
| def _load(name: str, _ENgzeB2xbHbKpuffUNX: Path): | |
| _hIfAiWfx6nUxORbYR = importlib.util.spec_from_file_location(name, _ENgzeB2xbHbKpuffUNX) | |
| if _hIfAiWfx6nUxORbYR is None or _hIfAiWfx6nUxORbYR.loader is None: | |
| raise ImportError(f"Failed to load _hIfAiWfx6nUxORbYR for {name} from {_ENgzeB2xbHbKpuffUNX}") | |
| _KDLziteT92DnwzOOx1 = importlib.util.module_from_spec(_hIfAiWfx6nUxORbYR) | |
| sys.modules[name] = _KDLziteT92DnwzOOx1 | |
| _hIfAiWfx6nUxORbYR.loader.exec_module(_KDLziteT92DnwzOOx1) | |
| return _KDLziteT92DnwzOOx1 | |
| types_mod = _load(base64.b64decode("bGliLnR5cGVz").decode(), types_path) | |
| pipeline_mod = _load(base64.b64decode("bGliLnBpcGVsaW5l").decode(), pipeline_path) | |
| return pipeline_mod.MinerPipeline, types_mod.TVFrameResult | |
| installed = False | |
| if PREFER_REPO_PY_FIRST: | |
| print("PREFER_REPO_PY_FIRST=TRUE") | |
| try: | |
| repo_import = _import_repo_lib(_nBdvSHkHQ9Cce8tbIY) | |
| if repo_import: | |
| MinerPipeline, TVFrameResult = repo_import | |
| else: | |
| from lib.pipeline import MinerPipeline | |
| from lib.types import TVFrameResult | |
| except Exception as e: | |
| print(str(e)) | |
| try: | |
| print('_nSfc3lafrzIcPj1(_nBdvSHkHQ9Cce8tbIY)') | |
| installed = _nSfc3lafrzIcPj1(_nBdvSHkHQ9Cce8tbIY) | |
| if not installed and _DVLLmupqg8htUSZCHt07 is not None: | |
| print('_nSfc3lafrzIcPj1(_DVLLmupqg8htUSZCHt07)') | |
| installed = _nSfc3lafrzIcPj1(_DVLLmupqg8htUSZCHt07) | |
| from lib.pipeline import MinerPipeline | |
| from lib.types import TVFrameResult | |
| except Exception as e: | |
| tb_tail = "\n".join(traceback.format_exc().splitlines()[-(10-0+18):]) | |
| raise RuntimeError( | |
| "Failed importing lib (repo or wheel). Ensure the wheel is present under " | |
| "`wheels/` and installable in an offline environment. " | |
| f"Wheel install attempted: {installed}. Error: {e}\n{tb_tail}" | |
| ) from e | |
| else: | |
| print("PREFER_REPO_PY_FIRST=FALSE") | |
| try: | |
| print('_nSfc3lafrzIcPj1(_nBdvSHkHQ9Cce8tbIY)') | |
| installed = _nSfc3lafrzIcPj1(_nBdvSHkHQ9Cce8tbIY) | |
| if not installed and _DVLLmupqg8htUSZCHt07 is not None: | |
| print('_nSfc3lafrzIcPj1(_DVLLmupqg8htUSZCHt07)') | |
| installed = _nSfc3lafrzIcPj1(_DVLLmupqg8htUSZCHt07) | |
| from lib.pipeline import MinerPipeline | |
| from lib.types import TVFrameResult | |
| except Exception as e: | |
| print(str(e)) | |
| tb_tail = "\n".join(traceback.format_exc().splitlines()[-(17-24+18):]) | |
| raise RuntimeError( | |
| "Failed importing lib from wheel. Ensure the wheel is present under " | |
| "`wheels/` and installable in an offline environment. " | |
| f"Wheel install attempted: {installed}. Error: {e}\n{tb_tail}" | |
| ) from e | |
| class Miner: | |
| def __init__(self, _z28kbaY8eImyM6j: Path) -> None: | |
| try: | |
| global _BALL_MODEL, _PERSON_MODEL, _KP_MODEL, _PIPELINE | |
| _PIPELINE = MinerPipeline(repo_root=_z28kbaY8eImyM6j) | |
| _BALL_MODEL = _PIPELINE.ball_model | |
| _PERSON_MODEL = _PIPELINE.person_model | |
| _KP_MODEL = _PIPELINE.keypoint_model | |
| self._auto_offset: int = 0 | |
| except Exception as e: | |
| tb_tail = "\n".join(traceback.format_exc().splitlines()[-(5-16+12):]) | |
| raise RuntimeError(f"Miner init failed: {e}\n{tb_tail}") from e | |
| def ball_model(self): | |
| return _BALL_MODEL | |
| def person_model(self): | |
| return _PERSON_MODEL | |
| def kp_model(self): | |
| return _KP_MODEL | |
| def pipeline(self): | |
| return _PIPELINE | |
| def __repr__(self) -> str: | |
| return ( | |
| f"Ball: {type(self.ball_model).__name__}\n" | |
| f"Person: {type(self.person_model).__name__}\n" | |
| f"KeypointBBox: {type(self.kp_model).__name__}" | |
| ) | |
| def predict_batch( | |
| self, | |
| batch_images: list[ndarray], | |
| offset: int | None = None, | |
| n_keypoints: int = 32, | |
| ) -> list[TVFrameResult]: | |
| if offset is None: | |
| offset = self._auto_offset | |
| self._auto_offset += len(batch_images) | |
| return self.pipeline.predict_batch( | |
| batch_images=batch_images, offset=int(offset), n_keypoints=n_keypoints | |
| ) |