Compare commits

...

6 Commits
master ... test

Author SHA1 Message Date
Jakub Adamski
07cf42c6d8 test 2022-04-11 12:01:01 +02:00
Jakub Adamski
c9457d0168 opis 2022-03-30 12:59:32 +02:00
Jakub Adamski
4e6c365121 added file extraction 2022-03-30 10:31:59 +02:00
Jakub Adamski
b56459626d bot-working 2022-03-28 21:06:41 +02:00
Jakub Adamski
e8a02c5f07 init-project 2022-03-23 12:43:37 +01:00
Jakub Adamski
9282b3b89a run project 2022-03-16 11:15:56 +01:00
12 changed files with 10684 additions and 8 deletions

3
.gitignore vendored
View File

@ -70,3 +70,6 @@ indeks
zinelibrary
archiveorg2
.stack-work
.DS_Store

30
README.md Normal file
View File

@ -0,0 +1,30 @@
# Robot
Wybrana strona - [Polskie Towarzystwo Botaniczne](https://pbsociety.org.pl/default/dzialalnosc-wydawnicza/) — wszystkie dostępne zdigitalizowane publikacje!, **130 punktow**
## Uruchomienie
Należy wpisać komendy w konsoli:
```sh
stack build
stack exec pbsociety
```
## Działanie
Bazowa strona to [https://pbsociety.org.pl/](https://pbsociety.org.pl/), w zakładce Repozytorium po wybraniu wszystkich plików uzyskujemy bazowy link dla robota [https://pbsociety.org.pl/repository/discover?filtertype=has_content_in_original_bundle&filter_relational_operator=equals&filter=true](https://pbsociety.org.pl/repository/discover?filtertype=has_content_in_original_bundle&filter_relational_operator=equals&filter=true)
<br/>
Robot przechodzi przez wszystkie strony, pobiera link do danej publikacji, otwiera ją i wyodrębnia link do pliku.
## Wynik
Wynik to lista linków do wszystkich plików [results/projekt.json](results/projekt.json)
<br/>
![dzialanie](results/dzialanie.png)
<br/>
![wynik](results/wynik.png)

View File

@ -33,7 +33,7 @@ import Data.Tree.NTree.TypeDefs
import Data.Maybe
import Control.Monad.Trans
import Text.XML.HXT.XPath
-- import Text.XML.HXT.Curl
import Text.XML.HXT.Curl
import Text.XML.HXT.HTTP
import Text.Regex.TDFA
@ -42,7 +42,7 @@ import Data.List (isInfixOf, intercalate)
import Data.List.Utils (replace)
-- import Network.Curl.Opts
--import Network.Curl.Opts
polishTimeZone = TimeZone {
timeZoneMinutes = 120,
@ -64,8 +64,8 @@ downloadDocument = readFromDocument [withParseHTML yes,
withEncodingErrors no,
withPreserveComment yes,
withStrictInput yes,
withHTTP []
-- withCurl [("curl--user-agent","AMU Digital Libraries Indexing Agent")]
-- withHTTP []
withCurl [("curl--user-agent","AMU Digital Libraries Indexing Agent")]
]
downloadDocumentWithEncoding enc = readFromDocument [withParseHTML yes,
@ -73,13 +73,13 @@ downloadDocumentWithEncoding enc = readFromDocument [withParseHTML yes,
withEncodingErrors no,
withPreserveComment yes,
withInputEncoding enc,
withHTTP []]
-- withCurl []]
-- withHTTP []]
withCurl []]
downloadXmlDocument = readFromDocument [withWarnings no,
withEncodingErrors no,
withHTTP []]
-- withCurl [] ]
-- withHTTP []]
withCurl [] ]
data ShadowLibrary = ShadowLibrary { logoUrl :: Maybe String,

71
app/bip.hs Normal file
View File

@ -0,0 +1,71 @@
{-# LANGUAGE Arrows, NoMonomorphismRestriction #-}
import ShadowLibrary.Core
import Text.XML.HXT.Core
import Text.XML.HXT.XPath
import Data.List
import Data.List.Utils (replace)
import Text.Regex.Posix
import Text.Printf
import System.IO
extractYears = extractLinksWithText "//div[@class='inner clearfix']//div[@class='row']//div[@class='col-sm-6']//ul//li//a" -- pary adres-tytuł
runYearsExtractor url = runX $ (arr (const url) >>> setTraceLevel 1 >>> extractYears)
extractNewFiles = extractLinksWithText "//a[@title='Pobierz plik']" -- pary adres-tytuł
runNewFilesExtractor url = runX $ (arr (const url) >>> setTraceLevel 1 >>> extractNewFiles)
extractOldFiles = extractLinksWithText "//div[@class='content']//div[@class='inner clearfix']//ul//li//a" -- pary adres-tytuł
runOldFilesExtractor url = runX $ (arr (const url) >>> setTraceLevel 1 >>> extractOldFiles)
--367-376
extractOldYears = extractLinksWithText "//nav[@class='nav-left']//ul//li[@class='single-article']/a" -- pary adres-tytuł
runOldYearsExtractor url = runX $ (arr (const url) >>> setTraceLevel 1 >>> extractOldYears)
mapToUrl :: ([Char], [Char]) -> [Char]
mapToUrl (url, title) = url
merge [] ys = ys
merge (x:xs) ys = x:merge ys xs
repeatNTimes 0 = return []
repeatNTimes n = do
let link = "https://bip.um.gdynia.pl/module/Contents/controller/Default/action/loadSubcategory/subcategory_id/" ++ show (377-n)
items <- runOldYearsExtractor link
let urls = map mapToUrl items
recursive <- repeatNTimes (n-1)
let results = merge urls recursive
return results
flatten :: [[a]] -> [a]
flatten xs = (\z n -> foldr (\x y -> foldr z y x) n xs) (:) []
getAllPages url = do
items <- runYearsExtractor url
let urls = map mapToUrl items
newFiles <- mapM runNewFilesExtractor urls
let fileUrls = map mapToUrl (flatten newFiles)
return fileUrls
getOldFiles = do
oldPages <- repeatNTimes 10
--let sub = take 2 oldPages
oldFiles <- mapM runOldFilesExtractor oldPages
let fileUrls = map mapToUrl (flatten oldFiles)
return fileUrls
main = do
let start = "https://bip.um.gdynia.pl/wyszukiwarka-uchwal-rady-miasta,7485/wyszukiwarka-uchwal,504923"
oldResults <- getOldFiles
oldF <- openFile "oldFiles.json" WriteMode
hPrint oldF oldResults
hClose oldF
--print (length results)
newResults <- getAllPages start
newF <- openFile "newFiles.json" WriteMode
hPrint newF newResults
hClose newF

63
app/pbsociety.hs Normal file
View File

@ -0,0 +1,63 @@
{-# LANGUAGE Arrows, NoMonomorphismRestriction #-}
import ShadowLibrary.Core
import Text.XML.HXT.Core
import Text.XML.HXT.XPath
import Data.List
import Data.List.Utils (replace)
import Text.Regex.Posix
import Text.Printf
extractRecords = extractLinksWithText "//div[@class='artifact-title']/a" -- pary adres-tytuł
extractPages = extractLinksWithText "//div[@class='pagination-masked clearfix top']//a[@class='next-page-link']" -- pary adres-tytuł
extractPublicationFiles = extractLinksWithText "//div[@class='file-link']/a" -- pary adres-tytuł
runExtractor url = runX $ (arr (const url) >>> setTraceLevel 1 >>> extractPages)
runDocumentsExtractor url = runX $ (arr (const url) >>> setTraceLevel 1 >>> extractRecords)
runFileExtractor url = runX $ (arr (const url) >>> setTraceLevel 1 >>> extractPublicationFiles)
mapToUrl :: ([Char], [Char]) -> [Char]
mapToUrl (url, title) = url
merge [] ys = ys
merge (x:xs) ys = x:merge ys xs
withEmptyCheck current [] = do
publications <- runDocumentsExtractor current
let publicationUrls = map mapToUrl publications
publicationFiles <- mapM runFileExtractor publicationUrls
let publicationFileUrls = map mapToUrl (map head publicationFiles)
return publicationFileUrls
withEmptyCheck current nextUrls = do
let single = head nextUrls
publications <- runDocumentsExtractor current
let publicationUrls = map mapToUrl publications
publicationFiles <- mapM runFileExtractor publicationUrls
let publicationFileUrls = map mapToUrl (map head publicationFiles)
recursive <- getAllPages single
let results = merge publicationFileUrls recursive
return results
getAllPages url = do
items <- runExtractor url
let urls = map mapToUrl items
results <- (withEmptyCheck url urls)
return results
main = do
let start = "https://pbsociety.org.pl/repository/discover?filtertype=has_content_in_original_bundle&filter_relational_operator=equals&filter=true"
results <- getAllPages start
print results

8267
newFiles.json Normal file

File diff suppressed because it is too large Load Diff

1921
oldFiles.json Normal file

File diff suppressed because it is too large Load Diff

BIN
results/dzialanie.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

278
results/projekt.json Normal file
View File

@ -0,0 +1,278 @@
[
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/248/2019.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/236/1954.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/295/2020.0006.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/303/2017.0006.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/307/wb.653.pdf?sequence=7&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/44/2018.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/33/1933.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/301/2017.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/36/1930.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/221/2018.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/35/1931.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/47/2017.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/31/1934.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/43/2018.0001.pdf?sequence=10&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/237/1954.0006.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/57/1935.0006.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/238/1954.0007.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/42/2018.0005.mp4?sequence=4&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/239/1954.0008.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/242/2016.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/38/1937.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/302/2017.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/39/1932.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/316/wb.662.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/37/1936.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/67/1935.0007.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/45/1939.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/46/1939.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/222/1972.0002.pdf?sequence=3&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/296/wb.642.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/51/1934.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/58/1931.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/48/1939.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/30/1935.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/49/1935.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/73/1934.0007.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/52/1934.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/235/1954.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/223/2018.0014.pdf?sequence=3&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/53/1939.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/27/1939.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/65/1937.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/28/1935.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/61/1938.0003.pdf?sequence=4&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/26/1936.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/233/1954.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/54/1936.0003.pdf?sequence=3&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/60/1939.0008.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/56/1935.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/68/1934.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/55/1939.0006.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/72/1935.0010.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/59/1939.0007.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/62/1938.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/64/1938.0007.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/231/1953.0006.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/63/1938.0006.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/69/1938.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/224/1952.0006.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/71/1936.0005.pdf?sequence=3&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/66/1936.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/81/1937.0007.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/77/1930.0003.pdf?sequence=3&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/75/1932.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/76/1932.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/89/1933.0007.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/225/1952.0007.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/70/1933.0004.pdf?sequence=3&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/74/1933.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/78/1937.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/232/1953.0007.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/228/1953.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/226/1952.0008.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/80/1936.0006.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/79/1935.0012.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/98/1935.0015.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/229/1953.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/87/1931.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/230/1953.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/314/2021.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/85/1930.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/244/1954.0009.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/84/1929.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/308/wb.654.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/86/1930.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/109/1934.0016.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/83/1928.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/304/wb.652.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/82/1926.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/245/1954.0010.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/246/2017.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/105/1934.0014.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/243/2017.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/227/1953.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/90/1935.0013.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/119/1935.0020.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/91/1939.0009.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/92/1933.0008.pdf?sequence=4&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/88/1932.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/104/1934.0013.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/96/1931.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/111/1934.0018.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/94/1934.0011.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/103/1934.0012.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/95/1935.0014.pdf?sequence=3&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/133/1935.0024.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/99/1932.0006.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/101/1936.0007.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/93/1934.0010.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/110/1934.0017.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/102/1937.0008.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/124/1937.0010.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/107/1933.0010.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/115/1934.0022.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/100/1935.0016.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/138/1939.0012.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/106/1933.0009.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/114/1934.0021.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/108/1934.0015.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/121/1935.0022.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/112/1934.0019.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/130/1937.0017.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/117/1935.0018.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/118/1935.0019.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/116/1935.0017.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/142/1929.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/113/1934.0020.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/122/1935.0023.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/297/wb.644.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/125/1937.0011.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/123/1936.0008.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/134/1935.0025.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/255/2019.0018.pdf?sequence=3&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/131/1939.0010.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/313/wb.656.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/157/1937.0025.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/127/1937.0014.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/132/1939.0011.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/129/1937.0016.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/137/1937.0020.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/120/1935.0021.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/150/1934.0024.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/128/1937.0015.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/135/1937.0033.pdf?sequence=4&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/126/1937.0013.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/167/1937.0034.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/136/1937.0019.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/141/1926.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/139/1939.0013.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/145/1923.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/140/1925.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/154/1937.0023.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/148/1937.0021.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/144/1933.0011.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/151/1934.0025.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/174/1938.0009.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/146/1945.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/143/1928.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/149/1934.0023.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/159/1937.0027.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/309/wb.655.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/163/1937.0031.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/152/1935.0026.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/156/1937.0024.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/155/1939.0014.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/178/1936.0013.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/153/1934.0027.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/162/1937.0030.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/158/1937.0026.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/164/1937.0032.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/161/1937.0029.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/175/1936.0011.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/165/1936.0009.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/171/1937.0036.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/160/1937.0028.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/197/1948.0008.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/168/1937.0035.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/173/1937.0038.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/166/1936.0010.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/180/1947.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/170/1939.0015.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/187/1954.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/169/1938.0008.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/179/1946.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/177/1972.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/305/2021.0002.pdf?sequence=5&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/172/1937.0037.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/181/1948.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/176/1936.0012.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/195/1948.0006.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/186/1953.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/203/1949.0007.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/183/1950.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/191/1947.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/184/1951.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/213/1951.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/185/1952.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/188/1945.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/182/1949.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/200/1949.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/193/1948.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/310/2017.0007.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/189/1946.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/199/1949.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/190/1948.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/249/2013.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/194/1948.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/198/1949.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/192/1947.0003.pdf?sequence=3&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/298/wb.646.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/196/1948.0007.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/210/1950.0008.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/201/1949.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/209/1950.0007.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/202/1949.0006.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/257/2019.0030.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/204/1950.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/207/1950.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/312/2016.0006.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/212/1951.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/206/1950.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/250/2011.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/205/1950.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/218/1952.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/208/1950.0006.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/272/wb.641.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/215/1951.0006.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/217/1952.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/216/1951.0007.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/247/2019.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/211/1951.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/259/2019.0031.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/214/1951.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/219/1952.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/252/2019.0003.pdf?sequence=5&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/274/2005.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/306/wb.651.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/220/1952.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/241/2018.0015.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/253/2019.0004.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/234/1954.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/267/2020.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/256/2019.0029.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/260/2019.0033.zip?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/261/2021.0001.pdf?sequence=7&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/285/2015.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/262/2019.0035.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/269/2016.0004.pdf?sequence=6&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/258/2018.0016.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/254/2019.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/270/2010.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/277/2007.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/268/2016.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/281/2011.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/265/mb.2019.001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/290/1972.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/263/2019.0037.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/299/wb.645.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/273/2020.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/266/1938.0011.pdf?sequence=6&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/280/2010.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/291/wb.643.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/282/2012.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/300/2017.0003.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/276/2007.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/293/2020.0004.pdf?sequence=3&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/286/2016.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/279/2009.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/275/2006.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/294/2020.0005.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/278/2008.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/315/2022.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/288/2019.0038.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/284/2014.0001.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/283/2013.0002.pdf?sequence=1&isAllowed=y",
"https://pbsociety.org.pl/repository/bitstream/handle/20.500.12333/287/2018.0017.pdf?sequence=1&isAllowed=y"
]

BIN
results/wynik.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 KiB

View File

@ -19,6 +19,7 @@ library
build-depends: base >= 4.7 && < 5
, HTTP
, hxt
, hxt-curl
, hxt-http
, hxt-xpath
, MissingH
@ -59,6 +60,29 @@ executable almanachmuszyny
, shadow-library
default-language: Haskell2010
executable pbsociety
hs-source-dirs: app
main-is: pbsociety.hs
ghc-options: -threaded -rtsopts -with-rtsopts=-N
build-depends: base
, hxt
, hxt-xpath
, MissingH
, regex-posix
, shadow-library
default-language: Haskell2010
executable bip
hs-source-dirs: app
main-is: bip.hs
ghc-options: -threaded -rtsopts -with-rtsopts=-N
build-depends: base
, hxt
, hxt-xpath
, MissingH
, regex-posix
, shadow-library
default-language: Haskell2010
source-repository head
type: git

19
stack.yaml.lock Normal file
View File

@ -0,0 +1,19 @@
# This file was autogenerated by Stack.
# You should not edit this file by hand.
# For more information, please see the documentation at:
# https://docs.haskellstack.org/en/stable/lock_files
packages:
- completed:
hackage: hxt-xpath-9.1.2.2@sha256:9cd590ae93a04573db8f90fa4094625ebd97dded45da7667c577ce6b38a42900,1999
pantry-tree:
size: 2225
sha256: aee2f75974e868ff429b8ff349a29667536c60397098f5dfedc968d1951511bb
original:
hackage: hxt-xpath-9.1.2.2
snapshots:
- completed:
size: 507596
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/11/9.yaml
sha256: 42f472dbf06482da1b3319241f3e3b3593a45bd7d4f537d2789f21386b9b2ad3
original: lts-11.9