// returns [] // returns light & dark squares static LPairS chessPieceImagesFromAGIBlue() { ret mapPairsA parseImageSnippetURL(filter(p -> isURL(p.a) && ai_chessPiecesSet().contains(p.b), agiBlue_pagesAndValuesForKey(agiBlue_chessPieceImagesSlice(), "is"))); } // returns only light or dark squares static LPairS chessPieceImagesFromAGIBlue(Bool lightSquares) { if (lightSquares == null) ret chessPieceImagesFromAGIBlue(); LPairS raw = agiBlue_pagesAndValuesForKey(agiBlue_chessPieceImagesSlice(), "is"); LPairS squares = agiBlue_pagesAndValuesForKey(agiBlue_chessPieceImagesSlice(), "was on square"); Set set = asSet(pairsA(filter(squares, p -> lightSquares == chess_isLightSquare(p.b)))); LPairS filtered = filter(raw, p -> set.contains(p.a)); ret mapPairsA parseImageSnippetURL(filtered); }