2023-09-07T22:58:59,021 Created temporary directory: /tmp/pip-build-tracker-u6qox_bj 2023-09-07T22:58:59,022 Initialized build tracking at /tmp/pip-build-tracker-u6qox_bj 2023-09-07T22:58:59,022 Created build tracker: /tmp/pip-build-tracker-u6qox_bj 2023-09-07T22:58:59,023 Entered build tracker: /tmp/pip-build-tracker-u6qox_bj 2023-09-07T22:58:59,023 Created temporary directory: /tmp/pip-wheel-n2qev0c8 2023-09-07T22:58:59,026 Created temporary directory: /tmp/pip-ephem-wheel-cache-4gddk2nb 2023-09-07T22:58:59,048 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-09-07T22:58:59,052 2 location(s) to search for versions of dupfilefind: 2023-09-07T22:58:59,052 * https://pypi.org/simple/dupfilefind/ 2023-09-07T22:58:59,052 * https://www.piwheels.org/simple/dupfilefind/ 2023-09-07T22:58:59,053 Fetching project page and analyzing links: https://pypi.org/simple/dupfilefind/ 2023-09-07T22:58:59,054 Getting page https://pypi.org/simple/dupfilefind/ 2023-09-07T22:58:59,055 Found index url https://pypi.org/simple/ 2023-09-07T22:58:59,194 Fetched page https://pypi.org/simple/dupfilefind/ as application/vnd.pypi.simple.v1+json 2023-09-07T22:58:59,200 Found link https://files.pythonhosted.org/packages/40/5b/4113f6e0114fbb36ca7c3259bacab4c4ea9ea66987eefdffb689d5ebb9bc/dupfilefind-1.0.3.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.0.3 2023-09-07T22:58:59,201 Found link https://files.pythonhosted.org/packages/66/d7/a984457dcf4c140ce6db4c7594071356152a23f5c2ce6fd630d78ae2f36d/dupfilefind-1.1.0.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.1.0 2023-09-07T22:58:59,201 Found link https://files.pythonhosted.org/packages/de/fd/f05b0cee945fa4befe60ef5da002f95ed48188e2ff935ac1e6265284a0b1/dupfilefind-1.1.1.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.1.1 2023-09-07T22:58:59,202 Found link https://files.pythonhosted.org/packages/0c/e4/260983a373e8373954e0a252f4510a7ef8352e0c28d334793ac9d6204614/dupfilefind-1.1.2.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.1.2 2023-09-07T22:58:59,202 Found link https://files.pythonhosted.org/packages/e3/d0/5f6d1a8da4212851f85fb46cb86684dcbb175bcc63e32cd315226d304ba8/dupfilefind-1.2.0.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.2.0 2023-09-07T22:58:59,203 Found link https://files.pythonhosted.org/packages/9a/77/19f281b6a4aac7c2d702e3ace3e78be5db30432b07f8db0dc4fdda118c3e/dupfilefind-1.2.1.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.2.1 2023-09-07T22:58:59,204 Found link https://files.pythonhosted.org/packages/a6/cb/3476a1f1e76461719280e8cb9f4d63e7ef62a1910dcf6fb88976cb15a8a8/dupfilefind-1.2.2.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.2.2 2023-09-07T22:58:59,204 Found link https://files.pythonhosted.org/packages/b8/74/94d2dfbab80a49ad434046beba85d90ad87a0de535416324fa18c531833c/dupfilefind-1.3.0.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.3.0 2023-09-07T22:58:59,205 Found link https://files.pythonhosted.org/packages/c8/bd/7c1b1d77c14b22888b78245e4459ec460fe4a0e630ec77e5c9e1e9f70609/dupfilefind-1.3.1.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.3.1 2023-09-07T22:58:59,206 Found link https://files.pythonhosted.org/packages/9d/09/ced7020c011bc61f723ca5f781f3b57cdd8fcebf7c42fdcdd3dcc55b965a/dupfilefind-1.4.0.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.4.0 2023-09-07T22:58:59,206 Found link https://files.pythonhosted.org/packages/67/0e/ed93d69b1542ea9452f316bfca5aa1647395e3fc5e7114517bedc985a268/dupfilefind-1.4.1.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.4.1 2023-09-07T22:58:59,207 Found link https://files.pythonhosted.org/packages/a7/3b/9c3e916a7c3d43d879bf179cfdb38c02add4b9f3433948db1facbd958e5e/dupfilefind-1.4.1-5.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.4.1-5 2023-09-07T22:58:59,208 Found link https://files.pythonhosted.org/packages/fd/d2/2f13e3edf7891a16da50a3248b56759469c5bede44b7da47c7fd9a664b69/dupfilefind-1.4.2.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.4.2 2023-09-07T22:58:59,208 Found link https://files.pythonhosted.org/packages/14/57/e6bc5f2235a7482395e2d715c71a450baeb0795d3697f147d41e311a280f/dupfilefind-1.4.3.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.4.3 2023-09-07T22:58:59,209 Found link https://files.pythonhosted.org/packages/ac/0e/43db8063210c2f7d1f4fb490508caade09180f8561f2f01af037274ba35a/dupfilefind-1.5.0.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.5.0 2023-09-07T22:58:59,210 Found link https://files.pythonhosted.org/packages/c9/47/6209f402abce0f639479372eed586664084192ff7ade9954afa3352f587b/dupfilefind-1.6.0.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.6.0 2023-09-07T22:58:59,210 Found link https://files.pythonhosted.org/packages/c9/cc/e6dd8ebf77b439869453cf950bce0349d27b823d9d5e28849dd73da77c9d/dupfilefind-1.6.1.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.6.1 2023-09-07T22:58:59,211 Found link https://files.pythonhosted.org/packages/7c/4b/279653240a59ce881eba48ec8ce269ef9a753688027a308d0e1dfa116238/dupfilefind-1.6.1-4.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.6.1-4 2023-09-07T22:58:59,211 Found link https://files.pythonhosted.org/packages/69/93/07de68a2853db1abd57b2bb0becec5366930fe0aab02609c0f1f546bec13/dupfilefind-1.6.2.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.6.2 2023-09-07T22:58:59,212 Found link https://files.pythonhosted.org/packages/b0/b6/4fa1d56ffbdf940bb5a3d4c171165551591bda5af7ca763b1f3b2af594f5/dupfilefind-1.6.2-1.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.6.2-1 2023-09-07T22:58:59,212 Found link https://files.pythonhosted.org/packages/ce/3e/22c24bf4c419da27197d4150ec3fb08b21fa78c85392fc8be53ee104edc7/dupfilefind-1.6.3.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.6.3 2023-09-07T22:58:59,213 Found link https://files.pythonhosted.org/packages/42/bf/96349c5cb71660b0e6173885e6413c4bddb1979dd5cb7daf8e1518efc58f/dupfilefind-1.6.3-1.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.6.3-1 2023-09-07T22:58:59,214 Found link https://files.pythonhosted.org/packages/06/7b/cca544f8a9313d671e85306624450347508cdd1c500c9a452d8dff8a90a4/dupfilefind-1.6.3-4.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.6.3-4 2023-09-07T22:58:59,214 Found link https://files.pythonhosted.org/packages/54/f7/3bcde4870539947e89d657da806b2a3a600cbe07ebba2368889880332d91/dupfilefind-1.6.4.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.6.4 2023-09-07T22:58:59,215 Found link https://files.pythonhosted.org/packages/ca/18/2d2d618dbc4f29a7a2fdcb314f1c9a2f2b7cd44481908bff69ff7e35c824/dupfilefind-1.6.5.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.6.5 2023-09-07T22:58:59,215 Found link https://files.pythonhosted.org/packages/b9/84/ab3e477f2af5fb5f2667e0ad10b217f764beab618f9e0d6c7f1d04937982/dupfilefind-1.6.6.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.6.6 2023-09-07T22:58:59,216 Found link https://files.pythonhosted.org/packages/f3/2b/99cbf4daf7b1c9dd85b4389d7cd7e29367a27ca393530d053be27c2e9a4a/dupfilefind-1.6.7.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.6.7 2023-09-07T22:58:59,217 Found link https://files.pythonhosted.org/packages/b3/9d/91a3462bad66cacd4ddeb1574e646cc8d512680d5cc7dabffd2dc942cf7d/dupfilefind-1.6.9.tar.gz (from https://pypi.org/simple/dupfilefind/), version: 1.6.9 2023-09-07T22:58:59,217 Fetching project page and analyzing links: https://www.piwheels.org/simple/dupfilefind/ 2023-09-07T22:58:59,218 Getting page https://www.piwheels.org/simple/dupfilefind/ 2023-09-07T22:58:59,219 Found index url https://www.piwheels.org/simple/ 2023-09-07T22:58:59,465 Fetched page https://www.piwheels.org/simple/dupfilefind/ as text/html 2023-09-07T22:58:59,466 Skipping link: not a file: https://www.piwheels.org/simple/dupfilefind/ 2023-09-07T22:58:59,467 Skipping link: not a file: https://pypi.org/simple/dupfilefind/ 2023-09-07T22:58:59,489 Given no hashes to check 1 links for project 'dupfilefind': discarding no candidates 2023-09-07T22:58:59,507 Collecting dupfilefind==1.4.1-5 2023-09-07T22:58:59,509 Created temporary directory: /tmp/pip-unpack-_o6l_od4 2023-09-07T22:58:59,722 Downloading dupfilefind-1.4.1-5.tar.gz (9.5 kB) 2023-09-07T22:58:59,763 Added dupfilefind==1.4.1-5 from https://files.pythonhosted.org/packages/a7/3b/9c3e916a7c3d43d879bf179cfdb38c02add4b9f3433948db1facbd958e5e/dupfilefind-1.4.1-5.tar.gz to build tracker '/tmp/pip-build-tracker-u6qox_bj' 2023-09-07T22:58:59,765 Running setup.py (path:/tmp/pip-wheel-n2qev0c8/dupfilefind_3685e867fd7941218c3965339ebe3ea0/setup.py) egg_info for package dupfilefind 2023-09-07T22:58:59,766 Created temporary directory: /tmp/pip-pip-egg-info-xquzxk0m 2023-09-07T22:58:59,766 Preparing metadata (setup.py): started 2023-09-07T22:58:59,767 Running command python setup.py egg_info 2023-09-07T22:59:00,169 Traceback (most recent call last): 2023-09-07T22:59:00,170 File "", line 2, in 2023-09-07T22:59:00,171 File "", line 34, in 2023-09-07T22:59:00,172 File "/tmp/pip-wheel-n2qev0c8/dupfilefind_3685e867fd7941218c3965339ebe3ea0/setup.py", line 62 2023-09-07T22:59:00,172 print "unable to find version in %s" % (VERSIONFILE,) 2023-09-07T22:59:00,173 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-07T22:59:00,174 SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)? 2023-09-07T22:59:00,244 ERROR: [present-rich] python setup.py egg_info exited with 1 2023-09-07T22:59:00,257 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2023-09-07T22:59:00,257 exec(compile('"'"''"'"''"'"' 2023-09-07T22:59:00,257 # This is -- a caller that pip uses to run setup.py 2023-09-07T22:59:00,257 # 2023-09-07T22:59:00,257 # - It imports setuptools before invoking setup.py, to enable projects that directly 2023-09-07T22:59:00,257 # import from `distutils.core` to work with newer packaging standards. 2023-09-07T22:59:00,257 # - It provides a clear error message when setuptools is not installed. 2023-09-07T22:59:00,257 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2023-09-07T22:59:00,257 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2023-09-07T22:59:00,257 # manifest_maker: standard file '"'"'-c'"'"' not found". 2023-09-07T22:59:00,257 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2023-09-07T22:59:00,257 import os, sys, tokenize 2023-09-07T22:59:00,257 2023-09-07T22:59:00,257 try: 2023-09-07T22:59:00,257 import setuptools 2023-09-07T22:59:00,257 except ImportError as error: 2023-09-07T22:59:00,257 print( 2023-09-07T22:59:00,257 "ERROR: Can not execute `setup.py` since setuptools is not available in " 2023-09-07T22:59:00,257 "the build environment.", 2023-09-07T22:59:00,257 file=sys.stderr, 2023-09-07T22:59:00,257 ) 2023-09-07T22:59:00,257 sys.exit(1) 2023-09-07T22:59:00,257 2023-09-07T22:59:00,257 __file__ = %r 2023-09-07T22:59:00,257 sys.argv[0] = __file__ 2023-09-07T22:59:00,257 2023-09-07T22:59:00,257 if os.path.exists(__file__): 2023-09-07T22:59:00,257 filename = __file__ 2023-09-07T22:59:00,257 with tokenize.open(__file__) as f: 2023-09-07T22:59:00,257 setup_py_code = f.read() 2023-09-07T22:59:00,257 else: 2023-09-07T22:59:00,257 filename = "" 2023-09-07T22:59:00,257 setup_py_code = "from setuptools import setup; setup()" 2023-09-07T22:59:00,257 2023-09-07T22:59:00,257 exec(compile(setup_py_code, filename, "exec")) 2023-09-07T22:59:00,257 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-n2qev0c8/dupfilefind_3685e867fd7941218c3965339ebe3ea0/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-xquzxk0m[/] 2023-09-07T22:59:00,258 [bold magenta]cwd[/]: /tmp/pip-wheel-n2qev0c8/dupfilefind_3685e867fd7941218c3965339ebe3ea0/ 2023-09-07T22:59:00,258 Preparing metadata (setup.py): finished with status 'error' 2023-09-07T22:59:00,260 ERROR: [present-rich] metadata generation failed 2023-09-07T22:59:00,265 Exception information: 2023-09-07T22:59:00,265 Traceback (most recent call last): 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 64, in generate_metadata 2023-09-07T22:59:00,265 call_subprocess( 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/utils/subprocess.py", line 224, in call_subprocess 2023-09-07T22:59:00,265 raise error 2023-09-07T22:59:00,265 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2023-09-07T22:59:00,265 2023-09-07T22:59:00,265 The above exception was the direct cause of the following exception: 2023-09-07T22:59:00,265 2023-09-07T22:59:00,265 Traceback (most recent call last): 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper 2023-09-07T22:59:00,265 status = run_func(*args) 2023-09-07T22:59:00,265 ^^^^^^^^^^^^^^^ 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/req_command.py", line 248, in wrapper 2023-09-07T22:59:00,265 return func(self, options, args) 2023-09-07T22:59:00,265 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2023-09-07T22:59:00,265 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2023-09-07T22:59:00,265 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve 2023-09-07T22:59:00,265 result = self._result = resolver.resolve( 2023-09-07T22:59:00,265 ^^^^^^^^^^^^^^^^^ 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve 2023-09-07T22:59:00,265 state = resolution.resolve(requirements, max_rounds=max_rounds) 2023-09-07T22:59:00,265 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve 2023-09-07T22:59:00,265 self._add_to_criteria(self.state.criteria, r, parent=None) 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria 2023-09-07T22:59:00,265 if not criterion.candidates: 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/structs.py", line 156, in __bool__ 2023-09-07T22:59:00,265 return bool(self._sequence) 2023-09-07T22:59:00,265 ^^^^^^^^^^^^^^^^^^^^ 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__ 2023-09-07T22:59:00,265 return any(self) 2023-09-07T22:59:00,265 ^^^^^^^^^ 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in 2023-09-07T22:59:00,265 return (c for c in iterator if id(c) not in self._incompatible_ids) 2023-09-07T22:59:00,265 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built 2023-09-07T22:59:00,265 candidate = func() 2023-09-07T22:59:00,265 ^^^^^^ 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link 2023-09-07T22:59:00,265 self._link_candidate_cache[link] = LinkCandidate( 2023-09-07T22:59:00,265 ^^^^^^^^^^^^^^ 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 293, in __init__ 2023-09-07T22:59:00,265 super().__init__( 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__ 2023-09-07T22:59:00,265 self.dist = self._prepare() 2023-09-07T22:59:00,265 ^^^^^^^^^^^^^^^ 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare 2023-09-07T22:59:00,265 dist = self._prepare_distribution() 2023-09-07T22:59:00,265 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 304, in _prepare_distribution 2023-09-07T22:59:00,265 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2023-09-07T22:59:00,265 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 538, in prepare_linked_requirement 2023-09-07T22:59:00,265 return self._prepare_linked_requirement(req, parallel_builds) 2023-09-07T22:59:00,265 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 653, in _prepare_linked_requirement 2023-09-07T22:59:00,265 dist = _get_prepared_distribution( 2023-09-07T22:59:00,265 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 69, in _get_prepared_distribution 2023-09-07T22:59:00,265 abstract_dist.prepare_distribution_metadata( 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/distributions/sdist.py", line 61, in prepare_distribution_metadata 2023-09-07T22:59:00,265 self.req.prepare_metadata() 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/req/req_install.py", line 568, in prepare_metadata 2023-09-07T22:59:00,265 self.metadata_directory = generate_metadata_legacy( 2023-09-07T22:59:00,265 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-07T22:59:00,265 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 71, in generate_metadata 2023-09-07T22:59:00,265 raise MetadataGenerationFailed(package_details=details) from error 2023-09-07T22:59:00,265 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2023-09-07T22:59:00,278 Removed dupfilefind==1.4.1-5 from https://files.pythonhosted.org/packages/a7/3b/9c3e916a7c3d43d879bf179cfdb38c02add4b9f3433948db1facbd958e5e/dupfilefind-1.4.1-5.tar.gz from build tracker '/tmp/pip-build-tracker-u6qox_bj' 2023-09-07T22:59:00,278 Removed build tracker: '/tmp/pip-build-tracker-u6qox_bj'