Barun Napara

Barun Napara is a village in Polba Dadpur CD Block in Chinsurah subdivision of Hooghly district in the state of West Bengal, India.

Barun Napara
Village
Barun Napara
Location in West Bengal, India
Barun Napara
Barun Napara (India)
Coordinates: 22.9345°N 88.3026°E / 22.9345; 88.3026
Country India
StateWest Bengal
DistrictHooghly
Elevation
15 m (49 ft)
Population
 (2011)
  Total1,628
Languages
  OfficialBengali, English
Time zoneUTC+5:30 (IST)
PIN
712514 (Polba)
Telephone/STD code03213
Lok Sabha constituencyHooghly
Vidhan Sabha constituencyChunchura
Websitehooghly.gov.in

Geography

Cities and towns in the Chandannagore subdivision and Polba Dadpur and Dhaniakhali CD Blocks of Chinsurah subdivision in Hooghly district
M: municipal corporation/ municipal city/ town, CT: census town, R: rural/ urban centre,
Owing to space constraints in the small map, the actual locations in a larger map may vary slightly

Location

The area is composed of flat alluvial plains that form a part of the Gangetic Delta.[1]

CD Block HQ

The headquarters of Polba Dadpur CD Block are located at Barun Napara.[2]

Urbanisation

In Chandannagore subdivision 58.52% of the population is rural and the urban population is 41.48%. Chandannagore subdivision has 1 municipal corporation, 3 municipalities and 7 census towns. The single municipal corporation is Chandernagore Municipal Corporation. The municipalities are Tarakeswar Municipality, Bhadreswar Municipality and Champdany Municipality.[3]Of the three CD Blocks in Chandannagore subdivision, Tarakeswar CD Block is wholly rural, Haripal CD Block is predominantly rural with just 1 census town, and Singur CD Block is slightly less rural with 6 census towns. Polba Dadpur and Dhaniakhali CD Blocks of Chinsurah subdivision (included in the map alongside) are wholly rural.[4] The municipal areas are industrialised. All places marked in the map are linked in the larger full screen map.

Demographics

As per the 2011 Census of India, Barun Napara had a total population of 1,628 of which 818 (50%) were males and 810 (50%) were females. Population below 6 years was 153. The total number of literates in Barun Napara was 1,261 (85.49% of the population over 6 years).[5]

Transport

Barun Napara is on Polba-Alinagar Road.[6]

gollark: I can come up with a thing to transmit ubqmachine™ details to osmarks.net or whatever which people can embed in their code.
gollark: It's an x86-64 system using debian or something.
gollark: > `import hashlib`Hashlib is still important!> `for entry, ubq323 in {**globals(), **__builtins__, **sys.__dict__, **locals(), CONSTANT: Entry()}.items():`Iterate over a bunch of things. I think only the builtins and globals are actually used.The stuff under here using `blake2s` stuff is actually written to be ridiculously unportable, to hinder analysis. This caused issues when trying to run it, so I had to hackily patch in the `/local` thing a few minutes before the deadline.> `for PyObject in gc.get_objects():`When I found out that you could iterate over all objects ever, this had to be incorporated somehow. This actually just looks for some random `os` function, and when it finds it loads the obfuscated code.> `F, G, H, I = typing(lookup[7]), typing(lookup[8]), __import__("functools"), lambda h, i, *a: F(G(h, i))`This is just a convoluted way to define `enumerate(range))` in one nice function.> `print(len(lookup), lookup[3], typing(lookup[3])) #`This is what actually loads the obfuscated stuff. I think.> `class int(typing(lookup[0])):`Here we subclass `complex`. `complex` is used for 2D coordinates within the thing, so I added some helper methods, such as `__iter__`, allowing unpacking of complex numbers into real and imaginary parts, `abs`, which generates a complex number a+ai, and `ℝ`, which provvides the floored real parts of two things.> `class Mаtrix:`This is where the magic happens. It actually uses unicode homoglyphs again, for purposes.> `self = typing("dab7d4733079c8be454e64192ce9d20a91571da25fc443249fc0be859b227e5d")`> `rows = gc`I forgot what exactly the `typing` call is looking up, but these aren't used for anything but making the fake type annotations work.> `def __init__(rows: self, self: rows):`This slightly nonidiomatic function simply initializes the matrix's internals from the 2D array used for inputs.> `if 1 > (typing(lookup[1]) in dir(self)):`A convoluted way to get whether something has `__iter__` or not.
gollark: If you guess randomly the chance of getting none right is 35%ish.
gollark: Anyway, going through #12 in order:> `import math, collections, random, gc, hashlib, sys, hashlib, smtplib, importlib, os.path, itertools, hashlib`> `import hashlib`We need some libraries to work with. Hashlib is very important, so to be sure we have hashlib we make sure to keep importing it.> `ℤ = int`> `ℝ = float`> `Row = "__iter__"`Create some aliases for int and float to make it mildly more obfuscated. `Row` is not used directly in anywhere significant.> `lookup = [...]`These are a bunch of hashes used to look up globals/objects. Some of them are not actually used. There is deliberately a comma missing, because of weird python string concattey things.```pythondef aes256(x, X): import hashlib A = bytearray() for Α, Ҙ in zip(x, hashlib.shake_128(X).digest(x.__len__())): A.append(Α ^ Ҙ) import zlib, marshal, hashlib exec(marshal.loads(zlib.decompress(A)))```Obviously, this is not actual AES-256. It is abusing SHAKE-128's variable length digests to implement what is almost certainly an awful stream cipher. The arbitrary-length hash of our key, X, is XORed with the data. Finally, the result of this is decompressed, loaded (as a marshalled function, which is extremely unportable bytecode I believe), and executed. This is only used to load one piece of obfuscated code, which I may explain later.> `class Entry(ℝ):`This is also only used once, in `typing` below. Its `__init__` function implements Rule 110 in a weird and vaguely golfy way involving some sets and bit manipulation. It inherits from float, but I don't think this does much.> `#raise SystemExit(0)`I did this while debugging the rule 110 but I thought it would be fun to leave it in.> `def typing(CONSTANT: __import__("urllib3")):`This is an obfuscated way to look up objects and load our obfuscated code.> `return getattr(Entry, CONSTANT)`I had significant performance problems, so this incorporates a cache. This was cooler™️ than dicts.

References

  1. "District Census Handbook: Hugli, Series-20, Part XIIA" (PDF). Physiography, Page 17-24. Directorate of Census Operations, West Bengal, 2011. Retrieved 28 September 2018.
  2. "District Census Handbook: Hugli, Series-20, Part XIIA" (PDF). Map of Hooghly district with CD Block HQs and Police Stations (on the fifth page). Directorate of Census Operations, West Bengal, 2011. Retrieved 20 June 2017.
  3. "District Statistical Handbook 2014 Hooghly". Table 2.1, 2.2, 2.4(a). Department of Statistics and Programme Implementation, Government of West Bengal. Archived from the original on 21 January 2019. Retrieved 27 September 2018.
  4. "C.D. Block Wise Primary Census Abstract Data(PCA)". 2011 census: West Bengal – District-wise CD Blocks. Registrar General and Census Commissioner, India. Retrieved 27 September 2018.
  5. "2011 Census – Primary Census Abstract Data Tables". West Bengal – District-wise. Registrar General and Census Commissioner, India. Retrieved 20 June 2017.
  6. Google maps
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.