Copy disabled (too large)
Download .txt
Showing preview only (55,228K chars total). Download the full file to get everything.
Repository: cryptobiu/libscapi
Branch: master
Commit: 1f70a8854850
Files: 1627
Total size: 265.6 MB
Directory structure:
gitextract_g4ee05bk/
├── .dockerignore
├── .github/
│ └── ISSUE_TEMPLATE/
│ └── bug-report.md
├── .gitignore
├── .travis.yml
├── CMakeLists.txt
├── LICENSE
├── README.md
├── assets/
│ └── circuits/
│ ├── arithmetic/
│ │ └── StatisticCircuit/
│ │ ├── ArithmeticStatistics1PairsAnd200SamplesFor4Parties.txt
│ │ └── inputs400.txt
│ └── boolean/
│ ├── ADD32/
│ │ ├── ADDPartyOneInputs.txt
│ │ ├── ADDPartyTwoInputs.txt
│ │ ├── multiparty/
│ │ │ └── NigelAdd32.txt
│ │ └── twoparty/
│ │ └── NigelAdd32.txt
│ ├── AES/
│ │ ├── AESPartyOneInputs.txt
│ │ ├── AESPartyTwoInputs.txt
│ │ ├── multiparty/
│ │ │ └── NigelAes.txt
│ │ └── twoparty/
│ │ └── NigelAes.txt
│ ├── MULT16/
│ │ ├── MULTPartyOneInputs.txt
│ │ ├── MULTPartyTwoInputs.txt
│ │ └── twoparty/
│ │ └── Mult16.txt
│ ├── SHA1/
│ │ ├── SHA1PartyOneInputs.txt
│ │ ├── SHA1PartyTwoInputs.txt
│ │ ├── multiparty/
│ │ │ └── NigelSHA1.txt
│ │ └── twoparty/
│ │ └── NigelSHA1.txt
│ └── SHA256/
│ ├── SHA256PartyOneInputs.txt
│ ├── SHA256PartyTwoInputs.txt
│ ├── multiparty/
│ │ └── NigelSHA256.txt
│ └── twoparty/
│ └── NigelSHA256.txt
├── build_scripts/
│ ├── INSTALL.md
│ ├── LICENSE.md
│ ├── build.sh
│ ├── copyright.sh
│ ├── copyright.txt
│ ├── do
│ ├── docker_clean.sh
│ ├── merge_git.sh
│ ├── rebuild.sh
│ ├── rebuildBase.sh
│ ├── rebuildLibs.sh
│ ├── rebuildProtocols.sh
│ └── rebuild_docker_image.sh
├── dockerfiles/
│ ├── Dockerfile
│ ├── DockerfileLibs
│ ├── DockerfileProtocols
│ └── PrerequisitesDockerfie
├── docs/
│ ├── make.bat
│ ├── requirements.txt
│ └── source/
│ ├── circuits.rst
│ ├── communication.rst
│ ├── conf.py
│ ├── index.rst
│ ├── install.rst
│ ├── interactive_layer/
│ │ ├── commitments.rst
│ │ ├── ot.rst
│ │ ├── sigma_protocols.rst
│ │ └── zk.rst
│ ├── interactive_layer.rst
│ ├── intro.rst
│ ├── license.rst
│ ├── mid_layer/
│ │ ├── asymmetric_enc.rst
│ │ ├── mac.rst
│ │ └── symmetric_enc.rst
│ ├── mid_layer.rst
│ ├── primitives/
│ │ ├── cryptographic_hash.rst
│ │ ├── dlog.rst
│ │ ├── kdf.rst
│ │ ├── pseudorandom_function.rst
│ │ ├── pseudorandom_generator.rst
│ │ ├── pseudorandom_permutation.rst
│ │ └── trapdoor_permutation.rst
│ ├── primitives.rst
│ ├── quickstart.rst
│ └── security_levels.rst
├── examples/
│ ├── CMakeLists.txt
│ ├── Comm/
│ │ ├── CommConfig.txt
│ │ └── comm_example.cpp
│ ├── Commitment/
│ │ ├── CommitmentConfig.txt
│ │ ├── CommitmentExample.cpp
│ │ └── CommitmentExample.hpp
│ ├── OT/
│ │ ├── OTConfig.txt
│ │ ├── OTExample.cpp
│ │ └── OTExample.h
│ ├── OTExtensionBristol/
│ │ └── OTExtensionBristolExample.cpp
│ ├── SigmaProtocols/
│ │ ├── SigmaConfig.txt
│ │ ├── SigmaProtocolExample.cpp
│ │ └── SigmaProtocolExample.hpp
│ ├── Simple/
│ │ ├── simple_dlog.cpp
│ │ ├── simple_gmac.cpp
│ │ └── simple_sha1.cpp
│ ├── assets/
│ │ ├── circuits/
│ │ │ ├── ADD/
│ │ │ │ ├── ADDPartyOneInputs.txt
│ │ │ │ ├── ADDPartyTwoInputs.txt
│ │ │ │ └── NigelAdd32.txt
│ │ │ ├── AES/
│ │ │ │ ├── AESPartyOneInputs.txt
│ │ │ │ ├── AESPartyTwoInputs.txt
│ │ │ │ ├── AES_Final-2.txt
│ │ │ │ └── NigelAes.txt
│ │ │ ├── AESMULT/
│ │ │ │ ├── AESPartyInputs1.txt
│ │ │ │ ├── AESPartyOneInputs.txt
│ │ │ │ ├── AESPartyOneInputs96.txt
│ │ │ │ ├── AESPartyTwoInputs.txt
│ │ │ │ ├── AesExpandedMultPartyOneInputs.txt
│ │ │ │ ├── AesExpandedPartyOneInputs.txt
│ │ │ │ ├── AesExpandedPartyOneInputs16.txt
│ │ │ │ ├── AesExpandedPartyTwoInputs.txt
│ │ │ │ ├── NigelAesExpanded.txt
│ │ │ │ ├── NigelAesExpandedMultiple.txt
│ │ │ │ ├── NigelAesExpandedMultiple96.txt
│ │ │ │ ├── NigelAesMultiple.txt
│ │ │ │ └── NigelAesMultiple96.txt
│ │ │ ├── CheatingRecovery/
│ │ │ │ ├── UnlockP1Input.txt
│ │ │ │ ├── UnlockP1InputASha1.txt
│ │ │ │ ├── UnlockP1InputAdd.txt
│ │ │ │ ├── UnlockP1InputMinCut.txt
│ │ │ │ ├── UnlockP1InputSHA256.txt
│ │ │ │ └── UnlockP1InputSha1.txt
│ │ │ ├── SHA1/
│ │ │ │ ├── NigelSHA1.txt
│ │ │ │ ├── SHA1PartyOneInputs.txt
│ │ │ │ └── SHA1PartyTwoInputs.txt
│ │ │ └── SHA256/
│ │ │ ├── NigelSHA256.txt
│ │ │ ├── SHA256PartyOneInputs.txt
│ │ │ └── SHA256PartyTwoInputs.txt
│ │ ├── conf/
│ │ │ ├── Parties0.properties
│ │ │ └── Parties1.properties
│ │ └── ssl_keys/
│ │ ├── dh512.pem
│ │ ├── server.crt
│ │ ├── server.csr
│ │ ├── server.key
│ │ └── server.key.secure
│ ├── examples_main.cpp
│ └── examples_main.hpp
├── include/
│ ├── circuits/
│ │ ├── ArithmeticCircuit.hpp
│ │ ├── BooleanCircuits.hpp
│ │ ├── Compat.h
│ │ ├── Config.h
│ │ ├── FourToTwoGarbledBoleanCircuitNoAssumptions.h
│ │ ├── FreeXorGarbledBooleanCircuit.h
│ │ ├── GarbledBooleanCircuit.h
│ │ ├── GarbledBooleanCircuitFixedKey.h
│ │ ├── GarbledBooleanCircuitNoFixedKey.h
│ │ ├── GarbledBooleanCircuitNoIntrinsics.h
│ │ ├── GarbledCircuitFactory.hpp
│ │ ├── GarbledGate.h
│ │ ├── HalfGatesGarbledBoleanCircuitNoFixedKey.h
│ │ ├── HalfGatesGarbledBooleanCircuit.h
│ │ ├── RowReductionGarbledBooleanCircuit.h
│ │ ├── StandardGarbledBooleanCircuit.h
│ │ ├── TGate.hpp
│ │ ├── TedKrovetzAesNiWrapperC.h
│ │ └── intrinsic.h
│ ├── comm/
│ │ ├── Comm.hpp
│ │ ├── CommBF.hpp
│ │ ├── CommUDP.hpp
│ │ ├── MPCCommunication.hpp
│ │ ├── MPCCommunicationBF.hpp
│ │ ├── Message.hpp
│ │ ├── Network.h
│ │ ├── PeerInfo.h
│ │ └── utils.h
│ ├── configFiles/
│ │ └── NISTEC.txt
│ ├── cryptoInfra/
│ │ ├── Key.hpp
│ │ ├── PlainText.hpp
│ │ ├── Protocol.hpp
│ │ └── SecurityLevel.hpp
│ ├── infra/
│ │ ├── Common.hpp
│ │ ├── ConfigFile.hpp
│ │ ├── File.hpp
│ │ ├── Log.hpp
│ │ ├── MathAlgorithms.hpp
│ │ ├── Measurement.hpp
│ │ ├── Scanner.hpp
│ │ ├── aes_arm.h
│ │ ├── json.hpp
│ │ └── sse2neon.h
│ ├── interactive_mid_protocols/
│ │ ├── CommitmentScheme.hpp
│ │ ├── CommitmentSchemeElGamal.hpp
│ │ ├── CommitmentSchemeElGamalHash.hpp
│ │ ├── CommitmentSchemeEquivocal.hpp
│ │ ├── CommitmentSchemePedersen.hpp
│ │ ├── CommitmentSchemePedersenHash.hpp
│ │ ├── CommitmentSchemePedersenTrapdoor.hpp
│ │ ├── CommitmentSchemeSimpleHash.hpp
│ │ ├── OT.hpp
│ │ ├── OTBatch.hpp
│ │ ├── OTExtensionBristol.hpp
│ │ ├── OTExtensionEncrypto.hpp
│ │ ├── OTFullSimulation.hpp
│ │ ├── OTFullSimulationROM.hpp
│ │ ├── OTOneSidedSimulation.hpp
│ │ ├── OTPrivacyOnly.hpp
│ │ ├── OTSemiHonest.hpp
│ │ ├── OTUC.hpp
│ │ ├── RandomValue.hpp
│ │ ├── SigmaProtocol.hpp
│ │ ├── SigmaProtocolAnd.hpp
│ │ ├── SigmaProtocolCramerShoupEncryptedValue.hpp
│ │ ├── SigmaProtocolDH.hpp
│ │ ├── SigmaProtocolDHExtended.hpp
│ │ ├── SigmaProtocolDamgardJurikEncryptedValue.hpp
│ │ ├── SigmaProtocolDamgardJurikEncryptedZero.hpp
│ │ ├── SigmaProtocolDamgardJurikProduct.hpp
│ │ ├── SigmaProtocolDlog.hpp
│ │ ├── SigmaProtocolElGamalCmtKnowledge.hpp
│ │ ├── SigmaProtocolElGamalCommittedValue.hpp
│ │ ├── SigmaProtocolElGamalEncryptedValue.hpp
│ │ ├── SigmaProtocolElGamalPrivateKey.hpp
│ │ ├── SigmaProtocolOrMultiple.hpp
│ │ ├── SigmaProtocolOrTwo.hpp
│ │ ├── SigmaProtocolPedersenCmtKnowledge.hpp
│ │ ├── SigmaProtocolPedersenCommittedValue.hpp
│ │ └── ZeroKnowledge.hpp
│ ├── mid_layer/
│ │ ├── AsymmetricEnc.hpp
│ │ ├── BiLinearMaps.hpp
│ │ ├── CramerShoupEnc.hpp
│ │ ├── DamgardJurikEnc.hpp
│ │ ├── ElGamalEnc.hpp
│ │ ├── Mac.hpp
│ │ ├── OpenSSLMac.h
│ │ ├── OpenSSLSymmetricEnc.hpp
│ │ └── SymmetricEnc.hpp
│ └── primitives/
│ ├── Dlog.hpp
│ ├── DlogOpenSSL.hpp
│ ├── Hash.hpp
│ ├── HashBlake2.hpp
│ ├── HashOpenSSL.hpp
│ ├── Kdf.hpp
│ ├── Matrix.hpp
│ ├── Mersenne.hpp
│ ├── Prf.hpp
│ ├── PrfOpenSSL.hpp
│ ├── Prg.hpp
│ ├── RandomOracle.hpp
│ ├── TrapdoorPermutation.hpp
│ └── TrapdoorPermutationOpenSSL.hpp
├── lib/
│ ├── BLAKE2/
│ │ ├── .gitignore
│ │ ├── Blake2/
│ │ │ ├── Blake2/
│ │ │ │ ├── Blake2.vcxproj
│ │ │ │ ├── Blake2.vcxproj.filters
│ │ │ │ └── Blake2.vcxproj.user
│ │ │ ├── Blake2.sln
│ │ │ └── testBlake2/
│ │ │ ├── test.cpp
│ │ │ ├── testBlake2.vcxproj
│ │ │ └── testBlake2.vcxproj.filters
│ │ ├── COPYING
│ │ ├── README.md
│ │ └── sse/
│ │ ├── blake2-config.h
│ │ ├── blake2-impl.h
│ │ ├── blake2.h
│ │ ├── blake2b-load-sse2.h
│ │ ├── blake2b-load-sse41.h
│ │ ├── blake2b-round.h
│ │ ├── blake2b.c
│ │ ├── blake2bp.c
│ │ ├── blake2s-load-sse2.h
│ │ ├── blake2s-load-sse41.h
│ │ ├── blake2s-load-xop.h
│ │ ├── blake2s-round.h
│ │ ├── blake2sp.c
│ │ ├── genkat-c.c
│ │ ├── genkat-json.c
│ │ └── makefile
│ ├── COTShortKeys/
│ │ ├── COTSK.cpp
│ │ ├── COTSK.h
│ │ ├── COTSK_Prg.h
│ │ ├── COTSK_Receiver_impl.h
│ │ ├── COTSK_Sender_impl.h
│ │ ├── COTSK_Test
│ │ ├── COTSK_Test.cpp
│ │ ├── COTSK_impl.h
│ │ ├── COTSK_types.h
│ │ ├── MPCCommunicationEX.hpp
│ │ ├── args.hxx
│ │ ├── gf2x_util.h
│ │ ├── makefile
│ │ └── transpose.h
│ ├── KCP/
│ │ ├── ikcp.c
│ │ └── ikcp.h
│ ├── NTL/
│ │ ├── README
│ │ ├── doc/
│ │ │ ├── BasicThreadPool.cpp.html
│ │ │ ├── BasicThreadPool.txt
│ │ │ ├── GF2.cpp.html
│ │ │ ├── GF2.txt
│ │ │ ├── GF2E.cpp.html
│ │ │ ├── GF2E.txt
│ │ │ ├── GF2EX.cpp.html
│ │ │ ├── GF2EX.txt
│ │ │ ├── GF2EXFactoring.cpp.html
│ │ │ ├── GF2EXFactoring.txt
│ │ │ ├── GF2X.cpp.html
│ │ │ ├── GF2X.txt
│ │ │ ├── GF2XFactoring.cpp.html
│ │ │ ├── GF2XFactoring.txt
│ │ │ ├── GF2XVec.cpp.html
│ │ │ ├── GF2XVec.txt
│ │ │ ├── HNF.cpp.html
│ │ │ ├── HNF.txt
│ │ │ ├── LLL.cpp.html
│ │ │ ├── LLL.txt
│ │ │ ├── Lazy.cpp.html
│ │ │ ├── Lazy.txt
│ │ │ ├── LazyTable.cpp.html
│ │ │ ├── LazyTable.txt
│ │ │ ├── RR.cpp.html
│ │ │ ├── RR.txt
│ │ │ ├── SmartPtr.cpp.html
│ │ │ ├── SmartPtr.txt
│ │ │ ├── ZZ.cpp.html
│ │ │ ├── ZZ.txt
│ │ │ ├── ZZVec.cpp.html
│ │ │ ├── ZZVec.txt
│ │ │ ├── ZZX.cpp.html
│ │ │ ├── ZZX.txt
│ │ │ ├── ZZXFactoring.cpp.html
│ │ │ ├── ZZXFactoring.txt
│ │ │ ├── ZZ_limbs.cpp.html
│ │ │ ├── ZZ_limbs.txt
│ │ │ ├── ZZ_p.cpp.html
│ │ │ ├── ZZ_p.txt
│ │ │ ├── ZZ_pE.cpp.html
│ │ │ ├── ZZ_pE.txt
│ │ │ ├── ZZ_pEX.cpp.html
│ │ │ ├── ZZ_pEX.txt
│ │ │ ├── ZZ_pEXFactoring.cpp.html
│ │ │ ├── ZZ_pEXFactoring.txt
│ │ │ ├── ZZ_pX.cpp.html
│ │ │ ├── ZZ_pX.txt
│ │ │ ├── ZZ_pXFactoring.cpp.html
│ │ │ ├── ZZ_pXFactoring.txt
│ │ │ ├── config.txt
│ │ │ ├── conversions.txt
│ │ │ ├── copying.txt
│ │ │ ├── flags.txt
│ │ │ ├── lzz_p.cpp.html
│ │ │ ├── lzz_p.txt
│ │ │ ├── lzz_pE.cpp.html
│ │ │ ├── lzz_pE.txt
│ │ │ ├── lzz_pEX.cpp.html
│ │ │ ├── lzz_pEX.txt
│ │ │ ├── lzz_pEXFactoring.cpp.html
│ │ │ ├── lzz_pEXFactoring.txt
│ │ │ ├── lzz_pX.cpp.html
│ │ │ ├── lzz_pX.txt
│ │ │ ├── lzz_pXFactoring.cpp.html
│ │ │ ├── lzz_pXFactoring.txt
│ │ │ ├── mat_GF2.cpp.html
│ │ │ ├── mat_GF2.txt
│ │ │ ├── mat_GF2E.cpp.html
│ │ │ ├── mat_GF2E.txt
│ │ │ ├── mat_RR.cpp.html
│ │ │ ├── mat_RR.txt
│ │ │ ├── mat_ZZ.cpp.html
│ │ │ ├── mat_ZZ.txt
│ │ │ ├── mat_ZZ_p.cpp.html
│ │ │ ├── mat_ZZ_p.txt
│ │ │ ├── mat_ZZ_pE.cpp.html
│ │ │ ├── mat_ZZ_pE.txt
│ │ │ ├── mat_lzz_p.cpp.html
│ │ │ ├── mat_lzz_p.txt
│ │ │ ├── mat_lzz_pE.cpp.html
│ │ │ ├── mat_lzz_pE.txt
│ │ │ ├── mat_poly_ZZ.cpp.html
│ │ │ ├── mat_poly_ZZ.txt
│ │ │ ├── mat_poly_ZZ_p.cpp.html
│ │ │ ├── mat_poly_ZZ_p.txt
│ │ │ ├── mat_poly_lzz_p.cpp.html
│ │ │ ├── mat_poly_lzz_p.txt
│ │ │ ├── matrix.cpp.html
│ │ │ ├── matrix.txt
│ │ │ ├── names.txt
│ │ │ ├── pair.cpp.html
│ │ │ ├── pair.txt
│ │ │ ├── quad_float.cpp.html
│ │ │ ├── quad_float.txt
│ │ │ ├── sedscript.txt
│ │ │ ├── tools.cpp.html
│ │ │ ├── tools.txt
│ │ │ ├── tour-ack.html
│ │ │ ├── tour-changes.html
│ │ │ ├── tour-ex1.html
│ │ │ ├── tour-ex2.html
│ │ │ ├── tour-ex3.html
│ │ │ ├── tour-ex4.html
│ │ │ ├── tour-ex5.html
│ │ │ ├── tour-ex6.html
│ │ │ ├── tour-ex7.html
│ │ │ ├── tour-examples.html
│ │ │ ├── tour-gf2x.html
│ │ │ ├── tour-gmp.html
│ │ │ ├── tour-impl.html
│ │ │ ├── tour-intro.html
│ │ │ ├── tour-modules.html
│ │ │ ├── tour-roadmap.html
│ │ │ ├── tour-struct.html
│ │ │ ├── tour-time.html
│ │ │ ├── tour-tips.html
│ │ │ ├── tour-unix.html
│ │ │ ├── tour-win.html
│ │ │ ├── tour.html
│ │ │ ├── vec_GF2.cpp.html
│ │ │ ├── vec_GF2.txt
│ │ │ ├── vec_GF2E.cpp.html
│ │ │ ├── vec_GF2E.txt
│ │ │ ├── vec_RR.cpp.html
│ │ │ ├── vec_RR.txt
│ │ │ ├── vec_ZZ.cpp.html
│ │ │ ├── vec_ZZ.txt
│ │ │ ├── vec_ZZ_p.cpp.html
│ │ │ ├── vec_ZZ_p.txt
│ │ │ ├── vec_ZZ_pE.cpp.html
│ │ │ ├── vec_ZZ_pE.txt
│ │ │ ├── vec_lzz_p.cpp.html
│ │ │ ├── vec_lzz_p.txt
│ │ │ ├── vec_lzz_pE.cpp.html
│ │ │ ├── vec_lzz_pE.txt
│ │ │ ├── vector.cpp.html
│ │ │ ├── vector.txt
│ │ │ ├── version.cpp.html
│ │ │ ├── version.txt
│ │ │ ├── xdouble.cpp.html
│ │ │ └── xdouble.txt
│ │ ├── include/
│ │ │ └── NTL/
│ │ │ ├── ALL_FEATURES.h
│ │ │ ├── BasicThreadPool.h
│ │ │ ├── FFT.h
│ │ │ ├── FacVec.h
│ │ │ ├── GF2.h
│ │ │ ├── GF2E.h
│ │ │ ├── GF2EX.h
│ │ │ ├── GF2EXFactoring.h
│ │ │ ├── GF2X.h
│ │ │ ├── GF2XFactoring.h
│ │ │ ├── GF2XVec.h
│ │ │ ├── HAVE_ALIGNED_ARRAY.h
│ │ │ ├── HAVE_AVX.h
│ │ │ ├── HAVE_AVX2.h
│ │ │ ├── HAVE_BUILTIN_CLZL.h
│ │ │ ├── HAVE_CHRONO_TIME.h
│ │ │ ├── HAVE_COPY_TRAITS1.h
│ │ │ ├── HAVE_COPY_TRAITS2.h
│ │ │ ├── HAVE_FMA.h
│ │ │ ├── HAVE_LL_TYPE.h
│ │ │ ├── HAVE_MACOS_TIME.h
│ │ │ ├── HAVE_PCLMUL.h
│ │ │ ├── HAVE_POSIX_TIME.h
│ │ │ ├── HAVE_SSSE3.h
│ │ │ ├── HNF.h
│ │ │ ├── LLL.h
│ │ │ ├── Lazy.h
│ │ │ ├── LazyTable.h
│ │ │ ├── MatPrime.h
│ │ │ ├── PackageInfo.h
│ │ │ ├── REPORT_ALL_FEATURES.h
│ │ │ ├── RR.h
│ │ │ ├── SmartPtr.h
│ │ │ ├── WordVector.h
│ │ │ ├── ZZ.h
│ │ │ ├── ZZVec.h
│ │ │ ├── ZZX.h
│ │ │ ├── ZZXFactoring.h
│ │ │ ├── ZZ_limbs.h
│ │ │ ├── ZZ_p.h
│ │ │ ├── ZZ_pE.h
│ │ │ ├── ZZ_pEX.h
│ │ │ ├── ZZ_pEXFactoring.h
│ │ │ ├── ZZ_pX.h
│ │ │ ├── ZZ_pXFactoring.h
│ │ │ ├── config.h
│ │ │ ├── ctools.h
│ │ │ ├── fileio.h
│ │ │ ├── lip.h
│ │ │ ├── lzz_p.h
│ │ │ ├── lzz_pE.h
│ │ │ ├── lzz_pEX.h
│ │ │ ├── lzz_pEXFactoring.h
│ │ │ ├── lzz_pX.h
│ │ │ ├── lzz_pXFactoring.h
│ │ │ ├── mat_GF2.h
│ │ │ ├── mat_GF2E.h
│ │ │ ├── mat_RR.h
│ │ │ ├── mat_ZZ.h
│ │ │ ├── mat_ZZ_p.h
│ │ │ ├── mat_ZZ_pE.h
│ │ │ ├── mat_lzz_p.h
│ │ │ ├── mat_lzz_pE.h
│ │ │ ├── mat_poly_ZZ.h
│ │ │ ├── mat_poly_ZZ_p.h
│ │ │ ├── mat_poly_lzz_p.h
│ │ │ ├── matrix.h
│ │ │ ├── new.h
│ │ │ ├── pair.h
│ │ │ ├── pair_GF2EX_long.h
│ │ │ ├── pair_GF2X_long.h
│ │ │ ├── pair_ZZX_long.h
│ │ │ ├── pair_ZZ_pEX_long.h
│ │ │ ├── pair_ZZ_pX_long.h
│ │ │ ├── pair_lzz_pEX_long.h
│ │ │ ├── pair_lzz_pX_long.h
│ │ │ ├── quad_float.h
│ │ │ ├── sp_arith.h
│ │ │ ├── thread.h
│ │ │ ├── tools.h
│ │ │ ├── vec_GF2.h
│ │ │ ├── vec_GF2E.h
│ │ │ ├── vec_GF2XVec.h
│ │ │ ├── vec_RR.h
│ │ │ ├── vec_ZZ.h
│ │ │ ├── vec_ZZVec.h
│ │ │ ├── vec_ZZ_p.h
│ │ │ ├── vec_ZZ_pE.h
│ │ │ ├── vec_double.h
│ │ │ ├── vec_long.h
│ │ │ ├── vec_lzz_p.h
│ │ │ ├── vec_lzz_pE.h
│ │ │ ├── vec_quad_float.h
│ │ │ ├── vec_ulong.h
│ │ │ ├── vec_vec_GF2.h
│ │ │ ├── vec_vec_GF2E.h
│ │ │ ├── vec_vec_RR.h
│ │ │ ├── vec_vec_ZZ.h
│ │ │ ├── vec_vec_ZZ_p.h
│ │ │ ├── vec_vec_ZZ_pE.h
│ │ │ ├── vec_vec_long.h
│ │ │ ├── vec_vec_lzz_p.h
│ │ │ ├── vec_vec_lzz_pE.h
│ │ │ ├── vec_vec_ulong.h
│ │ │ ├── vec_xdouble.h
│ │ │ ├── vector.h
│ │ │ ├── version.h
│ │ │ └── xdouble.h
│ │ └── src/
│ │ ├── BasicThreadPool.cpp
│ │ ├── BerlekampTest.cpp
│ │ ├── BerlekampTestIn
│ │ ├── BerlekampTestOut
│ │ ├── BitMatTest.cpp
│ │ ├── CanZassTest.cpp
│ │ ├── CanZassTestIn
│ │ ├── CanZassTestOut
│ │ ├── CharPolyTest.cpp
│ │ ├── CharPolyTestIn
│ │ ├── CharPolyTestOut
│ │ ├── CheckALIGNED_ARRAY.cpp
│ │ ├── CheckAVX.cpp
│ │ ├── CheckAVX2.cpp
│ │ ├── CheckBUILTIN_CLZL.cpp
│ │ ├── CheckCHRONO_TIME.cpp
│ │ ├── CheckCOPY_TRAITS1.cpp
│ │ ├── CheckCOPY_TRAITS2.cpp
│ │ ├── CheckCompile.cpp
│ │ ├── CheckContract.cpp
│ │ ├── CheckContractAux.cpp
│ │ ├── CheckFMA.cpp
│ │ ├── CheckLL_TYPE.cpp
│ │ ├── CheckMACOS_TIME.cpp
│ │ ├── CheckPCLMUL.cpp
│ │ ├── CheckPOSIX_TIME.cpp
│ │ ├── CheckSSSE3.cpp
│ │ ├── CheckThreads.cpp
│ │ ├── CopyFeatures
│ │ ├── DIRNAME
│ │ ├── DispSettings.cpp
│ │ ├── DoConfig
│ │ ├── ExceptionTest.cpp
│ │ ├── FFT.cpp
│ │ ├── FacVec.cpp
│ │ ├── GF2.cpp
│ │ ├── GF2E.cpp
│ │ ├── GF2EX.cpp
│ │ ├── GF2EXFactoring.cpp
│ │ ├── GF2EXTest.cpp
│ │ ├── GF2X.cpp
│ │ ├── GF2X1.cpp
│ │ ├── GF2XFactoring.cpp
│ │ ├── GF2XTest.cpp
│ │ ├── GF2XTimeTest.cpp
│ │ ├── GF2XVec.cpp
│ │ ├── G_LLL_FP.cpp
│ │ ├── G_LLL_QP.cpp
│ │ ├── G_LLL_RR.cpp
│ │ ├── G_LLL_XD.cpp
│ │ ├── GenConfigInfo.cpp
│ │ ├── GetPID1.cpp
│ │ ├── GetPID2.cpp
│ │ ├── GetTime0.cpp
│ │ ├── GetTime1.cpp
│ │ ├── GetTime2.cpp
│ │ ├── GetTime3.cpp
│ │ ├── GetTime4.cpp
│ │ ├── GetTime5.cpp
│ │ ├── HNF.cpp
│ │ ├── InitSettings.cpp
│ │ ├── LLL.cpp
│ │ ├── LLLTest.cpp
│ │ ├── LLLTestIn
│ │ ├── LLLTestOut
│ │ ├── LLL_FP.cpp
│ │ ├── LLL_QP.cpp
│ │ ├── LLL_RR.cpp
│ │ ├── LLL_XD.cpp
│ │ ├── MakeCheckFeatures
│ │ ├── MakeDesc.cpp
│ │ ├── MakeDescAux.cpp
│ │ ├── MakeGetPID
│ │ ├── MakeGetTime
│ │ ├── MatPrime.cpp
│ │ ├── MatrixTest.cpp
│ │ ├── MatrixTestIn
│ │ ├── MatrixTestOut
│ │ ├── MoreFacTest.cpp
│ │ ├── MoreFacTestIn
│ │ ├── NOTES
│ │ ├── Poly1TimeTest.cpp
│ │ ├── Poly2TimeTest.cpp
│ │ ├── Poly3TimeTest.cpp
│ │ ├── QuadTest.cpp
│ │ ├── QuadTestIn
│ │ ├── QuadTestOut
│ │ ├── QuickTest.cpp
│ │ ├── RR.cpp
│ │ ├── RRTest.cpp
│ │ ├── RRTestIn
│ │ ├── RRTestOut
│ │ ├── RemoveProg
│ │ ├── ResetFeatures
│ │ ├── TestGetPID.cpp
│ │ ├── TestGetTime.cpp
│ │ ├── TestScript
│ │ ├── ThreadTest.cpp
│ │ ├── Timing.cpp
│ │ ├── VERSION_INFO
│ │ ├── WINDIR
│ │ ├── Wizard
│ │ ├── WizardAux
│ │ ├── WordVector.cpp
│ │ ├── ZZ.cpp
│ │ ├── ZZTest.cpp
│ │ ├── ZZVec.cpp
│ │ ├── ZZX.cpp
│ │ ├── ZZX1.cpp
│ │ ├── ZZXCharPoly.cpp
│ │ ├── ZZXFacTest.cpp
│ │ ├── ZZXFacTestIn
│ │ ├── ZZXFacTestOut
│ │ ├── ZZXFactoring.cpp
│ │ ├── ZZ_p.cpp
│ │ ├── ZZ_pE.cpp
│ │ ├── ZZ_pEX.cpp
│ │ ├── ZZ_pEXFactoring.cpp
│ │ ├── ZZ_pEXTest.cpp
│ │ ├── ZZ_pX.cpp
│ │ ├── ZZ_pX1.cpp
│ │ ├── ZZ_pXCharPoly.cpp
│ │ ├── ZZ_pXFactoring.cpp
│ │ ├── ZZ_pXTest.cpp
│ │ ├── cfile
│ │ ├── configure
│ │ ├── ctools.cpp
│ │ ├── dosify
│ │ ├── fileio.cpp
│ │ ├── gen_gmp_aux.cpp
│ │ ├── gf2x_version_1_2_or_later_required.cpp
│ │ ├── libtool-origin/
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── aclocal.m4
│ │ │ ├── config.guess
│ │ │ ├── config.sub
│ │ │ ├── configure
│ │ │ ├── configure.ac
│ │ │ ├── install-sh
│ │ │ ├── ltmain.sh
│ │ │ └── missing
│ │ ├── libtool-seed/
│ │ │ ├── Makefile.am
│ │ │ └── configure.ac
│ │ ├── lip.cpp
│ │ ├── lzz_p.cpp
│ │ ├── lzz_pE.cpp
│ │ ├── lzz_pEX.cpp
│ │ ├── lzz_pEXFactoring.cpp
│ │ ├── lzz_pEXTest.cpp
│ │ ├── lzz_pX.cpp
│ │ ├── lzz_pX1.cpp
│ │ ├── lzz_pXCharPoly.cpp
│ │ ├── lzz_pXFactoring.cpp
│ │ ├── lzz_pXTest.cpp
│ │ ├── mach_desc.win
│ │ ├── mat_GF2.cpp
│ │ ├── mat_GF2E.cpp
│ │ ├── mat_RR.cpp
│ │ ├── mat_ZZ.cpp
│ │ ├── mat_ZZ_p.cpp
│ │ ├── mat_ZZ_pE.cpp
│ │ ├── mat_lzz_p.cpp
│ │ ├── mat_lzz_pE.cpp
│ │ ├── mat_lzz_pTest.cpp
│ │ ├── mat_poly_ZZ.cpp
│ │ ├── mat_poly_ZZ_p.cpp
│ │ ├── mat_poly_lzz_p.cpp
│ │ ├── mfile
│ │ ├── newnames.cpp
│ │ ├── ppscript
│ │ ├── quad_float.cpp
│ │ ├── subset.cpp
│ │ ├── thread.cpp
│ │ ├── tools.cpp
│ │ ├── unixify
│ │ ├── vec_GF2.cpp
│ │ ├── vec_GF2E.cpp
│ │ ├── vec_RR.cpp
│ │ ├── vec_ZZ.cpp
│ │ ├── vec_ZZ_p.cpp
│ │ ├── vec_ZZ_pE.cpp
│ │ ├── vec_lzz_p.cpp
│ │ ├── vec_lzz_pE.cpp
│ │ └── xdouble.cpp
│ ├── OTExtensionBristol/
│ │ ├── CONFIG
│ │ ├── Exceptions/
│ │ │ └── Exceptions.h
│ │ ├── LICENSE.txt
│ │ ├── Networking/
│ │ │ ├── Player.cpp
│ │ │ ├── Player.h
│ │ │ ├── data.cpp
│ │ │ ├── data.h
│ │ │ ├── sockets.cpp
│ │ │ └── sockets.h
│ │ ├── OT/
│ │ │ ├── BaseOT.cpp
│ │ │ ├── BaseOT.h
│ │ │ ├── BitMatrix.cpp
│ │ │ ├── BitMatrix.h
│ │ │ ├── BitVector.cpp
│ │ │ ├── BitVector.h
│ │ │ ├── OTExtension.cpp
│ │ │ ├── OTExtension.h
│ │ │ ├── OTExtensionWithMatrix.cpp
│ │ │ ├── OTExtensionWithMatrix.h
│ │ │ ├── Tools.cpp
│ │ │ └── Tools.h
│ │ ├── README
│ │ ├── SimpleOT/
│ │ │ ├── Keccak-simple-settings.h
│ │ │ ├── Keccak-simple.c
│ │ │ ├── README.md
│ │ │ ├── consts.s
│ │ │ ├── consts4x.s
│ │ │ ├── cpucycles.c
│ │ │ ├── cpucycles.h
│ │ │ ├── crypto_hash.h
│ │ │ ├── fe25519.h
│ │ │ ├── fe25519_add.c
│ │ │ ├── fe25519_freeze.s
│ │ │ ├── fe25519_getparity.c
│ │ │ ├── fe25519_invert.c
│ │ │ ├── fe25519_iseq_vartime.c
│ │ │ ├── fe25519_mul.s
│ │ │ ├── fe25519_neg.c
│ │ │ ├── fe25519_nsquare.s
│ │ │ ├── fe25519_pack.c
│ │ │ ├── fe25519_pow2523.c
│ │ │ ├── fe25519_setint.c
│ │ │ ├── fe25519_square.s
│ │ │ ├── fe25519_sub.c
│ │ │ ├── fe25519_unpack.c
│ │ │ ├── ge25519.data
│ │ │ ├── ge25519.h
│ │ │ ├── ge25519_add.c
│ │ │ ├── ge25519_add_p1p1.s
│ │ │ ├── ge25519_dbl_p1p1.s
│ │ │ ├── ge25519_double.c
│ │ │ ├── ge25519_lookup.s
│ │ │ ├── ge25519_lookup_niels.s
│ │ │ ├── ge25519_nielsadd2.s
│ │ │ ├── ge25519_p1p1_to_p2.s
│ │ │ ├── ge25519_p1p1_to_p3.s
│ │ │ ├── ge25519_pack.c
│ │ │ ├── ge25519_scalarmult.c
│ │ │ ├── ge25519_scalarmult_base.c
│ │ │ ├── ge25519_setneutral.c
│ │ │ ├── ge25519_unpack.c
│ │ │ ├── ge4x.c
│ │ │ ├── ge4x.data
│ │ │ ├── ge4x.h
│ │ │ ├── ge4x_add_p1p1.s
│ │ │ ├── ge4x_double_p1p1.s
│ │ │ ├── ge4x_lookup.s
│ │ │ ├── ge4x_lookup_niels.s
│ │ │ ├── ge4x_niels_add_p1p1.s
│ │ │ ├── ge4x_pack.c
│ │ │ ├── ge4x_unpack_vartime.c
│ │ │ ├── gfe4x.c
│ │ │ ├── gfe4x.h
│ │ │ ├── gfe4x_add.s
│ │ │ ├── gfe4x_getparity.c
│ │ │ ├── gfe4x_iseq_vartime.c
│ │ │ ├── gfe4x_mul.s
│ │ │ ├── gfe4x_nsquare.c
│ │ │ ├── gfe4x_pow2523.c
│ │ │ ├── gfe4x_square.s
│ │ │ ├── gfe4x_sub.s
│ │ │ ├── network.c
│ │ │ ├── network.h
│ │ │ ├── ot_config.h
│ │ │ ├── ot_receiver.c
│ │ │ ├── ot_receiver.h
│ │ │ ├── ot_receiver_test.c
│ │ │ ├── ot_sender.c
│ │ │ ├── ot_sender.h
│ │ │ ├── ot_sender_test.c
│ │ │ ├── randombytes.c
│ │ │ ├── randombytes.h
│ │ │ ├── sc25519.h
│ │ │ ├── sc25519_from32bytes.c
│ │ │ ├── sc25519_random.c
│ │ │ ├── sc25519_window4.c
│ │ │ └── to_4x.h
│ │ ├── Test/
│ │ │ ├── BitMatrixTest.cpp
│ │ │ ├── OutputCheck.cpp
│ │ │ └── OutputCheck.h
│ │ ├── Tools/
│ │ │ ├── CBC-MAC.cpp
│ │ │ ├── CBC-MAC.h
│ │ │ ├── Commit.cpp
│ │ │ ├── Commit.h
│ │ │ ├── MMO.cpp
│ │ │ ├── MMO.h
│ │ │ ├── RO.h
│ │ │ ├── aes-ni.cpp
│ │ │ ├── aes.h
│ │ │ ├── int.h
│ │ │ ├── octetStream.cpp
│ │ │ ├── octetStream.h
│ │ │ ├── random.cpp
│ │ │ ├── random.h
│ │ │ ├── sha1.cpp
│ │ │ ├── sha1.h
│ │ │ ├── time-func.cpp
│ │ │ └── time-func.h
│ │ └── ezOption/
│ │ ├── MIT-LICENSE
│ │ └── ezOptionParser.h
│ ├── OTExtensionEncrypto/
│ │ ├── .travis.yml
│ │ ├── CMakeLists.txt
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── cmake/
│ │ │ └── OTExtensionConfig.cmake.in
│ │ ├── extern/
│ │ │ └── ENCRYPTO_utils/
│ │ │ ├── .travis.yml
│ │ │ ├── CMakeLists.txt
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── cmake/
│ │ │ │ ├── ENCRYPTO_utilsConfig.cmake.in
│ │ │ │ ├── FindGMP.cmake
│ │ │ │ └── FindGMPXX.cmake
│ │ │ ├── extern/
│ │ │ │ └── googletest/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── BUILD.bazel
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── CONTRIBUTING.md
│ │ │ │ ├── LICENSE
│ │ │ │ ├── Makefile.am
│ │ │ │ ├── README.md
│ │ │ │ ├── WORKSPACE
│ │ │ │ ├── appveyor.yml
│ │ │ │ ├── ci/
│ │ │ │ │ ├── build-linux-autotools.sh
│ │ │ │ │ ├── build-linux-bazel.sh
│ │ │ │ │ ├── env-linux.sh
│ │ │ │ │ ├── env-osx.sh
│ │ │ │ │ ├── get-nprocessors.sh
│ │ │ │ │ ├── install-linux.sh
│ │ │ │ │ ├── install-osx.sh
│ │ │ │ │ ├── log-config.sh
│ │ │ │ │ └── travis.sh
│ │ │ │ ├── configure.ac
│ │ │ │ ├── googlemock/
│ │ │ │ │ ├── CHANGES
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── CONTRIBUTORS
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── Makefile.am
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── cmake/
│ │ │ │ │ │ ├── gmock.pc.in
│ │ │ │ │ │ └── gmock_main.pc.in
│ │ │ │ │ ├── configure.ac
│ │ │ │ │ ├── docs/
│ │ │ │ │ │ ├── CheatSheet.md
│ │ │ │ │ │ ├── CookBook.md
│ │ │ │ │ │ ├── DesignDoc.md
│ │ │ │ │ │ ├── Documentation.md
│ │ │ │ │ │ ├── ForDummies.md
│ │ │ │ │ │ ├── FrequentlyAskedQuestions.md
│ │ │ │ │ │ └── KnownIssues.md
│ │ │ │ │ ├── include/
│ │ │ │ │ │ └── gmock/
│ │ │ │ │ │ ├── gmock-actions.h
│ │ │ │ │ │ ├── gmock-cardinalities.h
│ │ │ │ │ │ ├── gmock-generated-actions.h
│ │ │ │ │ │ ├── gmock-generated-actions.h.pump
│ │ │ │ │ │ ├── gmock-generated-function-mockers.h
│ │ │ │ │ │ ├── gmock-generated-function-mockers.h.pump
│ │ │ │ │ │ ├── gmock-generated-matchers.h
│ │ │ │ │ │ ├── gmock-generated-matchers.h.pump
│ │ │ │ │ │ ├── gmock-generated-nice-strict.h
│ │ │ │ │ │ ├── gmock-generated-nice-strict.h.pump
│ │ │ │ │ │ ├── gmock-matchers.h
│ │ │ │ │ │ ├── gmock-more-actions.h
│ │ │ │ │ │ ├── gmock-more-matchers.h
│ │ │ │ │ │ ├── gmock-spec-builders.h
│ │ │ │ │ │ ├── gmock.h
│ │ │ │ │ │ └── internal/
│ │ │ │ │ │ ├── custom/
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── gmock-generated-actions.h
│ │ │ │ │ │ │ ├── gmock-generated-actions.h.pump
│ │ │ │ │ │ │ ├── gmock-matchers.h
│ │ │ │ │ │ │ └── gmock-port.h
│ │ │ │ │ │ ├── gmock-generated-internal-utils.h
│ │ │ │ │ │ ├── gmock-generated-internal-utils.h.pump
│ │ │ │ │ │ ├── gmock-internal-utils.h
│ │ │ │ │ │ └── gmock-port.h
│ │ │ │ │ ├── msvc/
│ │ │ │ │ │ ├── 2005/
│ │ │ │ │ │ │ ├── gmock.sln
│ │ │ │ │ │ │ ├── gmock.vcproj
│ │ │ │ │ │ │ ├── gmock_config.vsprops
│ │ │ │ │ │ │ ├── gmock_main.vcproj
│ │ │ │ │ │ │ └── gmock_test.vcproj
│ │ │ │ │ │ ├── 2010/
│ │ │ │ │ │ │ ├── gmock.sln
│ │ │ │ │ │ │ ├── gmock.vcxproj
│ │ │ │ │ │ │ ├── gmock_config.props
│ │ │ │ │ │ │ ├── gmock_main.vcxproj
│ │ │ │ │ │ │ └── gmock_test.vcxproj
│ │ │ │ │ │ └── 2015/
│ │ │ │ │ │ ├── gmock.sln
│ │ │ │ │ │ ├── gmock.vcxproj
│ │ │ │ │ │ ├── gmock_config.props
│ │ │ │ │ │ ├── gmock_main.vcxproj
│ │ │ │ │ │ └── gmock_test.vcxproj
│ │ │ │ │ ├── scripts/
│ │ │ │ │ │ ├── fuse_gmock_files.py
│ │ │ │ │ │ ├── generator/
│ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ ├── README
│ │ │ │ │ │ │ ├── README.cppclean
│ │ │ │ │ │ │ ├── cpp/
│ │ │ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ │ │ ├── ast.py
│ │ │ │ │ │ │ │ ├── gmock_class.py
│ │ │ │ │ │ │ │ ├── gmock_class_test.py
│ │ │ │ │ │ │ │ ├── keywords.py
│ │ │ │ │ │ │ │ ├── tokenize.py
│ │ │ │ │ │ │ │ └── utils.py
│ │ │ │ │ │ │ └── gmock_gen.py
│ │ │ │ │ │ ├── gmock-config.in
│ │ │ │ │ │ ├── gmock_doctor.py
│ │ │ │ │ │ ├── upload.py
│ │ │ │ │ │ └── upload_gmock.py
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── gmock-all.cc
│ │ │ │ │ │ ├── gmock-cardinalities.cc
│ │ │ │ │ │ ├── gmock-internal-utils.cc
│ │ │ │ │ │ ├── gmock-matchers.cc
│ │ │ │ │ │ ├── gmock-spec-builders.cc
│ │ │ │ │ │ ├── gmock.cc
│ │ │ │ │ │ └── gmock_main.cc
│ │ │ │ │ └── test/
│ │ │ │ │ ├── BUILD.bazel
│ │ │ │ │ ├── gmock-actions_test.cc
│ │ │ │ │ ├── gmock-cardinalities_test.cc
│ │ │ │ │ ├── gmock-generated-actions_test.cc
│ │ │ │ │ ├── gmock-generated-function-mockers_test.cc
│ │ │ │ │ ├── gmock-generated-internal-utils_test.cc
│ │ │ │ │ ├── gmock-generated-matchers_test.cc
│ │ │ │ │ ├── gmock-internal-utils_test.cc
│ │ │ │ │ ├── gmock-matchers_test.cc
│ │ │ │ │ ├── gmock-more-actions_test.cc
│ │ │ │ │ ├── gmock-nice-strict_test.cc
│ │ │ │ │ ├── gmock-port_test.cc
│ │ │ │ │ ├── gmock-spec-builders_test.cc
│ │ │ │ │ ├── gmock_all_test.cc
│ │ │ │ │ ├── gmock_ex_test.cc
│ │ │ │ │ ├── gmock_leak_test.py
│ │ │ │ │ ├── gmock_leak_test_.cc
│ │ │ │ │ ├── gmock_link2_test.cc
│ │ │ │ │ ├── gmock_link_test.cc
│ │ │ │ │ ├── gmock_link_test.h
│ │ │ │ │ ├── gmock_output_test.py
│ │ │ │ │ ├── gmock_output_test_.cc
│ │ │ │ │ ├── gmock_output_test_golden.txt
│ │ │ │ │ ├── gmock_stress_test.cc
│ │ │ │ │ ├── gmock_test.cc
│ │ │ │ │ └── gmock_test_utils.py
│ │ │ │ └── googletest/
│ │ │ │ ├── CHANGES
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── CONTRIBUTORS
│ │ │ │ ├── LICENSE
│ │ │ │ ├── Makefile.am
│ │ │ │ ├── README.md
│ │ │ │ ├── cmake/
│ │ │ │ │ ├── gtest.pc.in
│ │ │ │ │ ├── gtest_main.pc.in
│ │ │ │ │ └── internal_utils.cmake
│ │ │ │ ├── codegear/
│ │ │ │ │ ├── gtest.cbproj
│ │ │ │ │ ├── gtest.groupproj
│ │ │ │ │ ├── gtest_all.cc
│ │ │ │ │ ├── gtest_link.cc
│ │ │ │ │ ├── gtest_main.cbproj
│ │ │ │ │ └── gtest_unittest.cbproj
│ │ │ │ ├── configure.ac
│ │ │ │ ├── docs/
│ │ │ │ │ ├── Pkgconfig.md
│ │ │ │ │ ├── PumpManual.md
│ │ │ │ │ ├── XcodeGuide.md
│ │ │ │ │ ├── advanced.md
│ │ │ │ │ ├── faq.md
│ │ │ │ │ ├── primer.md
│ │ │ │ │ └── samples.md
│ │ │ │ ├── include/
│ │ │ │ │ └── gtest/
│ │ │ │ │ ├── gtest-death-test.h
│ │ │ │ │ ├── gtest-message.h
│ │ │ │ │ ├── gtest-param-test.h
│ │ │ │ │ ├── gtest-param-test.h.pump
│ │ │ │ │ ├── gtest-printers.h
│ │ │ │ │ ├── gtest-spi.h
│ │ │ │ │ ├── gtest-test-part.h
│ │ │ │ │ ├── gtest-typed-test.h
│ │ │ │ │ ├── gtest.h
│ │ │ │ │ ├── gtest_pred_impl.h
│ │ │ │ │ ├── gtest_prod.h
│ │ │ │ │ └── internal/
│ │ │ │ │ ├── custom/
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── gtest-port.h
│ │ │ │ │ │ ├── gtest-printers.h
│ │ │ │ │ │ └── gtest.h
│ │ │ │ │ ├── gtest-death-test-internal.h
│ │ │ │ │ ├── gtest-filepath.h
│ │ │ │ │ ├── gtest-internal.h
│ │ │ │ │ ├── gtest-linked_ptr.h
│ │ │ │ │ ├── gtest-param-util-generated.h
│ │ │ │ │ ├── gtest-param-util-generated.h.pump
│ │ │ │ │ ├── gtest-param-util.h
│ │ │ │ │ ├── gtest-port-arch.h
│ │ │ │ │ ├── gtest-port.h
│ │ │ │ │ ├── gtest-string.h
│ │ │ │ │ ├── gtest-tuple.h
│ │ │ │ │ ├── gtest-tuple.h.pump
│ │ │ │ │ ├── gtest-type-util.h
│ │ │ │ │ └── gtest-type-util.h.pump
│ │ │ │ ├── m4/
│ │ │ │ │ ├── acx_pthread.m4
│ │ │ │ │ └── gtest.m4
│ │ │ │ ├── msvc/
│ │ │ │ │ └── 2010/
│ │ │ │ │ ├── gtest-md.sln
│ │ │ │ │ ├── gtest-md.vcxproj
│ │ │ │ │ ├── gtest-md.vcxproj.filters
│ │ │ │ │ ├── gtest.sln
│ │ │ │ │ ├── gtest.vcxproj
│ │ │ │ │ ├── gtest.vcxproj.filters
│ │ │ │ │ ├── gtest_main-md.vcxproj
│ │ │ │ │ ├── gtest_main-md.vcxproj.filters
│ │ │ │ │ ├── gtest_main.vcxproj
│ │ │ │ │ ├── gtest_main.vcxproj.filters
│ │ │ │ │ ├── gtest_prod_test-md.vcxproj
│ │ │ │ │ ├── gtest_prod_test-md.vcxproj.filters
│ │ │ │ │ ├── gtest_prod_test.vcxproj
│ │ │ │ │ ├── gtest_prod_test.vcxproj.filters
│ │ │ │ │ ├── gtest_unittest-md.vcxproj
│ │ │ │ │ ├── gtest_unittest-md.vcxproj.filters
│ │ │ │ │ ├── gtest_unittest.vcxproj
│ │ │ │ │ └── gtest_unittest.vcxproj.filters
│ │ │ │ ├── samples/
│ │ │ │ │ ├── prime_tables.h
│ │ │ │ │ ├── sample1.cc
│ │ │ │ │ ├── sample1.h
│ │ │ │ │ ├── sample10_unittest.cc
│ │ │ │ │ ├── sample1_unittest.cc
│ │ │ │ │ ├── sample2.cc
│ │ │ │ │ ├── sample2.h
│ │ │ │ │ ├── sample2_unittest.cc
│ │ │ │ │ ├── sample3-inl.h
│ │ │ │ │ ├── sample3_unittest.cc
│ │ │ │ │ ├── sample4.cc
│ │ │ │ │ ├── sample4.h
│ │ │ │ │ ├── sample4_unittest.cc
│ │ │ │ │ ├── sample5_unittest.cc
│ │ │ │ │ ├── sample6_unittest.cc
│ │ │ │ │ ├── sample7_unittest.cc
│ │ │ │ │ ├── sample8_unittest.cc
│ │ │ │ │ └── sample9_unittest.cc
│ │ │ │ ├── scripts/
│ │ │ │ │ ├── common.py
│ │ │ │ │ ├── fuse_gtest_files.py
│ │ │ │ │ ├── gen_gtest_pred_impl.py
│ │ │ │ │ ├── gtest-config.in
│ │ │ │ │ ├── pump.py
│ │ │ │ │ ├── release_docs.py
│ │ │ │ │ ├── upload.py
│ │ │ │ │ └── upload_gtest.py
│ │ │ │ ├── src/
│ │ │ │ │ ├── gtest-all.cc
│ │ │ │ │ ├── gtest-death-test.cc
│ │ │ │ │ ├── gtest-filepath.cc
│ │ │ │ │ ├── gtest-internal-inl.h
│ │ │ │ │ ├── gtest-port.cc
│ │ │ │ │ ├── gtest-printers.cc
│ │ │ │ │ ├── gtest-test-part.cc
│ │ │ │ │ ├── gtest-typed-test.cc
│ │ │ │ │ ├── gtest.cc
│ │ │ │ │ └── gtest_main.cc
│ │ │ │ ├── test/
│ │ │ │ │ ├── BUILD.bazel
│ │ │ │ │ ├── googletest-break-on-failure-unittest.py
│ │ │ │ │ ├── googletest-break-on-failure-unittest_.cc
│ │ │ │ │ ├── googletest-catch-exceptions-test.py
│ │ │ │ │ ├── googletest-catch-exceptions-test_.cc
│ │ │ │ │ ├── googletest-color-test.py
│ │ │ │ │ ├── googletest-color-test_.cc
│ │ │ │ │ ├── googletest-death-test-test.cc
│ │ │ │ │ ├── googletest-death-test_ex_test.cc
│ │ │ │ │ ├── googletest-env-var-test.py
│ │ │ │ │ ├── googletest-env-var-test_.cc
│ │ │ │ │ ├── googletest-filepath-test.cc
│ │ │ │ │ ├── googletest-filter-unittest.py
│ │ │ │ │ ├── googletest-filter-unittest_.cc
│ │ │ │ │ ├── googletest-json-outfiles-test.py
│ │ │ │ │ ├── googletest-json-output-unittest.py
│ │ │ │ │ ├── googletest-linked-ptr-test.cc
│ │ │ │ │ ├── googletest-list-tests-unittest.py
│ │ │ │ │ ├── googletest-list-tests-unittest_.cc
│ │ │ │ │ ├── googletest-listener-test.cc
│ │ │ │ │ ├── googletest-message-test.cc
│ │ │ │ │ ├── googletest-options-test.cc
│ │ │ │ │ ├── googletest-output-test-golden-lin.txt
│ │ │ │ │ ├── googletest-output-test.py
│ │ │ │ │ ├── googletest-output-test_.cc
│ │ │ │ │ ├── googletest-param-test-invalid-name1-test.py
│ │ │ │ │ ├── googletest-param-test-invalid-name1-test_.cc
│ │ │ │ │ ├── googletest-param-test-invalid-name2-test.py
│ │ │ │ │ ├── googletest-param-test-invalid-name2-test_.cc
│ │ │ │ │ ├── googletest-param-test-test.cc
│ │ │ │ │ ├── googletest-param-test-test.h
│ │ │ │ │ ├── googletest-param-test2-test.cc
│ │ │ │ │ ├── googletest-port-test.cc
│ │ │ │ │ ├── googletest-printers-test.cc
│ │ │ │ │ ├── googletest-shuffle-test.py
│ │ │ │ │ ├── googletest-shuffle-test_.cc
│ │ │ │ │ ├── googletest-test-part-test.cc
│ │ │ │ │ ├── googletest-test2_test.cc
│ │ │ │ │ ├── googletest-throw-on-failure-test.py
│ │ │ │ │ ├── googletest-throw-on-failure-test_.cc
│ │ │ │ │ ├── googletest-tuple-test.cc
│ │ │ │ │ ├── googletest-uninitialized-test.py
│ │ │ │ │ ├── googletest-uninitialized-test_.cc
│ │ │ │ │ ├── gtest-typed-test2_test.cc
│ │ │ │ │ ├── gtest-typed-test_test.cc
│ │ │ │ │ ├── gtest-typed-test_test.h
│ │ │ │ │ ├── gtest-unittest-api_test.cc
│ │ │ │ │ ├── gtest_all_test.cc
│ │ │ │ │ ├── gtest_assert_by_exception_test.cc
│ │ │ │ │ ├── gtest_environment_test.cc
│ │ │ │ │ ├── gtest_help_test.py
│ │ │ │ │ ├── gtest_help_test_.cc
│ │ │ │ │ ├── gtest_json_test_utils.py
│ │ │ │ │ ├── gtest_main_unittest.cc
│ │ │ │ │ ├── gtest_no_test_unittest.cc
│ │ │ │ │ ├── gtest_pred_impl_unittest.cc
│ │ │ │ │ ├── gtest_premature_exit_test.cc
│ │ │ │ │ ├── gtest_prod_test.cc
│ │ │ │ │ ├── gtest_repeat_test.cc
│ │ │ │ │ ├── gtest_sole_header_test.cc
│ │ │ │ │ ├── gtest_stress_test.cc
│ │ │ │ │ ├── gtest_test_macro_stack_footprint_test.cc
│ │ │ │ │ ├── gtest_test_utils.py
│ │ │ │ │ ├── gtest_testbridge_test.py
│ │ │ │ │ ├── gtest_testbridge_test_.cc
│ │ │ │ │ ├── gtest_throw_on_failure_ex_test.cc
│ │ │ │ │ ├── gtest_unittest.cc
│ │ │ │ │ ├── gtest_xml_outfile1_test_.cc
│ │ │ │ │ ├── gtest_xml_outfile2_test_.cc
│ │ │ │ │ ├── gtest_xml_outfiles_test.py
│ │ │ │ │ ├── gtest_xml_output_unittest.py
│ │ │ │ │ ├── gtest_xml_output_unittest_.cc
│ │ │ │ │ ├── gtest_xml_test_utils.py
│ │ │ │ │ ├── production.cc
│ │ │ │ │ └── production.h
│ │ │ │ └── xcode/
│ │ │ │ ├── Config/
│ │ │ │ │ ├── DebugProject.xcconfig
│ │ │ │ │ ├── FrameworkTarget.xcconfig
│ │ │ │ │ ├── General.xcconfig
│ │ │ │ │ ├── ReleaseProject.xcconfig
│ │ │ │ │ ├── StaticLibraryTarget.xcconfig
│ │ │ │ │ └── TestTarget.xcconfig
│ │ │ │ ├── Resources/
│ │ │ │ │ └── Info.plist
│ │ │ │ ├── Samples/
│ │ │ │ │ └── FrameworkSample/
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── WidgetFramework.xcodeproj/
│ │ │ │ │ │ └── project.pbxproj
│ │ │ │ │ ├── runtests.sh
│ │ │ │ │ ├── widget.cc
│ │ │ │ │ ├── widget.h
│ │ │ │ │ └── widget_test.cc
│ │ │ │ ├── Scripts/
│ │ │ │ │ ├── runtests.sh
│ │ │ │ │ └── versiongenerate.py
│ │ │ │ └── gtest.xcodeproj/
│ │ │ │ └── project.pbxproj
│ │ │ ├── src/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── ENCRYPTO_utils/
│ │ │ │ ├── cbitvector.cpp
│ │ │ │ ├── cbitvector.h
│ │ │ │ ├── channel.cpp
│ │ │ │ ├── channel.h
│ │ │ │ ├── circular_queue.cpp
│ │ │ │ ├── circular_queue.h
│ │ │ │ ├── codewords.cpp
│ │ │ │ ├── codewords.h
│ │ │ │ ├── connection.cpp
│ │ │ │ ├── connection.h
│ │ │ │ ├── constants.h
│ │ │ │ ├── crypto/
│ │ │ │ │ ├── Config.h
│ │ │ │ │ ├── TedKrovetzAesNiWrapperC.cpp
│ │ │ │ │ ├── TedKrovetzAesNiWrapperC.h
│ │ │ │ │ ├── crypto.cpp
│ │ │ │ │ ├── crypto.h
│ │ │ │ │ ├── dgk.cpp
│ │ │ │ │ ├── dgk.h
│ │ │ │ │ ├── djn.cpp
│ │ │ │ │ ├── djn.h
│ │ │ │ │ ├── ecc-pk-crypto.cpp
│ │ │ │ │ ├── ecc-pk-crypto.h
│ │ │ │ │ ├── gmp-pk-crypto.cpp
│ │ │ │ │ ├── gmp-pk-crypto.h
│ │ │ │ │ ├── intrin_sequential_enc8.cpp
│ │ │ │ │ ├── intrin_sequential_enc8.h
│ │ │ │ │ └── pk-crypto.h
│ │ │ │ ├── parse_options.cpp
│ │ │ │ ├── parse_options.h
│ │ │ │ ├── powmod.cpp
│ │ │ │ ├── powmod.h
│ │ │ │ ├── rcvthread.cpp
│ │ │ │ ├── rcvthread.h
│ │ │ │ ├── sndthread.cpp
│ │ │ │ ├── sndthread.h
│ │ │ │ ├── socket.cpp
│ │ │ │ ├── socket.h
│ │ │ │ ├── thread.cpp
│ │ │ │ ├── thread.h
│ │ │ │ ├── timer.cpp
│ │ │ │ ├── timer.h
│ │ │ │ ├── typedefs.h
│ │ │ │ ├── utils.cpp
│ │ │ │ └── utils.h
│ │ │ └── test/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── test_cbitvector.cpp
│ │ │ └── test_main.cpp
│ │ ├── mains/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── otmain.cpp
│ │ │ ├── otmain.h
│ │ │ ├── test.cpp
│ │ │ └── test.h
│ │ └── ot/
│ │ ├── OTconstants.h
│ │ ├── alsz-ot-ext-rec.cpp
│ │ ├── alsz-ot-ext-rec.h
│ │ ├── alsz-ot-ext-snd.cpp
│ │ ├── alsz-ot-ext-snd.h
│ │ ├── asharov-lindell.cpp
│ │ ├── asharov-lindell.h
│ │ ├── baseOT.h
│ │ ├── iknp-ot-ext-rec.cpp
│ │ ├── iknp-ot-ext-rec.h
│ │ ├── iknp-ot-ext-snd.cpp
│ │ ├── iknp-ot-ext-snd.h
│ │ ├── kk-ot-ext-rec.cpp
│ │ ├── kk-ot-ext-rec.h
│ │ ├── kk-ot-ext-snd.cpp
│ │ ├── kk-ot-ext-snd.h
│ │ ├── kk-ot-ext.h
│ │ ├── maskingfunction.h
│ │ ├── naor-pinkas.cpp
│ │ ├── naor-pinkas.h
│ │ ├── naor-pinkas_noro.cpp
│ │ ├── naor-pinkas_noro.h
│ │ ├── nnob-ot-ext-rec.cpp
│ │ ├── nnob-ot-ext-rec.h
│ │ ├── nnob-ot-ext-snd.cpp
│ │ ├── nnob-ot-ext-snd.h
│ │ ├── ot-ext-rec.cpp
│ │ ├── ot-ext-rec.h
│ │ ├── ot-ext-snd.cpp
│ │ ├── ot-ext-snd.h
│ │ ├── ot-ext.cpp
│ │ ├── ot-ext.h
│ │ ├── pvwddh.cpp
│ │ ├── pvwddh.h
│ │ ├── simpleot.cpp
│ │ ├── simpleot.h
│ │ └── xormasking.h
│ └── libOTe/
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── KyberOT/
│ │ ├── CMakeLists.txt
│ │ ├── KyberOT.c
│ │ ├── KyberOT.h
│ │ ├── KyberOT.vcxproj
│ │ ├── KyberOT.vcxproj.filters
│ │ ├── Makefile_old
│ │ ├── PQCgenKAT_kem.c
│ │ ├── api.h
│ │ ├── cbd.h
│ │ ├── cbdeta4.s
│ │ ├── cbdref.c
│ │ ├── consts.c
│ │ ├── cpucycles.c
│ │ ├── cpucycles.h
│ │ ├── fips202.c
│ │ ├── fips202.h
│ │ ├── fips202x4.c
│ │ ├── fips202x4.h
│ │ ├── genmatrix.c
│ │ ├── genmatrix.h
│ │ ├── indcpa.c
│ │ ├── indcpa.h
│ │ ├── invntt.s
│ │ ├── keccak4x/
│ │ │ ├── KeccakP-1600-times4-SIMD256.c
│ │ │ ├── KeccakP-1600-times4-SnP.h
│ │ │ ├── KeccakP-1600-unrolling.macros
│ │ │ ├── SIMD256-config.h
│ │ │ ├── align.h
│ │ │ └── brg_endian.h
│ │ ├── kem.c
│ │ ├── kex.c
│ │ ├── kex.h
│ │ ├── ntt.h
│ │ ├── ntt.s
│ │ ├── params.h
│ │ ├── poly.c
│ │ ├── poly.h
│ │ ├── polyvec.c
│ │ ├── polyvec.h
│ │ ├── polyvec_pointwise_acc.s
│ │ ├── precomp.c
│ │ ├── randombytes.c
│ │ ├── randombytes.h
│ │ ├── reduce.c
│ │ ├── reduce.h
│ │ ├── rng.c
│ │ ├── rng.h
│ │ ├── speed.c
│ │ ├── test_kex.c
│ │ ├── test_kyber.c
│ │ ├── testvectors.c
│ │ ├── verify.c
│ │ └── verify.h
│ ├── README.md
│ ├── SimplestOT/
│ │ ├── CMakeLists.txt
│ │ ├── Keccak-simple-settings.h
│ │ ├── Keccak-simple.c
│ │ ├── LICENSE
│ │ ├── SimplestOT.vcxproj
│ │ ├── SimplestOT.vcxproj.filters
│ │ ├── consts.s
│ │ ├── consts4x.s
│ │ ├── cpucycles.c
│ │ ├── cpucycles.h
│ │ ├── crypto_hash.h
│ │ ├── fe25519.h
│ │ ├── fe25519_add.c
│ │ ├── fe25519_freeze.s
│ │ ├── fe25519_getparity.c
│ │ ├── fe25519_invert.c
│ │ ├── fe25519_iseq_vartime.c
│ │ ├── fe25519_mul.s
│ │ ├── fe25519_neg.c
│ │ ├── fe25519_nsquare.s
│ │ ├── fe25519_pack.c
│ │ ├── fe25519_pow2523.c
│ │ ├── fe25519_setint.c
│ │ ├── fe25519_square.s
│ │ ├── fe25519_sub.c
│ │ ├── fe25519_unpack.c
│ │ ├── ge25519.data
│ │ ├── ge25519.h
│ │ ├── ge25519_add.c
│ │ ├── ge25519_add_p1p1.s
│ │ ├── ge25519_dbl_p1p1.s
│ │ ├── ge25519_double.c
│ │ ├── ge25519_lookup.s
│ │ ├── ge25519_lookup_niels.s
│ │ ├── ge25519_nielsadd2.s
│ │ ├── ge25519_p1p1_to_p2.s
│ │ ├── ge25519_p1p1_to_p3.s
│ │ ├── ge25519_pack.c
│ │ ├── ge25519_scalarmult.c
│ │ ├── ge25519_scalarmult_base.c
│ │ ├── ge25519_setneutral.c
│ │ ├── ge25519_unpack.c
│ │ ├── ge4x.c
│ │ ├── ge4x.data
│ │ ├── ge4x.h
│ │ ├── ge4x_add_p1p1.s
│ │ ├── ge4x_double_p1p1.s
│ │ ├── ge4x_lookup.s
│ │ ├── ge4x_lookup_niels.s
│ │ ├── ge4x_niels_add_p1p1.s
│ │ ├── ge4x_pack.c
│ │ ├── ge4x_unpack_vartime.c
│ │ ├── gfe4x.c
│ │ ├── gfe4x.h
│ │ ├── gfe4x_add.s
│ │ ├── gfe4x_getparity.c
│ │ ├── gfe4x_iseq_vartime.c
│ │ ├── gfe4x_mul.s
│ │ ├── gfe4x_nsquare.c
│ │ ├── gfe4x_pow2523.c
│ │ ├── gfe4x_square.s
│ │ ├── gfe4x_sub.s
│ │ ├── network.c
│ │ ├── network.h
│ │ ├── ot_config.h
│ │ ├── ot_receiver.c
│ │ ├── ot_receiver.h
│ │ ├── ot_receiver_test.c
│ │ ├── ot_sender.c
│ │ ├── ot_sender.h
│ │ ├── ot_sender_test.c
│ │ ├── randombytes.c
│ │ ├── randombytes.h
│ │ ├── sc25519.h
│ │ ├── sc25519_from32bytes.c
│ │ ├── sc25519_random.c
│ │ ├── sc25519_window4.c
│ │ └── to_4x.h
│ ├── frontend/
│ │ ├── CMakeLists.txt
│ │ ├── frontend.vcxproj
│ │ ├── frontend.vcxproj.filters
│ │ ├── main.cpp
│ │ ├── util.cpp
│ │ └── util.h
│ ├── libOTe/
│ │ ├── Base/
│ │ │ ├── BaseOT.h
│ │ │ ├── MasnyRindal.cpp
│ │ │ ├── MasnyRindal.h
│ │ │ ├── MasnyRindalKyber.cpp
│ │ │ ├── MasnyRindalKyber.h
│ │ │ ├── SimplestOT.cpp
│ │ │ ├── SimplestOT.h
│ │ │ ├── naor-pinkas.cpp
│ │ │ └── naor-pinkas.h
│ │ ├── CMakeLists.txt
│ │ ├── DPF/
│ │ │ └── BgicksPprf.h
│ │ ├── NChooseK/
│ │ │ ├── AknOtReceiver.cpp
│ │ │ ├── AknOtReceiver.h
│ │ │ ├── AknOtSender.cpp
│ │ │ └── AknOtSender.h
│ │ ├── NChooseOne/
│ │ │ ├── Kkrt/
│ │ │ │ ├── KkrtDefines.h
│ │ │ │ ├── KkrtNcoOtReceiver.cpp
│ │ │ │ ├── KkrtNcoOtReceiver.h
│ │ │ │ ├── KkrtNcoOtSender.cpp
│ │ │ │ └── KkrtNcoOtSender.h
│ │ │ ├── NcoOtExt.cpp
│ │ │ ├── NcoOtExt.h
│ │ │ ├── Oos/
│ │ │ │ ├── OosDefines.h
│ │ │ │ ├── OosNcoOtReceiver.cpp
│ │ │ │ ├── OosNcoOtReceiver.h
│ │ │ │ ├── OosNcoOtSender.cpp
│ │ │ │ └── OosNcoOtSender.h
│ │ │ └── RR17/
│ │ │ ├── Rr17NcoOtReceiver.cpp
│ │ │ ├── Rr17NcoOtReceiver.h
│ │ │ ├── Rr17NcoOtSender.cpp
│ │ │ └── Rr17NcoOtSender.h
│ │ ├── Tools/
│ │ │ ├── LinearCode.cpp
│ │ │ ├── LinearCode.h
│ │ │ ├── SilentPprf.cpp
│ │ │ ├── SilentPprf.h
│ │ │ ├── Tools.cpp
│ │ │ ├── Tools.h
│ │ │ ├── bch511.h
│ │ │ ├── bch511.txt
│ │ │ ├── bitpolymul/
│ │ │ │ ├── bc.cpp
│ │ │ │ ├── bc.h
│ │ │ │ ├── bc_to_gen_code.h
│ │ │ │ ├── bc_to_lch_gen_code.cpp
│ │ │ │ ├── bc_to_mono_gen_code.cpp
│ │ │ │ ├── bitmat_prod.h
│ │ │ │ ├── bpmDefines.h
│ │ │ │ ├── btfy.cpp
│ │ │ │ ├── btfy.h
│ │ │ │ ├── encode.cpp
│ │ │ │ ├── encode.h
│ │ │ │ ├── gf2128_cantor_iso.h
│ │ │ │ ├── gf264_cantor_iso.h
│ │ │ │ ├── gfext_aesni.h
│ │ │ │ ├── ska.h
│ │ │ │ ├── transpose.h
│ │ │ │ ├── transpose_bit.h
│ │ │ │ ├── trunc_btfy_tab.h
│ │ │ │ └── trunc_btfy_tab_64.h
│ │ │ ├── bitpolymul.cpp
│ │ │ └── bitpolymul.h
│ │ ├── TwoChooseOne/
│ │ │ ├── IknpDotExtReceiver.cpp
│ │ │ ├── IknpDotExtReceiver.h
│ │ │ ├── IknpDotExtSender.cpp
│ │ │ ├── IknpDotExtSender.h
│ │ │ ├── IknpOtExtReceiver.cpp
│ │ │ ├── IknpOtExtReceiver.h
│ │ │ ├── IknpOtExtSender.cpp
│ │ │ ├── IknpOtExtSender.h
│ │ │ ├── KosDotExtReceiver.cpp
│ │ │ ├── KosDotExtReceiver.h
│ │ │ ├── KosDotExtSender.cpp
│ │ │ ├── KosDotExtSender.h
│ │ │ ├── KosOtExtReceiver.cpp
│ │ │ ├── KosOtExtReceiver.h
│ │ │ ├── KosOtExtSender.cpp
│ │ │ ├── KosOtExtSender.h
│ │ │ ├── OTExtInterface.cpp
│ │ │ ├── OTExtInterface.h
│ │ │ ├── SilentOtExtReceiver.cpp
│ │ │ ├── SilentOtExtReceiver.h
│ │ │ ├── SilentOtExtSender.cpp
│ │ │ ├── SilentOtExtSender.h
│ │ │ └── TcoOtDefines.h
│ │ ├── config.h
│ │ ├── config.h.in
│ │ ├── libOTe.vcxproj.filters
│ │ └── libOTe.vcxproj.vcxproj
│ ├── libOTe_Tests/
│ │ ├── AknOt_Tests.cpp
│ │ ├── AknOt_Tests.h
│ │ ├── BaseOT_Tests.cpp
│ │ ├── BaseOT_Tests.h
│ │ ├── BgciksOT_Tests.h
│ │ ├── CMakeLists.txt
│ │ ├── Common.cpp
│ │ ├── Common.h
│ │ ├── NcoOT_Tests.cpp
│ │ ├── NcoOT_Tests.h
│ │ ├── OT_Tests.cpp
│ │ ├── OT_Tests.h
│ │ ├── SilentOT_Tests.cpp
│ │ ├── SilentOT_Tests.h
│ │ ├── UnitTests.cpp
│ │ ├── UnitTests.h
│ │ ├── bitpolymul_Tests.cpp
│ │ ├── bitpolymul_Tests.h
│ │ ├── libOTe_Tests.vcxproj.filters
│ │ ├── libOTe_Tests.vcxproj.vcxproj
│ │ └── testData/
│ │ ├── code1280_BCH511.h
│ │ ├── code1280_BCH511.txt
│ │ ├── code128_BCH511.h
│ │ ├── code128_BCH511.txt
│ │ ├── code256_BCH511.h
│ │ ├── code256_BCH511.txt
│ │ ├── code384_BCH511.h
│ │ ├── code384_BCH511.txt
│ │ ├── code640_BCH511.h
│ │ └── code640_BCH511.txt
│ └── libOTe_TestsVS/
│ ├── OT_TestsVS.cpp
│ └── libOTe_TestsVS.vcxproj
├── makefile
├── makefile_libs
├── src/
│ ├── circuits/
│ │ ├── ArithmeticCircuit.cpp
│ │ ├── BooleanCircuits.cpp
│ │ ├── FourToTwoGarbledBoleanCircuitNoAssumptions.cpp
│ │ ├── FreeXorGarbledBooleanCircuit.cpp
│ │ ├── GarbledBooleanCircuit.cpp
│ │ ├── GarbledBooleanCircuitFixedKey.cpp
│ │ ├── GarbledBooleanCircuitNoFixedKey.cpp
│ │ ├── GarbledBooleanCircuitNoIntrinsics.cpp
│ │ ├── GarbledCircuitFactory.cpp
│ │ ├── HalfGatesGarbledBoleanCircuitNoFixedKey.cpp
│ │ ├── HalfGatesGarbledBooleanCircuit.cpp
│ │ ├── RowReductionGarbledBooleanCircuit.cpp
│ │ ├── StandardGarbledBooleanCircuit.cpp
│ │ └── TedKrovetzAesNiWrapperC.cpp
│ ├── circuits_c/
│ │ ├── intrin_sequential_ks1_enc1.c
│ │ ├── intrin_sequential_ks2_enc2.c
│ │ ├── intrin_sequential_ks4_enc4.c
│ │ └── intrin_sequential_ks4_enc8.c
│ ├── comm/
│ │ ├── Comm.cpp
│ │ ├── CommBF.cpp
│ │ ├── CommUDP.cpp
│ │ ├── MPCCommunication.cpp
│ │ ├── MPCCommunicationBF.cpp
│ │ ├── Network.cpp
│ │ ├── PeerInfo.cpp
│ │ └── utils.cpp
│ ├── cryptoInfra/
│ │ └── Protocol.cpp
│ ├── infra/
│ │ ├── Common.cpp
│ │ ├── ConfigFile.cpp
│ │ ├── MathAlgorithms.cpp
│ │ ├── Measurement.cpp
│ │ ├── Scanner.cpp
│ │ └── aes_arm.cpp
│ ├── interactive_mid_protocols/
│ │ ├── CommitmentSchemeElGamal.cpp
│ │ ├── CommitmentSchemeElGamalHash.cpp
│ │ ├── CommitmentSchemePedersen.cpp
│ │ ├── CommitmentSchemePedersenHash.cpp
│ │ ├── CommitmentSchemeSimpleHash.cpp
│ │ ├── OT.cpp
│ │ ├── OTExtensionBristol.cpp
│ │ ├── OTExtensionEncrypto.cpp
│ │ ├── OTFullSimulation.cpp
│ │ ├── OTFullSimulationROM.cpp
│ │ ├── OTOneSidedSimulation.cpp
│ │ ├── OTPrivacyOnly.cpp
│ │ ├── OTSemiHonest.cpp
│ │ ├── OTUC.cpp
│ │ ├── SigmaProtocol.cpp
│ │ ├── SigmaProtocolAnd.cpp
│ │ ├── SigmaProtocolCramerShoupEncryptedValue.cpp
│ │ ├── SigmaProtocolDH.cpp
│ │ ├── SigmaProtocolDHExtended.cpp
│ │ ├── SigmaProtocolDamgardJurikEncryptedValue.cpp
│ │ ├── SigmaProtocolDamgardJurikEncryptedZero.cpp
│ │ ├── SigmaProtocolDamgardJurikProduct.cpp
│ │ ├── SigmaProtocolDlog.cpp
│ │ ├── SigmaProtocolElGamalCmtKnowledge.cpp
│ │ ├── SigmaProtocolElGamalCommittedValue.cpp
│ │ ├── SigmaProtocolElGamalEncryptedValue.cpp
│ │ ├── SigmaProtocolElGamalPrivateKey.cpp
│ │ ├── SigmaProtocolOrMultiple.cpp
│ │ ├── SigmaProtocolOrTwo.cpp
│ │ ├── SigmaProtocolPedersenCmtKnowledge.cpp
│ │ ├── SigmaProtocolPedersenCommittedValue.cpp
│ │ └── ZeroKnowledge.cpp
│ ├── mid_layer/
│ │ ├── CramerShoupEnc.cpp
│ │ ├── DamgardJurikEnc.cpp
│ │ ├── ElGamalEnc.cpp
│ │ ├── OpenSSLMac.cpp
│ │ └── OpenSSLSymmetricEnc.cpp
│ └── primitives/
│ ├── Dlog.cpp
│ ├── DlogCryptopp.cpp
│ ├── DlogOpenSSL.cpp
│ ├── HashOpenSSL.cpp
│ ├── Kdf.cpp
│ ├── Mersenne.cpp
│ ├── PrfOpenSSL.cpp
│ ├── Prg.cpp
│ ├── RandomOracle.cpp
│ ├── TrapdoorPermutation.cpp
│ ├── TrapdoorPermutationOpenSSL.cpp
│ └── prf.cpp
├── tests/
│ ├── CMakeLists.txt
│ ├── NigelAes.txt
│ ├── NigelAesOutput.txt
│ ├── catch.hpp
│ ├── interactiveMidProtocolsTests.cpp
│ ├── testCircuit.txt
│ ├── testCircuitOutput.txt
│ └── tests.cpp
├── tools/
│ └── circuits/
│ ├── README.md
│ ├── javaSynteticCircuitGenerator/
│ │ ├── GenerateArithmeticCircuitForDepthAndGates.java
│ │ ├── GenerateArithmeticCircuitForStatistics.java
│ │ ├── README.md
│ │ ├── synteticDepthAndGatesCircuitGenerator.jar
│ │ └── synteticStatisticsCircuitGenerator.jar
│ ├── scapiBristolConverter/
│ │ ├── CircuitConverter.cpp
│ │ ├── CircuitConverter.hpp
│ │ ├── README.md
│ │ ├── ScapiBristolConverter.cpp
│ │ ├── makefile
│ │ └── scapiBristolConverter
│ └── scapiNecConverter/
│ ├── Circuit.cpp
│ ├── Circuit.h
│ ├── CircuitConverter.cpp
│ ├── CircuitConverter.h
│ ├── README.md
│ ├── ScapiNecConverter.cpp
│ ├── makefile
│ └── scapiNecConverter
└── tutorials/
└── spdz2.md
================================================
FILE CONTENTS
================================================
================================================
FILE: .dockerignore
================================================
# Git
.git
.gitignore
# Docker
.docker
# C extensions
*.so
*.exe
*.lib
*.a
*.o
*.sdf
# Distribution / packaging
build
dokcerfiles
install
obj
windows-solutions
dokcerfiles/*Dockerfile*
*/Win64-sln/*
lib/MiraclWin64
lib/NTL/windows
lib/OTExtension/Win64-sln
lib/ScGarbledCircuit
lib/MiraclCompilation/MiraclWin64
lib/MiraclCompilation/MiraclTest
samples/assets/circuits/AESMULT
.git/objects
lib/MaliciousOTExtension/MaliciousOTExtension
================================================
FILE: .github/ISSUE_TEMPLATE/bug-report.md
================================================
---
name: Bug Report
about: Create a report to help us improve
---
**Describe the bug**
A clear and concise description of what the bug is.
**Steps to reproduce the bug**
A clear and concise description of what you expected to happen.
**Machine details (please complete the following information):**
- OS: [e.g. Ubuntu, Mac OSx, Arch Linux]
- Version [e.g. 22]
- Compiler Version [e.g GCC 7.3.0, Clang 4.9.0]
**Additional context**
Add any other context about the problem here.
================================================
FILE: .gitignore
================================================
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
#scapi build
install/*
build/*
compile-*
.cproject
.project
protocols/GMW/CMakeFiles/*
cmake-build-debug/
protocols/GMW/CMakeCache.txt
protocols/GMW/GMW.cbp
protocols/GMW/Makefile
protocols/GMW/Parties
protocols/GMW/cmake_install.cmake
protocols/YaoSingleExecution/GC_FILE
protocols/YaoSingleExecution/YaoSingleExecution
protocols/YaoSingleExecution/emp_format_circuit.txt
protocols/ReplicatedSecretSharing3PartiesArithmetic/Makefile
protocols/ReplicatedSecretSharing3PartiesArithmetic/ReplicatedSecretSharing3PartiesArithmetic
docs/build
Makefile
tests/Makefile
tests/ScapiTests
examples/Makefile
# Fortran module files
*.mod
.idea/
# Compiled Static libraries
*.lai
*.la
libscapi.a
protocols/GMW/libgmw.a
protocols/YaoSingleExecution/libyaoSingleExecution.a
*.lib
# Executables
*.exe
*.out
*.app
*.suo
*.opensdf
*.sdf
*.idb
*.log
*.pdb
*.tlog
*.lastbuildstate
*unsuccessfulbuild
*.ipch
*.ilk
*.iobj
*.opendb
*.ipdb
config_for_test.txt
*.VC.db
*~
examples/libscapi_example
callgrind.*
lib/OTExtensionBristol/SimpleOT/ot_sender_test
lib/OTExtensionBristol/SimpleOT/ot_receiver_test
protocols/GMW/GMW
protocols/GMW/GMW.cbp
# macOS specific
.DS_Store
#other
protocols/MaliciousYao/OfflineP1_*
protocols/MaliciousYao/OfflineP2_*
protocols/MaliciousYao/OnlineP1_*
protocols/MaliciousYao/OnlineP2_*
protocols/GMW/NigelAes9Parties.txt
protocols/GMW/AesInputs*.txt
protocols/YaoSingleExecution/Makefile
CMakeCache.txt
CMakeFiles/
build/
cmake_install.cmake
install/
lib/JsonCpp/CMakeFiles/
libscapi.cbp
obj/
protocols/GMW/CMakeFiles/
*.json
*.cbp
================================================
FILE: .travis.yml
================================================
language: cpp
dist: bionic
sudo: required
compiler:
- gcc
- clang
os:
- linux
before_install:
- sudo add-apt-repository ppa:mhier/libboost-latest -y
- sudo apt update -q
- sudo apt install libboost1.68 libboost1.68-dev -y
addons:
apt:
sources:
- mhier/libboost-latest
- ubuntu-toolchain-r-test
packages:
- g++-7
- libssl-dev
- build-essential
- libssl-dev
- libgmp3-dev
- cmake
- liblog4cpp5-dev
- zlib1g-dev
install:
- "[ $CXX = g++ ] && export CXX=g++-7 || true"
- "[ $CXX = clang++ ] && export CXX=clang++-3.8 || true"
script: make
================================================
FILE: CMakeLists.txt
================================================
cmake_minimum_required(VERSION 3.5)
project(scapi)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx -maes -msse4.1 -mpclmul -DRDTSC -DTEST=AES128 -O3 -mbmi2")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mavx -maes -msse4.1 -mpclmul -O3")
SET(SCAPI_BASE_DIR $ENV{HOME}/libscapi)
SET(CMAKE_AR "gcc-ar")
SET(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> qcs <TARGET> <LINK_FLAGS> <OBJECTS>")
SET(CMAKE_CXX_ARCHIVE_FINISH true)
INCLUDE_DIRECTORIES($ENV{HOME} ${SCAPI_BASE_DIR}/install/include
${SCAPI_BASE_DIR}/lib/OTExtensionBristol $ENV{HOME}/libOTe $ENV{HOME}/libOTe/cryptoTools)
link_directories(/usr/ssl/lib/ $ENV{HOME}/libscapi/install/lib )
set(SOURCE_FILES
src/circuits/BooleanCircuits.cpp
src/circuits/FourToTwoGarbledBoleanCircuitNoAssumptions.cpp
src/circuits/FreeXorGarbledBooleanCircuit.cpp
src/circuits/GarbledBooleanCircuit.cpp
src/circuits/GarbledBooleanCircuitNoIntrinsics.cpp
src/circuits/GarbledBooleanCircuitFixedKey.cpp
src/circuits/GarbledBooleanCircuitNoFixedKey.cpp
src/circuits/GarbledCircuitFactory.cpp
src/circuits/HalfGatesGarbledBoleanCircuitNoFixedKey.cpp
src/circuits/HalfGatesGarbledBooleanCircuit.cpp
src/circuits/RowReductionGarbledBooleanCircuit.cpp
src/circuits/StandardGarbledBooleanCircuit.cpp
src/circuits/TedKrovetzAesNiWrapperC.cpp
src/circuits/ArithmeticCircuit.cpp
src/comm/Comm.cpp
src/comm/CommUDP.cpp
src/comm/MPCCommunication.cpp
tools/circuits/scapiBristolConverter/CircuitConverter.cpp
src/infra/Common.cpp
src/infra/ConfigFile.cpp
src/infra/MathAlgorithms.cpp
src/infra/Scanner.cpp
src/interactive_mid_protocols/CommitmentSchemeElGamal.cpp
src/interactive_mid_protocols/CommitmentSchemeElGamalHash.cpp
src/interactive_mid_protocols/CommitmentSchemePedersen.cpp
src/interactive_mid_protocols/CommitmentSchemePedersenHash.cpp
src/interactive_mid_protocols/CommitmentSchemeSimpleHash.cpp
src/interactive_mid_protocols/OT.cpp
src/interactive_mid_protocols/OTExtensionBristol.cpp
src/interactive_mid_protocols/OTFullSimulation.cpp
src/interactive_mid_protocols/OTFullSimulationROM.cpp
src/interactive_mid_protocols/OTOneSidedSimulation.cpp
src/interactive_mid_protocols/OTPrivacyOnly.cpp
src/interactive_mid_protocols/OTSemiHonest.cpp
src/interactive_mid_protocols/OTUC.cpp
src/interactive_mid_protocols/SigmaProtocol.cpp
src/interactive_mid_protocols/SigmaProtocolAnd.cpp
src/interactive_mid_protocols/SigmaProtocolCramerShoupEncryptedValue.cpp
src/interactive_mid_protocols/SigmaProtocolDamgardJurikEncryptedValue.cpp
src/interactive_mid_protocols/SigmaProtocolDamgardJurikEncryptedZero.cpp
src/interactive_mid_protocols/SigmaProtocolDamgardJurikProduct.cpp
src/interactive_mid_protocols/SigmaProtocolDH.cpp
src/interactive_mid_protocols/SigmaProtocolDHExtended.cpp
src/interactive_mid_protocols/SigmaProtocolDlog.cpp
src/interactive_mid_protocols/SigmaProtocolElGamalCmtKnowledge.cpp
src/interactive_mid_protocols/SigmaProtocolElGamalCommittedValue.cpp
src/interactive_mid_protocols/SigmaProtocolElGamalEncryptedValue.cpp
src/interactive_mid_protocols/SigmaProtocolElGamalPrivateKey.cpp
src/interactive_mid_protocols/SigmaProtocolOrMultiple.cpp
src/interactive_mid_protocols/SigmaProtocolOrTwo.cpp
src/interactive_mid_protocols/SigmaProtocolPedersenCmtKnowledge.cpp
src/interactive_mid_protocols/SigmaProtocolPedersenCommittedValue.cpp
src/interactive_mid_protocols/ZeroKnowledge.cpp
src/mid_layer/CramerShoupEnc.cpp
src/mid_layer/DamgardJurikEnc.cpp
src/mid_layer/ElGamalEnc.cpp
src/mid_layer/OpenSSLSymmetricEnc.cpp
src/primitives/Dlog.cpp
src/primitives/DlogCryptopp.cpp
src/primitives/DlogOpenSSL.cpp
src/primitives/HashOpenSSL.cpp
src/primitives/Kdf.cpp
src/primitives/prf.cpp
src/primitives/PrfOpenSSL.cpp
src/primitives/Prg.cpp
src/primitives/RandomOracle.cpp
src/primitives/TrapdoorPermutation.cpp
src/primitives/TrapdoorPermutationOpenSSL.cpp
include/primitives/Mersenne.hpp
src/primitives/Mersenne.cpp
include/primitives/Matrix.hpp
src/infra/Measurement.cpp
src/cryptoInfra/Protocol.cpp src/mid_layer/OpenSSLMac.cpp include/mid_layer/OpenSSLMac.h)
add_library(scapi ${SOURCE_FILES})
add_custom_target(scapi_build ALL
COMMAND sudo make -f makefile_libs
WORKING_DIRECTORY ${SCAPI_BASE_DIR}
COMMENT "Original libscapi libs makefile target")
TARGET_LINK_LIBRARIES(scapi gmp libboost_system.a libboost_thread.a pthread crypto dl ssl z)
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2018 Bar Ilan Cryptography Research Group
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
# LIBSCAPI - The Secure Computation API
[](https://travis-ci.org/cryptobiu/libscapi)
## Introduction
libscapi is the Open source C++ library for implementing high performance secure two-party and multiparty computation protocols (SCAPI stands for the "Secure Computation API"). It provides a reliable, efficient, and highly flexible cryptographic infrastructure.
Libscapi is developed by [Bar Ilan University Cryptography Research Group](http://crypto.biu.ac.il/). The goal of libscapi is to promote research by Academy and Industry practitioners in this field by providing:
- A consistent API over Primitives, Mid-Layer Protocols, Interactive Mid-Layer Protocols and Communication Channels, simplifying the development and evaluation fo new protocols. We focus on keeping libscapi easy to build and use.
- Integrating best performance open-source implementations by other Academy Research Institutes.
- High Performance implementation on standard Linux & Intelx64 Architecture. We use modern techniques like Intel Intrinsics Instructions, Pipelining and TCP optimizations.
## Publications using libscapi
- Generalizing the SPDZ Compiler For Other Protocols. Accepted ACM-CCS 18 [ABFKLOT18]()
- An End-to-end System for Large Scale P2P MPC as-a-Service and Low-Bandwidth MPC for Weak Participants. Includes HyperMPC protocol
Accepted ACM-CCS 18 [BHKL18]()
- TinyKeys: A New Approach to Efficient Multi-Party Computation [HOSSV18](https://eprint.iacr.org/2018/208)
- Fast Large-Scale Honest-Majority MPC for Malicious Adversaries [CGHIKLN18](https://eprint.iacr.org/2018/570)
- A Framework for Constructing Fast MPC over Arithmetic Circuits with Malicious Adversaries [LN17](https://eprint.iacr.org/2017/816.pdf)
- Low Cost Constant Round MPC Combining BMR and Oblivious Transfer [HSSV17](https://eprint.iacr.org/2017/214.pdf)
## Benchmarking and Automation
Libscapi is integrated with [MATRIX](https://github.com/cryptobiu/MATRIX) MPC Test Automation Framework. We use MATRIX to benchmark protocols on AWS cloud, including cross region experiments with up to 500 parties. MATRIX can easily run protocols that do not integrate libscapi as well, including for example the SPDZ-2 protocol implementation by Bristol University.
## Protocol implementations
The [MPC-Benchmark](https://github.com/cryptobiu/MPC-Benchmark) repository includes protocols implemented using libscapi, and integrated with the MATRIX benchmarking and automation platform. This includes implementations of the protocols listed above.
## libscapi Modules
- Primitives: Dlog, Cryptographic Hash Function, HMAC and KDF, Pseudorandom Functions and Permutations, Pseudo Random Generator, Trapdoor Permutation, Random Oracle etc.
- Mid-layer protocols: Public Key Encryption Schemes: Cramer-Shoup, Damgard-Jurik, El-Gamal
- Interactive Mid-layer protocols: Sigma Protocols, Zero Knowledge Proofs, Commitment Schemes
- OT Extension : Wrappers for LibOTE and SimpleOT by OSU-Cypto and Bristol University
- Circuits: Some commonly used circuits for AES etc
- Communication Channel: TCP Peer-To-Peer communication setup and channel methods
## Other Libscapi versions
- [ScapiLite](https://github.com/cryptobiu/ScapiLite) is an experimental version used to develop MPC protocols on Android and Raspberry Pi. It has also been ported to Javascript using emscripten. ScapiLite currently supports secret-sharing protocols only (As no OT has been ported)
- We have discontinued support for the Java Scapi library due to performance and portability issues. We would be happy to support anyone interested in developing new Java or Go bindings.
## License
Libscapi is released under the MIT open source license. However, some of the libraries we use have different licenses. For further information please refer to [LICENSE.md](https://github.com/cryptobiu/libscapi/blob/master/LICENSE.md)
## Documentation
Go to http://biulibscapi.readthedocs.org/ for a detailed explanations of our implementation.
## Installing libscapi
Libscapi runs on Linux (x64 only, 32 bit systems are not supported), MacOS and ARM64 and has been tested on the following version:
- Ubuntu 14.04/16.04/18.04 LTS
- CentOS 7.3
- Mac OS High Sierra 10.13
- ARM64 - tested on Cortex A72 with Ubuntu 18.04 LTS (prior versions to 18.04 on ARM may run as well).
For detailed instructions, see [INSTALL.md](build_scripts/INSTALL.md)
## Libraries used by libscapi
### Implementations by other Academic Institutes
##### Cryptography Research at Oregon State University : LibOTE A fast, portable, and easy to use Oblivious Transfer Library
[https://github.com/osu-crypto/libOTe](https://github.com/osu-crypto/libOTe)
This library provides several different classes of OT protocols. First is the base OT protocol of Naor-Prinkas [NP00].
This protocol bootstraps all the other OT extension protocols. Within the OT extension protocols,
we have 1-out-of-2, 1-out-of-N and ~K-out-of-N, both in the semi-honest and malicious settings.
All implementations are highly optimized using fast SSE instructions and vectorization to obtain
optimal performance both in the single and multi-threaded setting.
See the Performance section for a comparison between protocols and to other libraries.
Networking can be performed using both the sockets provided by the library and external socket classes.
##### Cryptography and Privacy Engineering Group at TU Darmstadt : OTExtension
[https://github.com/encryptogroup/OTExtension](https://github.com/encryptogroup/OTExtension)
An OT extension library for ARM64 processors. The library implement this OT Extension algorithms:
- General OT
- Correlated OT
- Global correlated OT
- Sender random OT
- Receiver random OT
##### University of Bristol: Advanced Protocols for Real-world Implementation of Computational Oblivious Transfers
[https://github.com/bristolcrypto/apricot](https://github.com/bristolcrypto/apricot)
##### Tung Chou and Claudio Orlandi: The Simplest Oblivious Transfer Protocol
[http://users-cs.au.dk/orlandi/simpleOT/](http://users-cs.au.dk/orlandi/simpleOT/)
### Math and General Purpose Libraries
##### OpenSSL
[https://www.openssl.org/](https://www.openssl.org/)
OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the
Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols.
It is also a general-purpose cryptography library. For more information about the team and community around the project,
or to start making your own contributions, start with the community page.
To get the latest news, download the source, and so on, please see the sidebar or the buttons at the top of every page.
##### The GNU Multiple Precision Arithmetic Library (GMP)
[https://gmplib.org/](https://gmplib.org/)
GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers,
and floating-point numbers. There is no practical limit to the precision except the ones implied by the
available memory in the machine GMP runs on. GMP has a rich set of functions, and the functions have a regular interface.
The main target applications for GMP are cryptography applications and research,
Internet security applications, algebra systems, computational algebra research, etc.
##### NTL: A Library for doing Number Theory- Victor Shoup
[http://www.shoup.net/ntl/](http://www.shoup.net/ntl/)
NTL is a high-performance, portable C++ library providing data structures and algorithms for manipulating signed,
arbitrary length integers, and for vectors, matrices, and polynomials over the integers and over finite fields.
On modern platforms supporting C++11, NTL can be compiled in thread safe and exception safe modes.
##### Boost
[http://www.boost.org/](http://www.boost.org/)
Boost provides free peer-reviewed portable C++ source libraries.
We emphasize libraries that work well with the C++ Standard Library.
Boost libraries are intended to be widely useful, and usable across a broad spectrum of applications.
##### KCP
[https://github.com/skywind3000/kcp/blob/master/README.en.md](https://github.com/skywind3000/kcp/blob/master/README.en.md)
A library for fast and reliable protocol for TCP/UDP.
================================================
FILE: assets/circuits/arithmetic/StatisticCircuit/ArithmeticStatistics1PairsAnd200SamplesFor4Parties.txt
================================================
6404
4
1 400
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
2 400
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
3 400
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
4 400
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1 5
4798
5600
6399
7201
8003
2 0
3 0
4 0
2 1 0 0 1600 2
2 1 1 1 1601 2
2 1 2 2 1602 2
2 1 3 3 1603 2
2 1 4 4 1604 2
2 1 5 5 1605 2
2 1 6 6 1606 2
2 1 7 7 1607 2
2 1 8 8 1608 2
2 1 9 9 1609 2
2 1 10 10 1610 2
2 1 11 11 1611 2
2 1 12 12 1612 2
2 1 13 13 1613 2
2 1 14 14 1614 2
2 1 15 15 1615 2
2 1 16 16 1616 2
2 1 17 17 1617 2
2 1 18 18 1618 2
2 1 19 19 1619 2
2 1 20 20 1620 2
2 1 21 21 1621 2
2 1 22 22 1622 2
2 1 23 23 1623 2
2 1 24 24 1624 2
2 1 25 25 1625 2
2 1 26 26 1626 2
2 1 27 27 1627 2
2 1 28 28 1628 2
2 1 29 29 1629 2
2 1 30 30 1630 2
2 1 31 31 1631 2
2 1 32 32 1632 2
2 1 33 33 1633 2
2 1 34 34 1634 2
2 1 35 35 1635 2
2 1 36 36 1636 2
2 1 37 37 1637 2
2 1 38 38 1638 2
2 1 39 39 1639 2
2 1 40 40 1640 2
2 1 41 41 1641 2
2 1 42 42 1642 2
2 1 43 43 1643 2
2 1 44 44 1644 2
2 1 45 45 1645 2
2 1 46 46 1646 2
2 1 47 47 1647 2
2 1 48 48 1648 2
2 1 49 49 1649 2
2 1 50 50 1650 2
2 1 51 51 1651 2
2 1 52 52 1652 2
2 1 53 53 1653 2
2 1 54 54 1654 2
2 1 55 55 1655 2
2 1 56 56 1656 2
2 1 57 57 1657 2
2 1 58 58 1658 2
2 1 59 59 1659 2
2 1 60 60 1660 2
2 1 61 61 1661 2
2 1 62 62 1662 2
2 1 63 63 1663 2
2 1 64 64 1664 2
2 1 65 65 1665 2
2 1 66 66 1666 2
2 1 67 67 1667 2
2 1 68 68 1668 2
2 1 69 69 1669 2
2 1 70 70 1670 2
2 1 71 71 1671 2
2 1 72 72 1672 2
2 1 73 73 1673 2
2 1 74 74 1674 2
2 1 75 75 1675 2
2 1 76 76 1676 2
2 1 77 77 1677 2
2 1 78 78 1678 2
2 1 79 79 1679 2
2 1 80 80 1680 2
2 1 81 81 1681 2
2 1 82 82 1682 2
2 1 83 83 1683 2
2 1 84 84 1684 2
2 1 85 85 1685 2
2 1 86 86 1686 2
2 1 87 87 1687 2
2 1 88 88 1688 2
2 1 89 89 1689 2
2 1 90 90 1690 2
2 1 91 91 1691 2
2 1 92 92 1692 2
2 1 93 93 1693 2
2 1 94 94 1694 2
2 1 95 95 1695 2
2 1 96 96 1696 2
2 1 97 97 1697 2
2 1 98 98 1698 2
2 1 99 99 1699 2
2 1 100 100 1700 2
2 1 101 101 1701 2
2 1 102 102 1702 2
2 1 103 103 1703 2
2 1 104 104 1704 2
2 1 105 105 1705 2
2 1 106 106 1706 2
2 1 107 107 1707 2
2 1 108 108 1708 2
2 1 109 109 1709 2
2 1 110 110 1710 2
2 1 111 111 1711 2
2 1 112 112 1712 2
2 1 113 113 1713 2
2 1 114 114 1714 2
2 1 115 115 1715 2
2 1 116 116 1716 2
2 1 117 117 1717 2
2 1 118 118 1718 2
2 1 119 119 1719 2
2 1 120 120 1720 2
2 1 121 121 1721 2
2 1 122 122 1722 2
2 1 123 123 1723 2
2 1 124 124 1724 2
2 1 125 125 1725 2
2 1 126 126 1726 2
2 1 127 127 1727 2
2 1 128 128 1728 2
2 1 129 129 1729 2
2 1 130 130 1730 2
2 1 131 131 1731 2
2 1 132 132 1732 2
2 1 133 133 1733 2
2 1 134 134 1734 2
2 1 135 135 1735 2
2 1 136 136 1736 2
2 1 137 137 1737 2
2 1 138 138 1738 2
2 1 139 139 1739 2
2 1 140 140 1740 2
2 1 141 141 1741 2
2 1 142 142 1742 2
2 1 143 143 1743 2
2 1 144 144 1744 2
2 1 145 145 1745 2
2 1 146 146 1746 2
2 1 147 147 1747 2
2 1 148 148 1748 2
2 1 149 149 1749 2
2 1 150 150 1750 2
2 1 151 151 1751 2
2 1 152 152 1752 2
2 1 153 153 1753 2
2 1 154 154 1754 2
2 1 155 155 1755 2
2 1 156 156 1756 2
2 1 157 157 1757 2
2 1 158 158 1758 2
2 1 159 159 1759 2
2 1 160 160 1760 2
2 1 161 161 1761 2
2 1 162 162 1762 2
2 1 163 163 1763 2
2 1 164 164 1764 2
2 1 165 165 1765 2
2 1 166 166 1766 2
2 1 167 167 1767 2
2 1 168 168 1768 2
2 1 169 169 1769 2
2 1 170 170 1770 2
2 1 171 171 1771 2
2 1 172 172 1772 2
2 1 173 173 1773 2
2 1 174 174 1774 2
2 1 175 175 1775 2
2 1 176 176 1776 2
2 1 177 177 1777 2
2 1 178 178 1778 2
2 1 179 179 1779 2
2 1 180 180 1780 2
2 1 181 181 1781 2
2 1 182 182 1782 2
2 1 183 183 1783 2
2 1 184 184 1784 2
2 1 185 185 1785 2
2 1 186 186 1786 2
2 1 187 187 1787 2
2 1 188 188 1788 2
2 1 189 189 1789 2
2 1 190 190 1790 2
2 1 191 191 1791 2
2 1 192 192 1792 2
2 1 193 193 1793 2
2 1 194 194 1794 2
2 1 195 195 1795 2
2 1 196 196 1796 2
2 1 197 197 1797 2
2 1 198 198 1798 2
2 1 199 199 1799 2
2 1 200 200 1800 2
2 1 201 201 1801 2
2 1 202 202 1802 2
2 1 203 203 1803 2
2 1 204 204 1804 2
2 1 205 205 1805 2
2 1 206 206 1806 2
2 1 207 207 1807 2
2 1 208 208 1808 2
2 1 209 209 1809 2
2 1 210 210 1810 2
2 1 211 211 1811 2
2 1 212 212 1812 2
2 1 213 213 1813 2
2 1 214 214 1814 2
2 1 215 215 1815 2
2 1 216 216 1816 2
2 1 217 217 1817 2
2 1 218 218 1818 2
2 1 219 219 1819 2
2 1 220 220 1820 2
2 1 221 221 1821 2
2 1 222 222 1822 2
2 1 223 223 1823 2
2 1 224 224 1824 2
2 1 225 225 1825 2
2 1 226 226 1826 2
2 1 227 227 1827 2
2 1 228 228 1828 2
2 1 229 229 1829 2
2 1 230 230 1830 2
2 1 231 231 1831 2
2 1 232 232 1832 2
2 1 233 233 1833 2
2 1 234 234 1834 2
2 1 235 235 1835 2
2 1 236 236 1836 2
2 1 237 237 1837 2
2 1 238 238 1838 2
2 1 239 239 1839 2
2 1 240 240 1840 2
2 1 241 241 1841 2
2 1 242 242 1842 2
2 1 243 243 1843 2
2 1 244 244 1844 2
2 1 245 245 1845 2
2 1 246 246 1846 2
2 1 247 247 1847 2
2 1 248 248 1848 2
2 1 249 249 1849 2
2 1 250 250 1850 2
2 1 251 251 1851 2
2 1 252 252 1852 2
2 1 253 253 1853 2
2 1 254 254 1854 2
2 1 255 255 1855 2
2 1 256 256 1856 2
2 1 257 257 1857 2
2 1 258 258 1858 2
2 1 259 259 1859 2
2 1 260 260 1860 2
2 1 261 261 1861 2
2 1 262 262 1862 2
2 1 263 263 1863 2
2 1 264 264 1864 2
2 1 265 265 1865 2
2 1 266 266 1866 2
2 1 267 267 1867 2
2 1 268 268 1868 2
2 1 269 269 1869 2
2 1 270 270 1870 2
2 1 271 271 1871 2
2 1 272 272 1872 2
2 1 273 273 1873 2
2 1 274 274 1874 2
2 1 275 275 1875 2
2 1 276 276 1876 2
2 1 277 277 1877 2
2 1 278 278 1878 2
2 1 279 279 1879 2
2 1 280 280 1880 2
2 1 281 281 1881 2
2 1 282 282 1882 2
2 1 283 283 1883 2
2 1 284 284 1884 2
2 1 285 285 1885 2
2 1 286 286 1886 2
2 1 287 287 1887 2
2 1 288 288 1888 2
2 1 289 289 1889 2
2 1 290 290 1890 2
2 1 291 291 1891 2
2 1 292 292 1892 2
2 1 293 293 1893 2
2 1 294 294 1894 2
2 1 295 295 1895 2
2 1 296 296 1896 2
2 1 297 297 1897 2
2 1 298 298 1898 2
2 1 299 299 1899 2
2 1 300 300 1900 2
2 1 301 301 1901 2
2 1 302 302 1902 2
2 1 303 303 1903 2
2 1 304 304 1904 2
2 1 305 305 1905 2
2 1 306 306 1906 2
2 1 307 307 1907 2
2 1 308 308 1908 2
2 1 309 309 1909 2
2 1 310 310 1910 2
2 1 311 311 1911 2
2 1 312 312 1912 2
2 1 313 313 1913 2
2 1 314 314 1914 2
2 1 315 315 1915 2
2 1 316 316 1916 2
2 1 317 317 1917 2
2 1 318 318 1918 2
2 1 319 319 1919 2
2 1 320 320 1920 2
2 1 321 321 1921 2
2 1 322 322 1922 2
2 1 323 323 1923 2
2 1 324 324 1924 2
2 1 325 325 1925 2
2 1 326 326 1926 2
2 1 327 327 1927 2
2 1 328 328 1928 2
2 1 329 329 1929 2
2 1 330 330 1930 2
2 1 331 331 1931 2
2 1 332 332 1932 2
2 1 333 333 1933 2
2 1 334 334 1934 2
2 1 335 335 1935 2
2 1 336 336 1936 2
2 1 337 337 1937 2
2 1 338 338 1938 2
2 1 339 339 1939 2
2 1 340 340 1940 2
2 1 341 341 1941 2
2 1 342 342 1942 2
2 1 343 343 1943 2
2 1 344 344 1944 2
2 1 345 345 1945 2
2 1 346 346 1946 2
2 1 347 347 1947 2
2 1 348 348 1948 2
2 1 349 349 1949 2
2 1 350 350 1950 2
2 1 351 351 1951 2
2 1 352 352 1952 2
2 1 353 353 1953 2
2 1 354 354 1954 2
2 1 355 355 1955 2
2 1 356 356 1956 2
2 1 357 357 1957 2
2 1 358 358 1958 2
2 1 359 359 1959 2
2 1 360 360 1960 2
2 1 361 361 1961 2
2 1 362 362 1962 2
2 1 363 363 1963 2
2 1 364 364 1964 2
2 1 365 365 1965 2
2 1 366 366 1966 2
2 1 367 367 1967 2
2 1 368 368 1968 2
2 1 369 369 1969 2
2 1 370 370 1970 2
2 1 371 371 1971 2
2 1 372 372 1972 2
2 1 373 373 1973 2
2 1 374 374 1974 2
2 1 375 375 1975 2
2 1 376 376 1976 2
2 1 377 377 1977 2
2 1 378 378 1978 2
2 1 379 379 1979 2
2 1 380 380 1980 2
2 1 381 381 1981 2
2 1 382 382 1982 2
2 1 383 383 1983 2
2 1 384 384 1984 2
2 1 385 385 1985 2
2 1 386 386 1986 2
2 1 387 387 1987 2
2 1 388 388 1988 2
2 1 389 389 1989 2
2 1 390 390 1990 2
2 1 391 391 1991 2
2 1 392 392 1992 2
2 1 393 393 1993 2
2 1 394 394 1994 2
2 1 395 395 1995 2
2 1 396 396 1996 2
2 1 397 397 1997 2
2 1 398 398 1998 2
2 1 399 399 1999 2
2 1 400 400 2000 2
2 1 401 401 2001 2
2 1 402 402 2002 2
2 1 403 403 2003 2
2 1 404 404 2004 2
2 1 405 405 2005 2
2 1 406 406 2006 2
2 1 407 407 2007 2
2 1 408 408 2008 2
2 1 409 409 2009 2
2 1 410 410 2010 2
2 1 411 411 2011 2
2 1 412 412 2012 2
2 1 413 413 2013 2
2 1 414 414 2014 2
2 1 415 415 2015 2
2 1 416 416 2016 2
2 1 417 417 2017 2
2 1 418 418 2018 2
2 1 419 419 2019 2
2 1 420 420 2020 2
2 1 421 421 2021 2
2 1 422 422 2022 2
2 1 423 423 2023 2
2 1 424 424 2024 2
2 1 425 425 2025 2
2 1 426 426 2026 2
2 1 427 427 2027 2
2 1 428 428 2028 2
2 1 429 429 2029 2
2 1 430 430 2030 2
2 1 431 431 2031 2
2 1 432 432 2032 2
2 1 433 433 2033 2
2 1 434 434 2034 2
2 1 435 435 2035 2
2 1 436 436 2036 2
2 1 437 437 2037 2
2 1 438 438 2038 2
2 1 439 439 2039 2
2 1 440 440 2040 2
2 1 441 441 2041 2
2 1 442 442 2042 2
2 1 443 443 2043 2
2 1 444 444 2044 2
2 1 445 445 2045 2
2 1 446 446 2046 2
2 1 447 447 2047 2
2 1 448 448 2048 2
2 1 449 449 2049 2
2 1 450 450 2050 2
2 1 451 451 2051 2
2 1 452 452 2052 2
2 1 453 453 2053 2
2 1 454 454 2054 2
2 1 455 455 2055 2
2 1 456 456 2056 2
2 1 457 457 2057 2
2 1 458 458 2058 2
2 1 459 459 2059 2
2 1 460 460 2060 2
2 1 461 461 2061 2
2 1 462 462 2062 2
2 1 463 463 2063 2
2 1 464 464 2064 2
2 1 465 465 2065 2
2 1 466 466 2066 2
2 1 467 467 2067 2
2 1 468 468 2068 2
2 1 469 469 2069 2
2 1 470 470 2070 2
2 1 471 471 2071 2
2 1 472 472 2072 2
2 1 473 473 2073 2
2 1 474 474 2074 2
2 1 475 475 2075 2
2 1 476 476 2076 2
2 1 477 477 2077 2
2 1 478 478 2078 2
2 1 479 479 2079 2
2 1 480 480 2080 2
2 1 481 481 2081 2
2 1 482 482 2082 2
2 1 483 483 2083 2
2 1 484 484 2084 2
2 1 485 485 2085 2
2 1 486 486 2086 2
2 1 487 487 2087 2
2 1 488 488 2088 2
2 1 489 489 2089 2
2 1 490 490 2090 2
2 1 491 491 2091 2
2 1 492 492 2092 2
2 1 493 493 2093 2
2 1 494 494 2094 2
2 1 495 495 2095 2
2 1 496 496 2096 2
2 1 497 497 2097 2
2 1 498 498 2098 2
2 1 499 499 2099 2
2 1 500 500 2100 2
2 1 501 501 2101 2
2 1 502 502 2102 2
2 1 503 503 2103 2
2 1 504 504 2104 2
2 1 505 505 2105 2
2 1 506 506 2106 2
2 1 507 507 2107 2
2 1 508 508 2108 2
2 1 509 509 2109 2
2 1 510 510 2110 2
2 1 511 511 2111 2
2 1 512 512 2112 2
2 1 513 513 2113 2
2 1 514 514 2114 2
2 1 515 515 2115 2
2 1 516 516 2116 2
2 1 517 517 2117 2
2 1 518 518 2118 2
2 1 519 519 2119 2
2 1 520 520 2120 2
2 1 521 521 2121 2
2 1 522 522 2122 2
2 1 523 523 2123 2
2 1 524 524 2124 2
2 1 525 525 2125 2
2 1 526 526 2126 2
2 1 527 527 2127 2
2 1 528 528 2128 2
2 1 529 529 2129 2
2 1 530 530 2130 2
2 1 531 531 2131 2
2 1 532 532 2132 2
2 1 533 533 2133 2
2 1 534 534 2134 2
2 1 535 535 2135 2
2 1 536 536 2136 2
2 1 537 537 2137 2
2 1 538 538 2138 2
2 1 539 539 2139 2
2 1 540 540 2140 2
2 1 541 541 2141 2
2 1 542 542 2142 2
2 1 543 543 2143 2
2 1 544 544 2144 2
2 1 545 545 2145 2
2 1 546 546 2146 2
2 1 547 547 2147 2
2 1 548 548 2148 2
2 1 549 549 2149 2
2 1 550 550 2150 2
2 1 551 551 2151 2
2 1 552 552 2152 2
2 1 553 553 2153 2
2 1 554 554 2154 2
2 1 555 555 2155 2
2 1 556 556 2156 2
2 1 557 557 2157 2
2 1 558 558 2158 2
2 1 559 559 2159 2
2 1 560 560 2160 2
2 1 561 561 2161 2
2 1 562 562 2162 2
2 1 563 563 2163 2
2 1 564 564 2164 2
2 1 565 565 2165 2
2 1 566 566 2166 2
2 1 567 567 2167 2
2 1 568 568 2168 2
2 1 569 569 2169 2
2 1 570 570 2170 2
2 1 571 571 2171 2
2 1 572 572 2172 2
2 1 573 573 2173 2
2 1 574 574 2174 2
2 1 575 575 2175 2
2 1 576 576 2176 2
2 1 577 577 2177 2
2 1 578 578 2178 2
2 1 579 579 2179 2
2 1 580 580 2180 2
2 1 581 581 2181 2
2 1 582 582 2182 2
2 1 583 583 2183 2
2 1 584 584 2184 2
2 1 585 585 2185 2
2 1 586 586 2186 2
2 1 587 587 2187 2
2 1 588 588 2188 2
2 1 589 589 2189 2
2 1 590 590 2190 2
2 1 591 591 2191 2
2 1 592 592 2192 2
2 1 593 593 2193 2
2 1 594 594 2194 2
2 1 595 595 2195 2
2 1 596 596 2196 2
2 1 597 597 2197 2
2 1 598 598 2198 2
2 1 599 599 2199 2
2 1 600 600 2200 2
2 1 601 601 2201 2
2 1 602 602 2202 2
2 1 603 603 2203 2
2 1 604 604 2204 2
2 1 605 605 2205 2
2 1 606 606 2206 2
2 1 607 607 2207 2
2 1 608 608 2208 2
2 1 609 609 2209 2
2 1 610 610 2210 2
2 1 611 611 2211 2
2 1 612 612 2212 2
2 1 613 613 2213 2
2 1 614 614 2214 2
2 1 615 615 2215 2
2 1 616 616 2216 2
2 1 617 617 2217 2
2 1 618 618 2218 2
2 1 619 619 2219 2
2 1 620 620 2220 2
2 1 621 621 2221 2
2 1 622 622 2222 2
2 1 623 623 2223 2
2 1 624 624 2224 2
2 1 625 625 2225 2
2 1 626 626 2226 2
2 1 627 627 2227 2
2 1 628 628 2228 2
2 1 629 629 2229 2
2 1 630 630 2230 2
2 1 631 631 2231 2
2 1 632 632 2232 2
2 1 633 633 2233 2
2 1 634 634 2234 2
2 1 635 635 2235 2
2 1 636 636 2236 2
2 1 637 637 2237 2
2 1 638 638 2238 2
2 1 639 639 2239 2
2 1 640 640 2240 2
2 1 641 641 2241 2
2 1 642 642 2242 2
2 1 643 643 2243 2
2 1 644 644 2244 2
2 1 645 645 2245 2
2 1 646 646 2246 2
2 1 647 647 2247 2
2 1 648 648 2248 2
2 1 649 649 2249 2
2 1 650 650 2250 2
2 1 651 651 2251 2
2 1 652 652 2252 2
2 1 653 653 2253 2
2 1 654 654 2254 2
2 1 655 655 2255 2
2 1 656 656 2256 2
2 1 657 657 2257 2
2 1 658 658 2258 2
2 1 659 659 2259 2
2 1 660 660 2260 2
2 1 661 661 2261 2
2 1 662 662 2262 2
2 1 663 663 2263 2
2 1 664 664 2264 2
2 1 665 665 2265 2
2 1 666 666 2266 2
2 1 667 667 2267 2
2 1 668 668 2268 2
2 1 669 669 2269 2
2 1 670 670 2270 2
2 1 671 671 2271 2
2 1 672 672 2272 2
2 1 673 673 2273 2
2 1 674 674 2274 2
2 1 675 675 2275 2
2 1 676 676 2276 2
2 1 677 677 2277 2
2 1 678 678 2278 2
2 1 679 679 2279 2
2 1 680 680 2280 2
2 1 681 681 2281 2
2 1 682 682 2282 2
2 1 683 683 2283 2
2 1 684 684 2284 2
2 1 685 685 2285 2
2 1 686 686 2286 2
2 1 687 687 2287 2
2 1 688 688 2288 2
2 1 689 689 2289 2
2 1 690 690 2290 2
2 1 691 691 2291 2
2 1 692 692 2292 2
2 1 693 693 2293 2
2 1 694 694 2294 2
2 1 695 695 2295 2
2 1 696 696 2296 2
2 1 697 697 2297 2
2 1 698 698 2298 2
2 1 699 699 2299 2
2 1 700 700 2300 2
2 1 701 701 2301 2
2 1 702 702 2302 2
2 1 703 703 2303 2
2 1 704 704 2304 2
2 1 705 705 2305 2
2 1 706 706 2306 2
2 1 707 707 2307 2
2 1 708 708 2308 2
2 1 709 709 2309 2
2 1 710 710 2310 2
2 1 711 711 2311 2
2 1 712 712 2312 2
2 1 713 713 2313 2
2 1 714 714 2314 2
2 1 715 715 2315 2
2 1 716 716 2316 2
2 1 717 717 2317 2
2 1 718 718 2318 2
2 1 719 719 2319 2
2 1 720 720 2320 2
2 1 721 721 2321 2
2 1 722 722 2322 2
2 1 723 723 2323 2
2 1 724 724 2324 2
2 1 725 725 2325 2
2 1 726 726 2326 2
2 1 727 727 2327 2
2 1 728 728 2328 2
2 1 729 729 2329 2
2 1 730 730 2330 2
2 1 731 731 2331 2
2 1 732 732 2332 2
2 1 733 733 2333 2
2 1 734 734 2334 2
2 1 735 735 2335 2
2 1 736 736 2336 2
2 1 737 737 2337 2
2 1 738 738 2338 2
2 1 739 739 2339 2
2 1 740 740 2340 2
2 1 741 741 2341 2
2 1 742 742 2342 2
2 1 743 743 2343 2
2 1 744 744 2344 2
2 1 745 745 2345 2
2 1 746 746 2346 2
2 1 747 747 2347 2
2 1 748 748 2348 2
2 1 749 749 2349 2
2 1 750 750 2350 2
2 1 751 751 2351 2
2 1 752 752 2352 2
2 1 753 753 2353 2
2 1 754 754 2354 2
2 1 755 755 2355 2
2 1 756 756 2356 2
2 1 757 757 2357 2
2 1 758 758 2358 2
2 1 759 759 2359 2
2 1 760 760 2360 2
2 1 761 761 2361 2
2 1 762 762 2362 2
2 1 763 763 2363 2
2 1 764 764 2364 2
2 1 765 765 2365 2
2 1 766 766 2366 2
2 1 767 767 2367 2
2 1 768 768 2368 2
2 1 769 769 2369 2
2 1 770 770 2370 2
2 1 771 771 2371 2
2 1 772 772 2372 2
2 1 773 773 2373 2
2 1 774 774 2374 2
2 1 775 775 2375 2
2 1 776 776 2376 2
2 1 777 777 2377 2
2 1 778 778 2378 2
2 1 779 779 2379 2
2 1 780 780 2380 2
2 1 781 781 2381 2
2 1 782 782 2382 2
2 1 783 783 2383 2
2 1 784 784 2384 2
2 1 785 785 2385 2
2 1 786 786 2386 2
2 1 787 787 2387 2
2 1 788 788 2388 2
2 1 789 789 2389 2
2 1 790 790 2390 2
2 1 791 791 2391 2
2 1 792 792 2392 2
2 1 793 793 2393 2
2 1 794 794 2394 2
2 1 795 795 2395 2
2 1 796 796 2396 2
2 1 797 797 2397 2
2 1 798 798 2398 2
2 1 799 799 2399 2
2 1 800 800 2400 2
2 1 801 801 2401 2
2 1 802 802 2402 2
2 1 803 803 2403 2
2 1 804 804 2404 2
2 1 805 805 2405 2
2 1 806 806 2406 2
2 1 807 807 2407 2
2 1 808 808 2408 2
2 1 809 809 2409 2
2 1 810 810 2410 2
2 1 811 811 2411 2
2 1 812 812 2412 2
2 1 813 813 2413 2
2 1 814 814 2414 2
2 1 815 815 2415 2
2 1 816 816 2416 2
2 1 817 817 2417 2
2 1 818 818 2418 2
2 1 819 819 2419 2
2 1 820 820 2420 2
2 1 821 821 2421 2
2 1 822 822 2422 2
2 1 823 823 2423 2
2 1 824 824 2424 2
2 1 825 825 2425 2
2 1 826 826 2426 2
2 1 827 827 2427 2
2 1 828 828 2428 2
2 1 829 829 2429 2
2 1 830 830 2430 2
2 1 831 831 2431 2
2 1 832 832 2432 2
2 1 833 833 2433 2
2 1 834 834 2434 2
2 1 835 835 2435 2
2 1 836 836 2436 2
2 1 837 837 2437 2
2 1 838 838 2438 2
2 1 839 839 2439 2
2 1 840 840 2440 2
2 1 841 841 2441 2
2 1 842 842 2442 2
2 1 843 843 2443 2
2 1 844 844 2444 2
2 1 845 845 2445 2
2 1 846 846 2446 2
2 1 847 847 2447 2
2 1 848 848 2448 2
2 1 849 849 2449 2
2 1 850 850 2450 2
2 1 851 851 2451 2
2 1 852 852 2452 2
2 1 853 853 2453 2
2 1 854 854 2454 2
2 1 855 855 2455 2
2 1 856 856 2456 2
2 1 857 857 2457 2
2 1 858 858 2458 2
2 1 859 859 2459 2
2 1 860 860 2460 2
2 1 861 861 2461 2
2 1 862 862 2462 2
2 1 863 863 2463 2
2 1 864 864 2464 2
2 1 865 865 2465 2
2 1 866 866 2466 2
2 1 867 867 2467 2
2 1 868 868 2468 2
2 1 869 869 2469 2
2 1 870 870 2470 2
2 1 871 871 2471 2
2 1 872 872 2472 2
2 1 873 873 2473 2
2 1 874 874 2474 2
2 1 875 875 2475 2
2 1 876 876 2476 2
2 1 877 877 2477 2
2 1 878 878 2478 2
2 1 879 879 2479 2
2 1 880 880 2480 2
2 1 881 881 2481 2
2 1 882 882 2482 2
2 1 883 883 2483 2
2 1 884 884 2484 2
2 1 885 885 2485 2
2 1 886 886 2486 2
2 1 887 887 2487 2
2 1 888 888 2488 2
2 1 889 889 2489 2
2 1 890 890 2490 2
2 1 891 891 2491 2
2 1 892 892 2492 2
2 1 893 893 2493 2
2 1 894 894 2494 2
2 1 895 895 2495 2
2 1 896 896 2496 2
2 1 897 897 2497 2
2 1 898 898 2498 2
2 1 899 899 2499 2
2 1 900 900 2500 2
2 1 901 901 2501 2
2 1 902 902 2502 2
2 1 903 903 2503 2
2 1 904 904 2504 2
2 1 905 905 2505 2
2 1 906 906 2506 2
2 1 907 907 2507 2
2 1 908 908 2508 2
2 1 909 909 2509 2
2 1 910 910 2510 2
2 1 911 911 2511 2
2 1 912 912 2512 2
2 1 913 913 2513 2
2 1 914 914 2514 2
2 1 915 915 2515 2
2 1 916 916 2516 2
2 1 917 917 2517 2
2 1 918 918 2518 2
2 1 919 919 2519 2
2 1 920 920 2520 2
2 1 921 921 2521 2
2 1 922 922 2522 2
2 1 923 923 2523 2
2 1 924 924 2524 2
2 1 925 925 2525 2
2 1 926 926 2526 2
2 1 927 927 2527 2
2 1 928 928 2528 2
2 1 929 929 2529 2
2 1 930 930 2530 2
2 1 931 931 2531 2
2 1 932 932 2532 2
2 1 933 933 2533 2
2 1 934 934 2534 2
2 1 935 935 2535 2
2 1 936 936 2536 2
2 1 937 937 2537 2
2 1 938 938 2538 2
2 1 939 939 2539 2
2 1 940 940 2540 2
2 1 941 941 2541 2
2 1 942 942 2542 2
2 1 943 943 2543 2
2 1 944 944 2544 2
2 1 945 945 2545 2
2 1 946 946 2546 2
2 1 947 947 2547 2
2 1 948 948 2548 2
2 1 949 949 2549 2
2 1 950 950 2550 2
2 1 951 951 2551 2
2 1 952 952 2552 2
2 1 953 953 2553 2
2 1 954 954 2554 2
2 1 955 955 2555 2
2 1 956 956 2556 2
2 1 957 957 2557 2
2 1 958 958 2558 2
2 1 959 959 2559 2
2 1 960 960 2560 2
2 1 961 961 2561 2
2 1 962 962 2562 2
2 1 963 963 2563 2
2 1 964 964 2564 2
2 1 965 965 2565 2
2 1 966 966 2566 2
2 1 967 967 2567 2
2 1 968 968 2568 2
2 1 969 969 2569 2
2 1 970 970 2570 2
2 1 971 971 2571 2
2 1 972 972 2572 2
2 1 973 973 2573 2
2 1 974 974 2574 2
2 1 975 975 2575 2
2 1 976 976 2576 2
2 1 977 977 2577 2
2 1 978 978 2578 2
2 1 979 979 2579 2
2 1 980 980 2580 2
2 1 981 981 2581 2
2 1 982 982 2582 2
2 1 983 983 2583 2
2 1 984 984 2584 2
2 1 985 985 2585 2
2 1 986 986 2586 2
2 1 987 987 2587 2
2 1 988 988 2588 2
2 1 989 989 2589 2
2 1 990 990 2590 2
2 1 991 991 2591 2
2 1 992 992 2592 2
2 1 993 993 2593 2
2 1 994 994 2594 2
2 1 995 995 2595 2
2 1 996 996 2596 2
2 1 997 997 2597 2
2 1 998 998 2598 2
2 1 999 999 2599 2
2 1 1000 1000 2600 2
2 1 1001 1001 2601 2
2 1 1002 1002 2602 2
2 1 1003 1003 2603 2
2 1 1004 1004 2604 2
2 1 1005 1005 2605 2
2 1 1006 1006 2606 2
2 1 1007 1007 2607 2
2 1 1008 1008 2608 2
2 1 1009 1009 2609 2
2 1 1010 1010 2610 2
2 1 1011 1011 2611 2
2 1 1012 1012 2612 2
2 1 1013 1013 2613 2
2 1 1014 1014 2614 2
2 1 1015 1015 2615 2
2 1 1016 1016 2616 2
2 1 1017 1017 2617 2
2 1 1018 1018 2618 2
2 1 1019 1019 2619 2
2 1 1020 1020 2620 2
2 1 1021 1021 2621 2
2 1 1022 1022 2622 2
2 1 1023 1023 2623 2
2 1 1024 1024 2624 2
2 1 1025 1025 2625 2
2 1 1026 1026 2626 2
2 1 1027 1027 2627 2
2 1 1028 1028 2628 2
2 1 1029 1029 2629 2
2 1 1030 1030 2630 2
2 1 1031 1031 2631 2
2 1 1032 1032 2632 2
2 1 1033 1033 2633 2
2 1 1034 1034 2634 2
2 1 1035 1035 2635 2
2 1 1036 1036 2636 2
2 1 1037 1037 2637 2
2 1 1038 1038 2638 2
2 1 1039 1039 2639 2
2 1 1040 1040 2640 2
2 1 1041 1041 2641 2
2 1 1042 1042 2642 2
2 1 1043 1043 2643 2
2 1 1044 1044 2644 2
2 1 1045 1045 2645 2
2 1 1046 1046 2646 2
2 1 1047 1047 2647 2
2 1 1048 1048 2648 2
2 1 1049 1049 2649 2
2 1 1050 1050 2650 2
2 1 1051 1051 2651 2
2 1 1052 1052 2652 2
2 1 1053 1053 2653 2
2 1 1054 1054 2654 2
2 1 1055 1055 2655 2
2 1 1056 1056 2656 2
2 1 1057 1057 2657 2
2 1 1058 1058 2658 2
2 1 1059 1059 2659 2
2 1 1060 1060 2660 2
2 1 1061 1061 2661 2
2 1 1062 1062 2662 2
2 1 1063 1063 2663 2
2 1 1064 1064 2664 2
2 1 1065 1065 2665 2
2 1 1066 1066 2666 2
2 1 1067 1067 2667 2
2 1 1068 1068 2668 2
2 1 1069 1069 2669 2
2 1 1070 1070 2670 2
2 1 1071 1071 2671 2
2 1 1072 1072 2672 2
2 1 1073 1073 2673 2
2 1 1074 1074 2674 2
2 1 1075 1075 2675 2
2 1 1076 1076 2676 2
2 1 1077 1077 2677 2
2 1 1078 1078 2678 2
2 1 1079 1079 2679 2
2 1 1080 1080 2680 2
2 1 1081 1081 2681 2
2 1 1082 1082 2682 2
2 1 1083 1083 2683 2
2 1 1084 1084 2684 2
2 1 1085 1085 2685 2
2 1 1086 1086 2686 2
2 1 1087 1087 2687 2
2 1 1088 1088 2688 2
2 1 1089 1089 2689 2
2 1 1090 1090 2690 2
2 1 1091 1091 2691 2
2 1 1092 1092 2692 2
2 1 1093 1093 2693 2
2 1 1094 1094 2694 2
2 1 1095 1095 2695 2
2 1 1096 1096 2696 2
2 1 1097 1097 2697 2
2 1 1098 1098 2698 2
2 1 1099 1099 2699 2
2 1 1100 1100 2700 2
2 1 1101 1101 2701 2
2 1 1102 1102 2702 2
2 1 1103 1103 2703 2
2 1 1104 1104 2704 2
2 1 1105 1105 2705 2
2 1 1106 1106 2706 2
2 1 1107 1107 2707 2
2 1 1108 1108 2708 2
2 1 1109 1109 2709 2
2 1 1110 1110 2710 2
2 1 1111 1111 2711 2
2 1 1112 1112 2712 2
2 1 1113 1113 2713 2
2 1 1114 1114 2714 2
2 1 1115 1115 2715 2
2 1 1116 1116 2716 2
2 1 1117 1117 2717 2
2 1 1118 1118 2718 2
2 1 1119 1119 2719 2
2 1 1120 1120 2720 2
2 1 1121 1121 2721 2
2 1 1122 1122 2722 2
2 1 1123 1123 2723 2
2 1 1124 1124 2724 2
2 1 1125 1125 2725 2
2 1 1126 1126 2726 2
2 1 1127 1127 2727 2
2 1 1128 1128 2728 2
2 1 1129 1129 2729 2
2 1 1130 1130 2730 2
2 1 1131 1131 2731 2
2 1 1132 1132 2732 2
2 1 1133 1133 2733 2
2 1 1134 1134 2734 2
2 1 1135 1135 2735 2
2 1 1136 1136 2736 2
2 1 1137 1137 2737 2
2 1 1138 1138 2738 2
2 1 1139 1139 2739 2
2 1 1140 1140 2740 2
2 1 1141 1141 2741 2
2 1 1142 1142 2742 2
2 1 1143 1143 2743 2
2 1 1144 1144 2744 2
2 1 1145 1145 2745 2
2 1 1146 1146 2746 2
2 1 1147 1147 2747 2
2 1 1148 1148 2748 2
2 1 1149 1149 2749 2
2 1 1150 1150 2750 2
2 1 1151 1151 2751 2
2 1 1152 1152 2752 2
2 1 1153 1153 2753 2
2 1 1154 1154 2754 2
2 1 1155 1155 2755 2
2 1 1156 1156 2756 2
2 1 1157 1157 2757 2
2 1 1158 1158 2758 2
2 1 1159 1159 2759 2
2 1 1160 1160 2760 2
2 1 1161 1161 2761 2
2 1 1162 1162 2762 2
2 1 1163 1163 2763 2
2 1 1164 1164 2764 2
2 1 1165 1165 2765 2
2 1 1166 1166 2766 2
2 1 1167 1167 2767 2
2 1 1168 1168 2768 2
2 1 1169 1169 2769 2
2 1 1170 1170 2770 2
2 1 1171 1171 2771 2
2 1 1172 1172 2772 2
2 1 1173 1173 2773 2
2 1 1174 1174 2774 2
2 1 1175 1175 2775 2
2 1 1176 1176 2776 2
2 1 1177 1177 2777 2
2 1 1178 1178 2778 2
2 1 1179 1179 2779 2
2 1 1180 1180 2780 2
2 1 1181 1181 2781 2
2 1 1182 1182 2782 2
2 1 1183 1183 2783 2
2 1 1184 1184 2784 2
2 1 1185 1185 2785 2
2 1 1186 1186 2786 2
2 1 1187 1187 2787 2
2 1 1188 1188 2788 2
2 1 1189 1189 2789 2
2 1 1190 1190 2790 2
2 1 1191 1191 2791 2
2 1 1192 1192 2792 2
2 1 1193 1193 2793 2
2 1 1194 1194 2794 2
2 1 1195 1195 2795 2
2 1 1196 1196 2796 2
2 1 1197 1197 2797 2
2 1 1198 1198 2798 2
2 1 1199 1199 2799 2
2 1 1200 1200 2800 2
2 1 1201 1201 2801 2
2 1 1202 1202 2802 2
2 1 1203 1203 2803 2
2 1 1204 1204 2804 2
2 1 1205 1205 2805 2
2 1 1206 1206 2806 2
2 1 1207 1207 2807 2
2 1 1208 1208 2808 2
2 1 1209 1209 2809 2
2 1 1210 1210 2810 2
2 1 1211 1211 2811 2
2 1 1212 1212 2812 2
2 1 1213 1213 2813 2
2 1 1214 1214 2814 2
2 1 1215 1215 2815 2
2 1 1216 1216 2816 2
2 1 1217 1217 2817 2
2 1 1218 1218 2818 2
2 1 1219 1219 2819 2
2 1 1220 1220 2820 2
2 1 1221 1221 2821 2
2 1 1222 1222 2822 2
2 1 1223 1223 2823 2
2 1 1224 1224 2824 2
2 1 1225 1225 2825 2
2 1 1226 1226 2826 2
2 1 1227 1227 2827 2
2 1 1228 1228 2828 2
2 1 1229 1229 2829 2
2 1 1230 1230 2830 2
2 1 1231 1231 2831 2
2 1 1232 1232 2832 2
2 1 1233 1233 2833 2
2 1 1234 1234 2834 2
2 1 1235 1235 2835 2
2 1 1236 1236 2836 2
2 1 1237 1237 2837 2
2 1 1238 1238 2838 2
2 1 1239 1239 2839 2
2 1 1240 1240 2840 2
2 1 1241 1241 2841 2
2 1 1242 1242 2842 2
2 1 1243 1243 2843 2
2 1 1244 1244 2844 2
2 1 1245 1245 2845 2
2 1 1246 1246 2846 2
2 1 1247 1247 2847 2
2 1 1248 1248 2848 2
2 1 1249 1249 2849 2
2 1 1250 1250 2850 2
2 1 1251 1251 2851 2
2 1 1252 1252 2852 2
2 1 1253 1253 2853 2
2 1 1254 1254 2854 2
2 1 1255 1255 2855 2
2 1 1256 1256 2856 2
2 1 1257 1257 2857 2
2 1 1258 1258 2858 2
2 1 1259 1259 2859 2
2 1 1260 1260 2860 2
2 1 1261 1261 2861 2
2 1 1262 1262 2862 2
2 1 1263 1263 2863 2
2 1 1264 1264 2864 2
2 1 1265 1265 2865 2
2 1 1266 1266 2866 2
2 1 1267 1267 2867 2
2 1 1268 1268 2868 2
2 1 1269 1269 2869 2
2 1 1270 1270 2870 2
2 1 1271 1271 2871 2
2 1 1272 1272 2872 2
2 1 1273 1273 2873 2
2 1 1274 1274 2874 2
2 1 1275 1275 2875 2
2 1 1276 1276 2876 2
2 1 1277 1277 2877 2
2 1 1278 1278 2878 2
2 1 1279 1279 2879 2
2 1 1280 1280 2880 2
2 1 1281 1281 2881 2
2 1 1282 1282 2882 2
2 1 1283 1283 2883 2
2 1 1284 1284 2884 2
2 1 1285 1285 2885 2
2 1 1286 1286 2886 2
2 1 1287 1287 2887 2
2 1 1288 1288 2888 2
2 1 1289 1289 2889 2
2 1 1290 1290 2890 2
2 1 1291 1291 2891 2
2 1 1292 1292 2892 2
2 1 1293 1293 2893 2
2 1 1294 1294 2894 2
2 1 1295 1295 2895 2
2 1 1296 1296 2896 2
2 1 1297 1297 2897 2
2 1 1298 1298 2898 2
2 1 1299 1299 2899 2
2 1 1300 1300 2900 2
2 1 1301 1301 2901 2
2 1 1302 1302 2902 2
2 1 1303 1303 2903 2
2 1 1304 1304 2904 2
2 1 1305 1305 2905 2
2 1 1306 1306 2906 2
2 1 1307 1307 2907 2
2 1 1308 1308 2908 2
2 1 1309 1309 2909 2
2 1 1310 1310 2910 2
2 1 1311 1311 2911 2
2 1 1312 1312 2912 2
2 1 1313 1313 2913 2
2 1 1314 1314 2914 2
2 1 1315 1315 2915 2
2 1 1316 1316 2916 2
2 1 1317 1317 2917 2
2 1 1318 1318 2918 2
2 1 1319 1319 2919 2
2 1 1320 1320 2920 2
2 1 1321 1321 2921 2
2 1 1322 1322 2922 2
2 1 1323 1323 2923 2
2 1 1324 1324 2924 2
2 1 1325 1325 2925 2
2 1 1326 1326 2926 2
2 1 1327 1327 2927 2
2 1 1328 1328 2928 2
2 1 1329 1329 2929 2
2 1 1330 1330 2930 2
2 1 1331 1331 2931 2
2 1 1332 1332 2932 2
2 1 1333 1333 2933 2
2 1 1334 1334 2934 2
2 1 1335 1335 2935 2
2 1 1336 1336 2936 2
2 1 1337 1337 2937 2
2 1 1338 1338 2938 2
2 1 1339 1339 2939 2
2 1 1340 1340 2940 2
2 1 1341 1341 2941 2
2 1 1342 1342 2942 2
2 1 1343 1343 2943 2
2 1 1344 1344 2944 2
2 1 1345 1345 2945 2
2 1 1346 1346 2946 2
2 1 1347 1347 2947 2
2 1 1348 1348 2948 2
2 1 1349 1349 2949 2
2 1 1350 1350 2950 2
2 1 1351 1351 2951 2
2 1 1352 1352 2952 2
2 1 1353 1353 2953 2
2 1 1354 1354 2954 2
2 1 1355 1355 2955 2
2 1 1356 1356 2956 2
2 1 1357 1357 2957 2
2 1 1358 1358 2958 2
2 1 1359 1359 2959 2
2 1 1360 1360 2960 2
2 1 1361 1361 2961 2
2 1 1362 1362 2962 2
2 1 1363 1363 2963 2
2 1 1364 1364 2964 2
2 1 1365 1365 2965 2
2 1 1366 1366 2966 2
2 1 1367 1367 2967 2
2 1 1368 1368 2968 2
2 1 1369 1369 2969 2
2 1 1370 1370 2970 2
2 1 1371 1371 2971 2
2 1 1372 1372 2972 2
2 1 1373 1373 2973 2
2 1 1374 1374 2974 2
2 1 1375 1375 2975 2
2 1 1376 1376 2976 2
2 1 1377 1377 2977 2
2 1 1378 1378 2978 2
2 1 1379 1379 2979 2
2 1 1380 1380 2980 2
2 1 1381 1381 2981 2
2 1 1382 1382 2982 2
2 1 1383 1383 2983 2
2 1 1384 1384 2984 2
2 1 1385 1385 2985 2
2 1 1386 1386 2986 2
2 1 1387 1387 2987 2
2 1 1388 1388 2988 2
2 1 1389 1389 2989 2
2 1 1390 1390 2990 2
2 1 1391 1391 2991 2
2 1 1392 1392 2992 2
2 1 1393 1393 2993 2
2 1 1394 1394 2994 2
2 1 1395 1395 2995 2
2 1 1396 1396 2996 2
2 1 1397 1397 2997 2
2 1 1398 1398 2998 2
2 1 1399 1399 2999 2
2 1 1400 1400 3000 2
2 1 1401 1401 3001 2
2 1 1402 1402 3002 2
2 1 1403 1403 3003 2
2 1 1404 1404 3004 2
2 1 1405 1405 3005 2
2 1 1406 1406 3006 2
2 1 1407 1407 3007 2
2 1 1408 1408 3008 2
2 1 1409 1409 3009 2
2 1 1410 1410 3010 2
2 1 1411 1411 3011 2
2 1 1412 1412 3012 2
2 1 1413 1413 3013 2
2 1 1414 1414 3014 2
2 1 1415 1415 3015 2
2 1 1416 1416 3016 2
2 1 1417 1417 3017 2
2 1 1418 1418 3018 2
2 1 1419 1419 3019 2
2 1 1420 1420 3020 2
2 1 1421 1421 3021 2
2 1 1422 1422 3022 2
2 1 1423 1423 3023 2
2 1 1424 1424 3024 2
2 1 1425 1425 3025 2
2 1 1426 1426 3026 2
2 1 1427 1427 3027 2
2 1 1428 1428 3028 2
2 1 1429 1429 3029 2
2 1 1430 1430 3030 2
2 1 1431 1431 3031 2
2 1 1432 1432 3032 2
2 1 1433 1433 3033 2
2 1 1434 1434 3034 2
2 1 1435 1435 3035 2
2 1 1436 1436 3036 2
2 1 1437 1437 3037 2
2 1 1438 1438 3038 2
2 1 1439 1439 3039 2
2 1 1440 1440 3040 2
2 1 1441 1441 3041 2
2 1 1442 1442 3042 2
2 1 1443 1443 3043 2
2 1 1444 1444 3044 2
2 1 1445 1445 3045 2
2 1 1446 1446 3046 2
2 1 1447 1447 3047 2
2 1 1448 1448 3048 2
2 1 1449 1449 3049 2
2 1 1450 1450 3050 2
2 1 1451 1451 3051 2
2 1 1452 1452 3052 2
2 1 1453 1453 3053 2
2 1 1454 1454 3054 2
2 1 1455 1455 3055 2
2 1 1456 1456 3056 2
2 1 1457 1457 3057 2
2 1 1458 1458 3058 2
2 1 1459 1459 3059 2
2 1 1460 1460 3060 2
2 1 1461 1461 3061 2
2 1 1462 1462 3062 2
2 1 1463 1463 3063 2
2 1 1464 1464 3064 2
2 1 1465 1465 3065 2
2 1 1466 1466 3066 2
2 1 1467 1467 3067 2
2 1 1468 1468 3068 2
2 1 1469 1469 3069 2
2 1 1470 1470 3070 2
2 1 1471 1471 3071 2
2 1 1472 1472 3072 2
2 1 1473 1473 3073 2
2 1 1474 1474 3074 2
2 1 1475 1475 3075 2
2 1 1476 1476 3076 2
2 1 1477 1477 3077 2
2 1 1478 1478 3078 2
2 1 1479 1479 3079 2
2 1 1480 1480 3080 2
2 1 1481 1481 3081 2
2 1 1482 1482 3082 2
2 1 1483 1483 3083 2
2 1 1484 1484 3084 2
2 1 1485 1485 3085 2
2 1 1486 1486 3086 2
2 1 1487 1487 3087 2
2 1 1488 1488 3088 2
2 1 1489 1489 3089 2
2 1 1490 1490 3090 2
2 1 1491 1491 3091 2
2 1 1492 1492 3092 2
2 1 1493 1493 3093 2
2 1 1494 1494 3094 2
2 1 1495 1495 3095 2
2 1 1496 1496 3096 2
2 1 1497 1497 3097 2
2 1 1498 1498 3098 2
2 1 1499 1499 3099 2
2 1 1500 1500 3100 2
2 1 1501 1501 3101 2
2 1 1502 1502 3102 2
2 1 1503 1503 3103 2
2 1 1504 1504 3104 2
2 1 1505 1505 3105 2
2 1 1506 1506 3106 2
2 1 1507 1507 3107 2
2 1 1508 1508 3108 2
2 1 1509 1509 3109 2
2 1 1510 1510 3110 2
2 1 1511 1511 3111 2
2 1 1512 1512 3112 2
2 1 1513 1513 3113 2
2 1 1514 1514 3114 2
2 1 1515 1515 3115 2
2 1 1516 1516 3116 2
2 1 1517 1517 3117 2
2 1 1518 1518 3118 2
2 1 1519 1519 3119 2
2 1 1520 1520 3120 2
2 1 1521 1521 3121 2
2 1 1522 1522 3122 2
2 1 1523 1523 3123 2
2 1 1524 1524 3124 2
2 1 1525 1525 3125 2
2 1 1526 1526 3126 2
2 1 1527 1527 3127 2
2 1 1528 1528 3128 2
2 1 1529 1529 3129 2
2 1 1530 1530 3130 2
2 1 1531 1531 3131 2
2 1 1532 1532 3132 2
2 1 1533 1533 3133 2
2 1 1534 1534 3134 2
2 1 1535 1535 3135 2
2 1 1536 1536 3136 2
2 1 1537 1537 3137 2
2 1 1538 1538 3138 2
2 1 1539 1539 3139 2
2 1 1540 1540 3140 2
2 1 1541 1541 3141 2
2 1 1542 1542 3142 2
2 1 1543 1543 3143 2
2 1 1544 1544 3144 2
2 1 1545 1545 3145 2
2 1 1546 1546 3146 2
2 1 1547 1547 3147 2
2 1 1548 1548 3148 2
2 1 1549 1549 3149 2
2 1 1550 1550 3150 2
2 1 1551 1551 3151 2
2 1 1552 1552 3152 2
2 1 1553 1553 3153 2
2 1 1554 1554 3154 2
2 1 1555 1555 3155 2
2 1 1556 1556 3156 2
2 1 1557 1557 3157 2
2 1 1558 1558 3158 2
2 1 1559 1559 3159 2
2 1 1560 1560 3160 2
2 1 1561 1561 3161 2
2 1 1562 1562 3162 2
2 1 1563 1563 3163 2
2 1 1564 1564 3164 2
2 1 1565 1565 3165 2
2 1 1566 1566 3166 2
2 1 1567 1567 3167 2
2 1 1568 1568 3168 2
2 1 1569 1569 3169 2
2 1 1570 1570 3170 2
2 1 1571 1571 3171 2
2 1 1572 1572 3172 2
2 1 1573 1573 3173 2
2 1 1574 1574 3174 2
2 1 1575 1575 3175 2
2 1 1576 1576 3176 2
2 1 1577 1577 3177 2
2 1 1578 1578 3178 2
2 1 1579 1579 3179 2
2 1 1580 1580 3180 2
2 1 1581 1581 3181 2
2 1 1582 1582 3182 2
2 1 1583 1583 3183 2
2 1 1584 1584 3184 2
2 1 1585 1585 3185 2
2 1 1586 1586 3186 2
2 1 1587 1587 3187 2
2 1 1588 1588 3188 2
2 1 1589 1589 3189 2
2 1 1590 1590 3190 2
2 1 1591 1591 3191 2
2 1 1592 1592 3192 2
2 1 1593 1593 3193 2
2 1 1594 1594 3194 2
2 1 1595 1595 3195 2
2 1 1596 1596 3196 2
2 1 1597 1597 3197 2
2 1 1598 1598 3198 2
2 1 1599 1599 3199 2
2 1 0 1 3200 2
2 1 2 3 3201 2
2 1 4 5 3202 2
2 1 6 7 3203 2
2 1 8 9 3204 2
2 1 10 11 3205 2
2 1 12 13 3206 2
2 1 14 15 3207 2
2 1 16 17 3208 2
2 1 18 19 3209 2
2 1 20 21 3210 2
2 1 22 23 3211 2
2 1 24 25 3212 2
2 1 26 27 3213 2
2 1 28 29 3214 2
2 1 30 31 3215 2
2 1 32 33 3216 2
2 1 34 35 3217 2
2 1 36 37 3218 2
2 1 38 39 3219 2
2 1 40 41 3220 2
2 1 42 43 3221 2
2 1 44 45 3222 2
2 1 46 47 3223 2
2 1 48 49 3224 2
2 1 50 51 3225 2
2 1 52 53 3226 2
2 1 54 55 3227 2
2 1 56 57 3228 2
2 1 58 59 3229 2
2 1 60 61 3230 2
2 1 62 63 3231 2
2 1 64 65 3232 2
2 1 66 67 3233 2
2 1 68 69 3234 2
2 1 70 71 3235 2
2 1 72 73 3236 2
2 1 74 75 3237 2
2 1 76 77 3238 2
2 1 78 79 3239 2
2 1 80 81 3240 2
2 1 82 83 3241 2
2 1 84 85 3242 2
2 1 86 87 3243 2
2 1 88 89 3244 2
2 1 90 91 3245 2
2 1 92 93 3246 2
2 1 94 95 3247 2
2 1 96 97 3248 2
2 1 98 99 3249 2
2 1 100 101 3250 2
2 1 102 103 3251 2
2 1 104 105 3252 2
2 1 106 107 3253 2
2 1 108 109 3254 2
2 1 110 111 3255 2
2 1 112 113 3256 2
2 1 114 115 3257 2
2 1 116 117 3258 2
2 1 118 119 3259 2
2 1 120 121 3260 2
2 1 122 123 3261 2
2 1 124 125 3262 2
2 1 126 127 3263 2
2 1 128 129 3264 2
2 1 130 131 3265 2
2 1 132 133 3266 2
2 1 134 135 3267 2
2 1 136 137 3268 2
2 1 138 139 3269 2
2 1 140 141 3270 2
2 1 142 143 3271 2
2 1 144 145 3272 2
2 1 146 147 3273 2
2 1 148 149 3274 2
2 1 150 151 3275 2
2 1 152 153 3276 2
2 1 154 155 3277 2
2 1 156 157 3278 2
2 1 158 159 3279 2
2 1 160 161 3280 2
2 1 162 163 3281 2
2 1 164 165 3282 2
2 1 166 167 3283 2
2 1 168 169 3284 2
2 1 170 171 3285 2
2 1 172 173 3286 2
2 1 174 175 3287 2
2 1 176 177 3288 2
2 1 178 179 3289 2
2 1 180 181 3290 2
2 1 182 183 3291 2
2 1 184 185 3292 2
2 1 186 187 3293 2
2 1 188 189 3294 2
2 1 190 191 3295 2
2 1 192 193 3296 2
2 1 194 195 3297 2
2 1 196 197 3298 2
2 1 198 199 3299 2
2 1 200 201 3300 2
2 1 202 203 3301 2
2 1 204 205 3302 2
2 1 206 207 3303 2
2 1 208 209 3304 2
2 1 210 211 3305 2
2 1 212 213 3306 2
2 1 214 215 3307 2
2 1 216 217 3308 2
2 1 218 219 3309 2
2 1 220 221 3310 2
2 1 222 223 3311 2
2 1 224 225 3312 2
2 1 226 227 3313 2
2 1 228 229 3314 2
2 1 230 231 3315 2
2 1 232 233 3316 2
2 1 234 235 3317 2
2 1 236 237 3318 2
2 1 238 239 3319 2
2 1 240 241 3320 2
2 1 242 243 3321 2
2 1 244 245 3322 2
2 1 246 247 3323 2
2 1 248 249 3324 2
2 1 250 251 3325 2
2 1 252 253 3326 2
2 1 254 255 3327 2
2 1 256 257 3328 2
2 1 258 259 3329 2
2 1 260 261 3330 2
2 1 262 263 3331 2
2 1 264 265 3332 2
2 1 266 267 3333 2
2 1 268 269 3334 2
2 1 270 271 3335 2
2 1 272 273 3336 2
2 1 274 275 3337 2
2 1 276 277 3338 2
2 1 278 279 3339 2
2 1 280 281 3340 2
2 1 282 283 3341 2
2 1 284 285 3342 2
2 1 286 287 3343 2
2 1 288 289 3344 2
2 1 290 291 3345 2
2 1 292 293 3346 2
2 1 294 295 3347 2
2 1 296 297 3348 2
2 1 298 299 3349 2
2 1 300 301 3350 2
2 1 302 303 3351 2
2 1 304 305 3352 2
2 1 306 307 3353 2
2 1 308 309 3354 2
2 1 310 311 3355 2
2 1 312 313 3356 2
2 1 314 315 3357 2
2 1 316 317 3358 2
2 1 318 319 3359 2
2 1 320 321 3360 2
2 1 322 323 3361 2
2 1 324 325 3362 2
2 1 326 327 3363 2
2 1 328 329 3364 2
2 1 330 331 3365 2
2 1 332 333 3366 2
2 1 334 335 3367 2
2 1 336 337 3368 2
2 1 338 339 3369 2
2 1 340 341 3370 2
2 1 342 343 3371 2
2 1 344 345 3372 2
2 1 346 347 3373 2
2 1 348 349 3374 2
2 1 350 351 3375 2
2 1 352 353 3376 2
2 1 354 355 3377 2
2 1 356 357 3378 2
2 1 358 359 3379 2
2 1 360 361 3380 2
2 1 362 363 3381 2
2 1 364 365 3382 2
2 1 366 367 3383 2
2 1 368 369 3384 2
2 1 370 371 3385 2
2 1 372 373 3386 2
2 1 374 375 3387 2
2 1 376 377 3388 2
2 1 378 379 3389 2
2 1 380 381 3390 2
2 1 382 383 3391 2
2 1 384 385 3392 2
2 1 386 387 3393 2
2 1 388 389 3394 2
2 1 390 391 3395 2
2 1 392 393 3396 2
2 1 394 395 3397 2
2 1 396 397 3398 2
2 1 398 399 3399 2
2 1 400 401 3400 2
2 1 402 403 3401 2
2 1 404 405 3402 2
2 1 406 407 3403 2
2 1 408 409 3404 2
2 1 410 411 3405 2
2 1 412 413 3406 2
2 1 414 415 3407 2
2 1 416 417 3408 2
2 1 418 419 3409 2
2 1 420 421 3410 2
2 1 422 423 3411 2
2 1 424 425 3412 2
2 1 426 427 3413 2
2 1 428 429 3414 2
2 1 430 431 3415 2
2 1 432 433 3416 2
2 1 434 435 3417 2
2 1 436 437 3418 2
2 1 438 439 3419 2
2 1 440 441 3420 2
2 1 442 443 3421 2
2 1 444 445 3422 2
2 1 446 447 3423 2
2 1 448 449 3424 2
2 1 450 451 3425 2
2 1 452 453 3426 2
2 1 454 455 3427 2
2 1 456 457 3428 2
2 1 458 459 3429 2
2 1 460 461 3430 2
2 1 462 463 3431 2
2 1 464 465 3432 2
2 1 466 467 3433 2
2 1 468 469 3434 2
2 1 470 471 3435 2
2 1 472 473 3436 2
2 1 474 475 3437 2
2 1 476 477 3438 2
2 1 478 479 3439 2
2 1 480 481 3440 2
2 1 482 483 3441 2
2 1 484 485 3442 2
2 1 486 487 3443 2
2 1 488 489 3444 2
2 1 490 491 3445 2
2 1 492 493 3446 2
2 1 494 495 3447 2
2 1 496 497 3448 2
2 1 498 499 3449 2
2 1 500 501 3450 2
2 1 502 503 3451 2
2 1 504 505 3452 2
2 1 506 507 3453 2
2 1 508 509 3454 2
2 1 510 511 3455 2
2 1 512 513 3456 2
2 1 514 515 3457 2
2 1 516 517 3458 2
2 1 518 519 3459 2
2 1 520 521 3460 2
2 1 522 523 3461 2
2 1 524 525 3462 2
2 1 526 527 3463 2
2 1 528 529 3464 2
2 1 530 531 3465 2
2 1 532 533 3466 2
2 1 534 535 3467 2
2 1 536 537 3468 2
2 1 538 539 3469 2
2 1 540 541 3470 2
2 1 542 543 3471 2
2 1 544 545 3472 2
2 1 546 547 3473 2
2 1 548 549 3474 2
2 1 550 551 3475 2
2 1 552 553 3476 2
2 1 554 555 3477 2
2 1 556 557 3478 2
2 1 558 559 3479 2
2 1 560 561 3480 2
2 1 562 563 3481 2
2 1 564 565 3482 2
2 1 566 567 3483 2
2 1 568 569 3484 2
2 1 570 571 3485 2
2 1 572 573 3486 2
2 1 574 575 3487 2
2 1 576 577 3488 2
2 1 578 579 3489 2
2 1 580 581 3490 2
2 1 582 583 3491 2
2 1 584 585 3492 2
2 1 586 587 3493 2
2 1 588 589 3494 2
2 1 590 591 3495 2
2 1 592 593 3496 2
2 1 594 595 3497 2
2 1 596 597 3498 2
2 1 598 599 3499 2
2 1 600 601 3500 2
2 1 602 603 3501 2
2 1 604 605 3502 2
2 1 606 607 3503 2
2 1 608 609 3504 2
2 1 610 611 3505 2
2 1 612 613 3506 2
2 1 614 615 3507 2
2 1 616 617 3508 2
2 1 618 619 3509 2
2 1 620 621 3510 2
2 1 622 623 3511 2
2 1 624 625 3512 2
2 1 626 627 3513 2
2 1 628 629 3514 2
2 1 630 631 3515 2
2 1 632 633 3516 2
2 1 634 635 3517 2
2 1 636 637 3518 2
2 1 638 639 3519 2
2 1 640 641 3520 2
2 1 642 643 3521 2
2 1 644 645 3522 2
2 1 646 647 3523 2
2 1 648 649 3524 2
2 1 650 651 3525 2
2 1 652 653 3526 2
2 1 654 655 3527 2
2 1 656 657 3528 2
2 1 658 659 3529 2
2 1 660 661 3530 2
2 1 662 663 3531 2
2 1 664 665 3532 2
2 1 666 667 3533 2
2 1 668 669 3534 2
2 1 670 671 3535 2
2 1 672 673 3536 2
2 1 674 675 3537 2
2 1 676 677 3538 2
2 1 678 679 3539 2
2 1 680 681 3540 2
2 1 682 683 3541 2
2 1 684 685 3542 2
2 1 686 687 3543 2
2 1 688 689 3544 2
2 1 690 691 3545 2
2 1 692 693 3546 2
2 1 694 695 3547 2
2 1 696 697 3548 2
2 1 698 699 3549 2
2 1 700 701 3550 2
2 1 702 703 3551 2
2 1 704 705 3552 2
2 1 706 707 3553 2
2 1 708 709 3554 2
2 1 710 711 3555 2
2 1 712 713 3556 2
2 1 714 715 3557 2
2 1 716 717 3558 2
2 1 718 719 3559 2
2 1 720 721 3560 2
2 1 722 723 3561 2
2 1 724 725 3562 2
2 1 726 727 3563 2
2 1 728 729 3564 2
2 1 730 731 3565 2
2 1 732 733 3566 2
2 1 734 735 3567 2
2 1 736 737 3568 2
2 1 738 739 3569 2
2 1 740 741 3570 2
2 1 742 743 3571 2
2 1 744 745 3572 2
2 1 746 747 3573 2
2 1 748 749 3574 2
2 1 750 751 3575 2
2 1 752 753 3576 2
2 1 754 755 3577 2
2 1 756 757 3578 2
2 1 758 759 3579 2
2 1 760 761 3580 2
2 1 762 763 3581 2
2 1 764 765 3582 2
2 1 766 767 3583 2
2 1 768 769 3584 2
2 1 770 771 3585 2
2 1 772 773 3586 2
2 1 774 775 3587 2
2 1 776 777 3588 2
2 1 778 779 3589 2
2 1 780 781 3590 2
2 1 782 783 3591 2
2 1 784 785 3592 2
2 1 786 787 3593 2
2 1 788 789 3594 2
2 1 790 791 3595 2
2 1 792 793 3596 2
2 1 794 795 3597 2
2 1 796 797 3598 2
2 1 798 799 3599 2
2 1 800 801 3600 2
2 1 802 803 3601 2
2 1 804 805 3602 2
2 1 806 807 3603 2
2 1 808 809 3604 2
2 1 810 811 3605 2
2 1 812 813 3606 2
2 1 814 815 3607 2
2 1 816 817 3608 2
2 1 818 819 3609 2
2 1 820 821 3610 2
2 1 822 823 3611 2
2 1 824 825 3612 2
2 1 826 827 3613 2
2 1 828 829 3614 2
2 1 830 831 3615 2
2 1 832 833 3616 2
2 1 834 835 3617 2
2 1 836 837 3618 2
2 1 838 839 3619 2
2 1 840 841 3620 2
2 1 842 843 3621 2
2 1 844 845 3622 2
2 1 846 847 3623 2
2 1 848 849 3624 2
2 1 850 851 3625 2
2 1 852 853 3626 2
2 1 854 855 3627 2
2 1 856 857 3628 2
2 1 858 859 3629 2
2 1 860 861 3630 2
2 1 862 863 3631 2
2 1 864 865 3632 2
2 1 866 867 3633 2
2 1 868 869 3634 2
2 1 870 871 3635 2
2 1 872 873 3636 2
2 1 874 875 3637 2
2 1 876 877 3638 2
2 1 878 879 3639 2
2 1 880 881 3640 2
2 1 882 883 3641 2
2 1 884 885 3642 2
2 1 886 887 3643 2
2 1 888 889 3644 2
2 1 890 891 3645 2
2 1 892 893 3646 2
2 1 894 895 3647 2
2 1 896 897 3648 2
2 1 898 899 3649 2
2 1 900 901 3650 2
2 1 902 903 3651 2
2 1 904 905 3652 2
2 1 906 907 3653 2
2 1 908 909 3654 2
2 1 910 911 3655 2
2 1 912 913 3656 2
2 1 914 915 3657 2
2 1 916 917 3658 2
2 1 918 919 3659 2
2 1 920 921 3660 2
2 1 922 923 3661 2
2 1 924 925 3662 2
2 1 926 927 3663 2
2 1 928 929 3664 2
2 1 930 931 3665 2
2 1 932 933 3666 2
2 1 934 935 3667 2
2 1 936 937 3668 2
2 1 938 939 3669 2
2 1 940 941 3670 2
2 1 942 943 3671 2
2 1 944 945 3672 2
2 1 946 947 3673 2
2 1 948 949 3674 2
2 1 950 951 3675 2
2 1 952 953 3676 2
2 1 954 955 3677 2
2 1 956 957 3678 2
2 1 958 959 3679 2
2 1 960 961 3680 2
2 1 962 963 3681 2
2 1 964 965 3682 2
2 1 966 967 3683 2
2 1 968 969 3684 2
2 1 970 971 3685 2
2 1 972 973 3686 2
2 1 974 975 3687 2
2 1 976 977 3688 2
2 1 978 979 3689 2
2 1 980 981 3690 2
2 1 982 983 3691 2
2 1 984 985 3692 2
2 1 986 987 3693 2
2 1 988 989 3694 2
2 1 990 991 3695 2
2 1 992 993 3696 2
2 1 994 995 3697 2
2 1 996 997 3698 2
2 1 998 999 3699 2
2 1 1000 1001 3700 2
2 1 1002 1003 3701 2
2 1 1004 1005 3702 2
2 1 1006 1007 3703 2
2 1 1008 1009 3704 2
2 1 1010 1011 3705 2
2 1 1012 1013 3706 2
2 1 1014 1015 3707 2
2 1 1016 1017 3708 2
2 1 1018 1019 3709 2
2 1 1020 1021 3710 2
2 1 1022 1023 3711 2
2 1 1024 1025 3712 2
2 1 1026 1027 3713 2
2 1 1028 1029 3714 2
2 1 1030 1031 3715 2
2 1 1032 1033 3716 2
2 1 1034 1035 3717 2
2 1 1036 1037 3718 2
2 1 1038 1039 3719 2
2 1 1040 1041 3720 2
2 1 1042 1043 3721 2
2 1 1044 1045 3722 2
2 1 1046 1047 3723 2
2 1 1048 1049 3724 2
2 1 1050 1051 3725 2
2 1 1052 1053 3726 2
2 1 1054 1055 3727 2
2 1 1056 1057 3728 2
2 1 1058 1059 3729 2
2 1 1060 1061 3730 2
2 1 1062 1063 3731 2
2 1 1064 1065 3732 2
2 1 1066 1067 3733 2
2 1 1068 1069 3734 2
2 1 1070 1071 3735 2
2 1 1072 1073 3736 2
2 1 1074 1075 3737 2
2 1 1076 1077 3738 2
2 1 1078 1079 3739 2
2 1 1080 1081 3740 2
2 1 1082 1083 3741 2
2 1 1084 1085 3742 2
2 1 1086 1087 3743 2
2 1 1088 1089 3744 2
2 1 1090 1091 3745 2
2 1 1092 1093 3746 2
2 1 1094 1095 3747 2
2 1 1096 1097 3748 2
2 1 1098 1099 3749 2
2 1 1100 1101 3750 2
2 1 1102 1103 3751 2
2 1 1104 1105 3752 2
2 1 1106 1107 3753 2
2 1 1108 1109 3754 2
2 1 1110 1111 3755 2
2 1 1112 1113 3756 2
2 1 1114 1115 3757 2
2 1 1116 1117 3758 2
2 1 1118 1119 3759 2
2 1 1120 1121 3760 2
2 1 1122 1123 3761 2
2 1 1124 1125 3762 2
2 1 1126 1127 3763 2
2 1 1128 1129 3764 2
2 1 1130 1131 3765 2
2 1 1132 1133 3766 2
2 1 1134 1135 3767 2
2 1 1136 1137 3768 2
2 1 1138 1139 3769 2
2 1 1140 1141 3770 2
2 1 1142 1143 3771 2
2 1 1144 1145 3772 2
2 1 1146 1147 3773 2
2 1 1148 1149 3774 2
2 1 1150 1151 3775 2
2 1 1152 1153 3776 2
2 1 1154 1155 3777 2
2 1 1156 1157 3778 2
2 1 1158 1159 3779 2
2 1 1160 1161 3780 2
2 1 1162 1163 3781 2
2 1 1164 1165 3782 2
2 1 1166 1167 3783 2
2 1 1168 1169 3784 2
2 1 1170 1171 3785 2
2 1 1172 1173 3786 2
2 1 1174 1175 3787 2
2 1 1176 1177 3788 2
2 1 1178 1179 3789 2
2 1 1180 1181 3790 2
2 1 1182 1183 3791 2
2 1 1184 1185 3792 2
2 1 1186 1187 3793 2
2 1 1188 1189 3794 2
2 1 1190 1191 3795 2
2 1 1192 1193 3796 2
2 1 1194 1195 3797 2
2 1 1196 1197 3798 2
2 1 1198 1199 3799 2
2 1 1200 1201 3800 2
2 1 1202 1203 3801 2
2 1 1204 1205 3802 2
2 1 1206 1207 3803 2
2 1 1208 1209 3804 2
2 1 1210 1211 3805 2
2 1 1212 1213 3806 2
2 1 1214 1215 3807 2
2 1 1216 1217 3808 2
2 1 1218 1219 3809 2
2 1 1220 1221 3810 2
2 1 1222 1223 3811 2
2 1 1224 1225 3812 2
2 1 1226 1227 3813 2
2 1 1228 1229 3814 2
2 1 1230 1231 3815 2
2 1 1232 1233 3816 2
2 1 1234 1235 3817 2
2 1 1236 1237 3818 2
2 1 1238 1239 3819 2
2 1 1240 1241 3820 2
2 1 1242 1243 3821 2
2 1 1244 1245 3822 2
2 1 1246 1247 3823 2
2 1 1248 1249 3824 2
2 1 1250 1251 3825 2
2 1 1252 1253 3826 2
2 1 1254 1255 3827 2
2 1 1256 1257 3828 2
2 1 1258 1259 3829 2
2 1 1260 1261 3830 2
2 1 1262 1263 3831 2
2 1 1264 1265 3832 2
2 1 1266 1267 3833 2
2 1 1268 1269 3834 2
2 1 1270 1271 3835 2
2 1 1272 1273 3836 2
2 1 1274 1275 3837 2
2 1 1276 1277 3838 2
2 1 1278 1279 3839 2
2 1 1280 1281 3840 2
2 1 1282 1283 3841 2
2 1 1284 1285 3842 2
2 1 1286 1287 3843 2
2 1 1288 1289 3844 2
2 1 1290 1291 3845 2
2 1 1292 1293 3846 2
2 1 1294 1295 3847 2
2 1 1296 1297 3848 2
2 1 1298 1299 3849 2
2 1 1300 1301 3850 2
2 1 1302 1303 3851 2
2 1 1304 1305 3852 2
2 1 1306 1307 3853 2
2 1 1308 1309 3854 2
2 1 1310 1311 3855 2
2 1 1312 1313 3856 2
2 1 1314 1315 3857 2
2 1 1316 1317 3858 2
2 1 1318 1319 3859 2
2 1 1320 1321 3860 2
2 1 1322 1323 3861 2
2 1 1324 1325 3862 2
2 1 1326 1327 3863 2
2 1 1328 1329 3864 2
2 1 1330 1331 3865 2
2 1 1332 1333 3866 2
2 1 1334 1335 3867 2
2 1 1336 1337 3868 2
2 1 1338 1339 3869 2
2 1 1340 1341 3870 2
2 1 1342 1343 3871 2
2 1 1344 1345 3872 2
2 1 1346 1347 3873 2
2 1 1348 1349 3874 2
2 1 1350 1351 3875 2
2 1 1352 1353 3876 2
2 1 1354 1355 3877 2
2 1 1356 1357 3878 2
2 1 1358 1359 3879 2
2 1 1360 1361 3880 2
2 1 1362 1363 3881 2
2 1 1364 1365 3882 2
2 1 1366 1367 3883 2
2 1 1368 1369 3884 2
2 1 1370 1371 3885 2
2 1 1372 1373 3886 2
2 1 1374 1375 3887 2
2 1 1376 1377 3888 2
2 1 1378 1379 3889 2
2 1 1380 1381 3890 2
2 1 1382 1383 3891 2
2 1 1384 1385 3892 2
2 1 1386 1387 3893 2
2 1 1388 1389 3894 2
2 1 1390 1391 3895 2
2 1 1392 1393 3896 2
2 1 1394 1395 3897 2
2 1 1396 1397 3898 2
2 1 1398 1399 3899 2
2 1 1400 1401 3900 2
2 1 1402 1403 3901 2
2 1 1404 1405 3902 2
2 1 1406 1407 3903 2
2 1 1408 1409 3904 2
2 1 1410 1411 3905 2
2 1 1412 1413 3906 2
2 1 1414 1415 3907 2
2 1 1416 1417 3908 2
2 1 1418 1419 3909 2
2 1 1420 1421 3910 2
2 1 1422 1423 3911 2
2 1 1424 1425 3912 2
2 1 1426 1427 3913 2
2 1 1428 1429 3914 2
2 1 1430 1431 3915 2
2 1 1432 1433 3916 2
2 1 1434 1435 3917 2
2 1 1436 1437 3918 2
2 1 1438 1439 3919 2
2 1 1440 1441 3920 2
2 1 1442 1443 3921 2
2 1 1444 1445 3922 2
2 1 1446 1447 3923 2
2 1 1448 1449 3924 2
2 1 1450 1451 3925 2
2 1 1452 1453 3926 2
2 1 1454 1455 3927 2
2 1 1456 1457 3928 2
2 1 1458 1459 3929 2
2 1 1460 1461 3930 2
2 1 1462 1463 3931 2
2 1 1464 1465 3932 2
2 1 1466 1467 3933 2
2 1 1468 1469 3934 2
2 1 1470 1471 3935 2
2 1 1472 1473 3936 2
2 1 1474 1475 3937 2
2 1 1476 1477 3938 2
2 1 1478 1479 3939 2
2 1 1480 1481 3940 2
2 1 1482 1483 3941 2
2 1 1484 1485 3942 2
2 1 1486 1487 3943 2
2 1 1488 1489 3944 2
2 1 1490 1491 3945 2
2 1 1492 1493 3946 2
2 1 1494 1495 3947 2
2 1 1496 1497 3948 2
2 1 1498 1499 3949 2
2 1 1500 1501 3950 2
2 1 1502 1503 3951 2
2 1 1504 1505 3952 2
2 1 1506 1507 3953 2
2 1 1508 1509 3954 2
2 1 1510 1511 3955 2
2 1 1512 1513 3956 2
2 1 1514 1515 3957 2
2 1 1516 1517 3958 2
2 1 1518 1519 3959 2
2 1 1520 1521 3960 2
2 1 1522 1523 3961 2
2 1 1524 1525 3962 2
2 1 1526 1527 3963 2
2 1 1528 1529 3964 2
2 1 1530 1531 3965 2
2 1 1532 1533 3966 2
2 1 1534 1535 3967 2
2 1 1536 1537 3968 2
2 1 1538 1539 3969 2
2 1 1540 1541 3970 2
2 1 1542 1543 3971 2
2 1 1544 1545 3972 2
2 1 1546 1547 3973 2
2 1 1548 1549 3974 2
2 1 1550 1551 3975 2
2 1 1552 1553 3976 2
2 1 1554 1555 3977 2
2 1 1556 1557 3978 2
2 1 1558 1559 3979 2
2 1 1560 1561 3980 2
2 1 1562 1563 3981 2
2 1 1564 1565 3982 2
2 1 1566 1567 3983 2
2 1 1568 1569 3984 2
2 1 1570 1571 3985 2
2 1 1572 1573 3986 2
2 1 1574 1575 3987 2
2 1 1576 1577 3988 2
2 1 1578 1579 3989 2
2 1 1580 1581 3990 2
2 1 1582 1583 3991 2
2 1 1584 1585 3992 2
2 1 1586 1587 3993 2
2 1 1588 1589 3994 2
2 1 1590 1591 3995 2
2 1 1592 1593 3996 2
2 1 1594 1595 3997 2
2 1 1596 1597 3998 2
2 1 1598 1599 3999 2
2 1 0 2 4000 1
2 1 4 6 4001 1
2 1 8 10 4002 1
2 1 12 14 4003 1
2 1 16 18 4004 1
2 1 20 22 4005 1
2 1 24 26 4006 1
2 1 28 30 4007 1
2 1 32 34 4008 1
2 1 36 38 4009 1
2 1 40 42 4010 1
2 1 44 46 4011 1
2 1 48 50 4012 1
2 1 52 54 4013 1
2 1 56 58 4014 1
2 1 60 62 4015 1
2 1 64 66 4016 1
2 1 68 70 4017 1
2 1 72 74 4018 1
2 1 76 78 4019 1
2 1 80 82 4020 1
2 1 84 86 4021 1
2 1 88 90 4022 1
2 1 92 94 4023 1
2 1 96 98 4024 1
2 1 100 102 4025 1
2 1 104 106 4026 1
2 1 108 110 4027 1
2 1 112 114 4028 1
2 1 116 118 4029 1
2 1 120 122 4030 1
2 1 124 126 4031 1
2 1 128 130 4032 1
2 1 132 134 4033 1
2 1 136 138 4034 1
2 1 140 142 4035 1
2 1 144 146 4036 1
2 1 148 150 4037 1
2 1 152 154 4038 1
2 1 156 158 4039 1
2 1 160 162 4040 1
2 1 164 166 4041 1
2 1 168 170 4042 1
2 1 172 174 4043 1
2 1 176 178 4044 1
2 1 180 182 4045 1
2 1 184 186 4046 1
2 1 188 190 4047 1
2 1 192 194 4048 1
2 1 196 198 4049 1
2 1 200 202 4050 1
2 1 204 206 4051 1
2 1 208 210 4052 1
2 1 212 214 4053 1
2 1 216 218 4054 1
2 1 220 222 4055 1
2 1 224 226 4056 1
2 1 228 230 4057 1
2 1 232 234 4058 1
2 1 236 238 4059 1
2 1 240 242 4060 1
2 1 244 246 4061 1
2 1 248 250 4062 1
2 1 252 254 4063 1
2 1 256 258 4064 1
2 1 260 262 4065 1
2 1 264 266 4066 1
2 1 268 270 4067 1
2 1 272 274 4068 1
2 1 276 278 4069 1
2 1 280 282 4070 1
2 1 284 286 4071 1
2 1 288 290 4072 1
2 1 292 294 4073 1
2 1 296 298 4074 1
2 1 300 302 4075 1
2 1 304 306 4076 1
2 1 308 310 4077 1
2 1 312 314 4078 1
2 1 316 318 4079 1
2 1 320 322 4080 1
2 1 324 326 4081 1
2 1 328 330 4082 1
2 1 332 334 4083 1
2 1 336 338 4084 1
2 1 340 342 4085 1
2 1 344 346 4086 1
2 1 348 350 4087 1
2 1 352 354 4088 1
2 1 356 358 4089 1
2 1 360 362 4090 1
2 1 364 366 4091 1
2 1 368 370 4092 1
2 1 372 374 4093 1
2 1 376 378 4094 1
2 1 380 382 4095 1
2 1 384 386 4096 1
2 1 388 390 4097 1
2 1 392 394 4098 1
2 1 396 398 4099 1
2 1 400 402 4100 1
2 1 404 406 4101 1
2 1 408 410 4102 1
2 1 412 414 4103 1
2 1 416 418 4104 1
2 1 420 422 4105 1
2 1 424 426 4106 1
2 1 428 430 4107 1
2 1 432 434 4108 1
2 1 436 438 4109 1
2 1 440 442 4110 1
2 1 444 446 4111 1
2 1 448 450 4112 1
2 1 452 454 4113 1
2 1 456 458 4114 1
2 1 460 462 4115 1
2 1 464 466 4116 1
2 1 468 470 4117 1
2 1 472 474 4118 1
2 1 476 478 4119 1
2 1 480 482 4120 1
2 1 484 486 4121 1
2 1 488 490 4122 1
2 1 492 494 4123 1
2 1 496 498 4124 1
2 1 500 502 4125 1
2 1 504 506 4126 1
2 1 508 510 4127 1
2 1 512 514 4128 1
2 1 516 518 4129 1
2 1 520 522 4130 1
2 1 524 526 4131 1
2 1 528 530 4132 1
2 1 532 534 4133 1
2 1 536 538 4134 1
2 1 540 542 4135 1
2 1 544 546 4136 1
2 1 548 550 4137 1
2 1 552 554 4138 1
2 1 556 558 4139 1
2 1 560 562 4140 1
2 1 564 566 4141 1
2 1 568 570 4142 1
2 1 572 574 4143 1
2 1 576 578 4144 1
2 1 580 582 4145 1
2 1 584 586 4146 1
2 1 588 590 4147 1
2 1 592 594 4148 1
2 1 596 598 4149 1
2 1 600 602 4150 1
2 1 604 606 4151 1
2 1 608 610 4152 1
2 1 612 614 4153 1
2 1 616 618 4154 1
2 1 620 622 4155 1
2 1 624 626 4156 1
2 1 628 630 4157 1
2 1 632 634 4158 1
2 1 636 638 4159 1
2 1 640 642 4160 1
2 1 644 646 4161 1
2 1 648 650 4162 1
2 1 652 654 4163 1
2 1 656 658 4164 1
2 1 660 662 4165 1
2 1 664 666 4166 1
2 1 668 670 4167 1
2 1 672 674 4168 1
2 1 676 678 4169 1
2 1 680 682 4170 1
2 1 684 686 4171 1
2 1 688 690 4172 1
2 1 692 694 4173 1
2 1 696 698 4174 1
2 1 700 702 4175 1
2 1 704 706 4176 1
2 1 708 710 4177 1
2 1 712 714 4178 1
2 1 716 718 4179 1
2 1 720 722 4180 1
2 1 724 726 4181 1
2 1 728 730 4182 1
2 1 732 734 4183 1
2 1 736 738 4184 1
2 1 740 742 4185 1
2 1 744 746 4186 1
2 1 748 750 4187 1
2 1 752 754 4188 1
2 1 756 758 4189 1
2 1 760 762 4190 1
2 1 764 766 4191 1
2 1 768 770 4192 1
2 1 772 774 4193 1
2 1 776 778 4194 1
2 1 780 782 4195 1
2 1 784 786 4196 1
2 1 788 790 4197 1
2 1 792 794 4198 1
2 1 796 798 4199 1
2 1 800 802 4200 1
2 1 804 806 4201 1
2 1 808 810 4202 1
2 1 812 814 4203 1
2 1 816 818 4204 1
2 1 820 822 4205 1
2 1 824 826 4206 1
2 1 828 830 4207 1
2 1 832 834 4208 1
2 1 836 838 4209 1
2 1 840 842 4210 1
2 1 844 846 4211 1
2 1 848 850 4212 1
2 1 852 854 4213 1
2 1 856 858 4214 1
2 1 860 862 4215 1
2 1 864 866 4216 1
2 1 868 870 4217 1
2 1 872 874 4218 1
2 1 876 878 4219 1
2 1 880 882 4220 1
2 1 884 886 4221 1
2 1 888 890 4222 1
2 1 892 894 4223 1
2 1 896 898 4224 1
2 1 900 902 4225 1
2 1 904 906 4226 1
2 1 908 910 4227 1
2 1 912 914 4228 1
2 1 916 918 4229 1
2 1 920 922 4230 1
2 1 924 926 4231 1
2 1 928 930 4232 1
2 1 932 934 4233 1
2 1 936 938 4234 1
2 1 940 942 4235 1
2 1 944 946 4236 1
2 1 948 950 4237 1
2 1 952 954 4238 1
2 1 956 958 4239 1
2 1 960 962 4240 1
2 1 964 966 4241 1
2 1 968 970 4242 1
2 1 972 974 4243 1
2 1 976 978 4244 1
2 1 980 982 4245 1
2 1 984 986 4246 1
2 1 988 990 4247 1
2 1 992 994 4248 1
2 1 996 998 4249 1
2 1 1000 1002 4250 1
2 1 1004 1006 4251 1
2 1 1008 1010 4252 1
2 1 1012 1014 4253 1
2 1 1016 1018 4254 1
2 1 1020 1022 4255 1
2 1 1024 1026 4256 1
2 1 1028 1030 4257 1
2 1 1032 1034 4258 1
2 1 1036 1038 4259 1
2 1 1040 1042 4260 1
2 1 1044 1046 4261 1
2 1 1048 1050 4262 1
2 1 1052 1054 4263 1
2 1 1056 1058 4264 1
2 1 1060 1062 4265 1
2 1 1064 1066 4266 1
2 1 1068 1070 4267 1
2 1 1072 1074 4268 1
2 1 1076 1078 4269 1
2 1 1080 1082 4270 1
2 1 1084 1086 4271 1
2 1 1088 1090 4272 1
2 1 1092 1094 4273 1
2 1 1096 1098 4274 1
2 1 1100 1102 4275 1
2 1 1104 1106 4276 1
2 1 1108 1110 4277 1
2 1 1112 1114 4278 1
2 1 1116 1118 4279 1
2 1 1120 1122 4280 1
2 1 1124 1126 4281 1
2 1 1128 1130 4282 1
2 1 1132 1134 4283 1
2 1 1136 1138 4284 1
2 1 1140 1142 4285 1
2 1 1144 1146 4286 1
2 1 1148 1150 4287 1
2 1 1152 1154 4288 1
2 1 1156 1158 4289 1
2 1 1160 1162 4290 1
2 1 1164 1166 4291 1
2 1 1168 1170 4292 1
2 1 1172 1174 4293 1
2 1 1176 1178 4294 1
2 1 1180 1182 4295 1
2 1 1184 1186 4296 1
2 1 1188 1190 4297 1
2 1 1192 1194 4298 1
2 1 1196 1198 4299 1
2 1 1200 1202 4300 1
2 1 1204 1206 4301 1
2 1 1208 1210 4302 1
2 1 1212 1214 4303 1
2 1 1216 1218 4304 1
2 1 1220 1222 4305 1
2 1 1224 1226 4306 1
2 1 1228 1230 4307 1
2 1 1232 1234 4308 1
2 1 1236 1238 4309 1
2 1 1240 1242 4310 1
2 1 1244 1246 4311 1
2 1 1248 1250 4312 1
2 1 1252 1254 4313 1
2 1 1256 1258 4314 1
2 1 1260 1262 4315 1
2 1 1264 1266 4316 1
2 1 1268 1270 4317 1
2 1 1272 1274 4318 1
2 1 1276 1278 4319 1
2 1 1280 1282 4320 1
2 1 1284 1286 4321 1
2 1 1288 1290 4322 1
2 1 1292 1294 4323 1
2 1 1296 1298 4324 1
2 1 1300 1302 4325 1
2 1 1304 1306 4326 1
2 1 1308 1310 4327 1
2 1 1312 1314 4328 1
2 1 1316 1318 4329 1
2 1 1320 1322 4330 1
2 1 1324 1326 4331 1
2 1 1328 1330 4332 1
2 1 1332 1334 4333 1
2 1 1336 1338 4334 1
2 1 1340 1342 4335 1
2 1 1344 1346 4336 1
2 1 1348 1350 4337 1
2 1 1352 1354 4338 1
2 1 1356 1358 4339 1
2 1 1360 1362 4340 1
2 1 1364 1366 4341 1
2 1 1368 1370 4342 1
2 1 1372 1374 4343 1
2 1 1376 1378 4344 1
2 1 1380 1382 4345 1
2 1 1384 1386 4346 1
2 1 1388 1390 4347 1
2 1 1392 1394 4348 1
2 1 1396 1398 4349 1
2 1 1400 1402 4350 1
2 1 1404 1406 4351 1
2 1 1408 1410 4352 1
2 1 1412 1414 4353 1
2 1 1416 1418 4354 1
2 1 1420 1422 4355 1
2 1 1424 1426 4356 1
2 1 1428 1430 4357 1
2 1 1432 1434 4358 1
2 1 1436 1438 4359 1
2 1 1440 1442 4360 1
2 1 1444 1446 4361 1
2 1 1448 1450 4362 1
2 1 1452 1454 4363 1
2 1 1456 1458 4364 1
2 1 1460 1462 4365 1
2 1 1464 1466 4366 1
2 1 1468 1470 4367 1
2 1 1472 1474 4368 1
2 1 1476 1478 4369 1
2 1 1480 1482 4370 1
2 1 1484 1486 4371 1
2 1 1488 1490 4372 1
2 1 1492 1494 4373 1
2 1 1496 1498 4374 1
2 1 1500 1502 4375 1
2 1 1504 1506 4376 1
2 1 1508 1510 4377 1
2 1 1512 1514 4378 1
2 1 1516 1518 4379 1
2 1 1520 1522 4380 1
2 1 1524 1526 4381 1
2 1 1528 1530 4382 1
2 1 1532 1534 4383 1
2 1 1536 1538 4384 1
2 1 1540 1542 4385 1
2 1 1544 1546 4386 1
2 1 1548 1550 4387 1
2 1 1552 1554 4388 1
2 1 1556 1558 4389 1
2 1 1560 1562 4390 1
2 1 1564 1566 4391 1
2 1 1568 1570 4392 1
2 1 1572 1574 4393 1
2 1 1576 1578 4394 1
2 1 1580 1582 4395 1
2 1 1584 1586 4396 1
2 1 1588 1590 4397 1
2 1 1592 1594 4398 1
2 1 1596 1598 4399 1
2 1 4000 4001 4400 1
2 1 4002 4003 4401 1
2 1 4004 4005 4402 1
2 1 4006 4007 4403 1
2 1 4008 4009 4404 1
2 1 4010 4011 4405 1
2 1 4012 4013 4406 1
2 1 4014 4015 4407 1
2 1 4016 4017 4408 1
2 1 4018 4019 4409 1
2 1 4020 4021 4410 1
2 1 4022 4023 4411 1
2 1 4024 4025 4412 1
2 1 4026 4027 4413 1
2 1 4028 4029 4414 1
2 1 4030 4031 4415 1
2 1 4032 4033 4416 1
2 1 4034 4035 4417 1
2 1 4036 4037 4418 1
2 1 4038 4039 4419 1
2 1 4040 4041 4420 1
2 1 4042 4043 4421 1
2 1 4044 4045 4422 1
2 1 4046 4047 4423 1
2 1 4048 4049 4424 1
2 1 4050 4051 4425 1
2 1 4052 4053 4426 1
2 1 4054 4055 4427 1
2 1 4056 4057 4428 1
2 1 4058 4059 4429 1
2 1 4060 4061 4430 1
2 1 4062 4063 4431 1
2 1 4064 4065 4432 1
2 1 4066 4067 4433 1
2 1 4068 4069 4434 1
2 1 4070 4071 4435 1
2 1 4072 4073 4436 1
2 1 4074 4075 4437 1
2 1 4076 4077 4438 1
2 1 4078 4079 4439 1
2 1 4080 4081 4440 1
2 1 4082 4083 4441 1
2 1 4084 4085 4442 1
2 1 4086 4087 4443 1
2 1 4088 4089 4444 1
2 1 4090 4091 4445 1
2 1 4092 4093 4446 1
2 1 4094 4095 4447 1
2 1 4096 4097 4448 1
2 1 4098 4099 4449 1
2 1 4100 4101 4450 1
2 1 4102 4103 4451 1
2 1 4104 4105 4452 1
2 1 4106 4107 4453 1
2 1 4108 4109 4454 1
2 1 4110 4111 4455 1
2 1 4112 4113 4456 1
2 1 4114 4115 4457 1
2 1 4116 4117 4458 1
2 1 4118 4119 4459 1
2 1 4120 4121 4460 1
2 1 4122 4123 4461 1
2 1 4124 4125 4462 1
2 1 4126 4127 4463 1
2 1 4128 4129 4464 1
2 1 4130 4131 4465 1
2 1 4132 4133 4466 1
2 1 4134 4135 4467 1
2 1 4136 4137 4468 1
2 1 4138 4139 4469 1
2 1 4140 4141 4470 1
2 1 4142 4143 4471 1
2 1 4144 4145 4472 1
2 1 4146 4147 4473 1
2 1 4148 4149 4474 1
2 1 4150 4151 4475 1
2 1 4152 4153 4476 1
2 1 4154 4155 4477 1
2 1 4156 4157 4478 1
2 1 4158 4159 4479 1
2 1 4160 4161 4480 1
2 1 4162 4163 4481 1
2 1 4164 4165 4482 1
2 1 4166 4167 4483 1
2 1 4168 4169 4484 1
2 1 4170 4171 4485 1
2 1 4172 4173 4486 1
2 1 4174 4175 4487 1
2 1 4176 4177 4488 1
2 1 4178 4179 4489 1
2 1 4180 4181 4490 1
2 1 4182 4183 4491 1
2 1 4184 4185 4492 1
2 1 4186 4187 4493 1
2 1 4188 4189 4494 1
2 1 4190 4191 4495 1
2 1 4192 4193 4496 1
2 1 4194 4195 4497 1
2 1 4196 4197 4498 1
2 1 4198 4199 4499 1
2 1 4200 4201 4500 1
2 1 4202 4203 4501 1
2 1 4204 4205 4502 1
2 1 4206 4207 4503 1
2 1 4208 4209 4504 1
2 1 4210 4211 4505 1
2 1 4212 4213 4506 1
2 1 4214 4215 4507 1
2 1 4216 4217 4508 1
2 1 4218 4219 4509 1
2 1 4220 4221 4510 1
2 1 4222 4223 4511 1
2 1 4224 4225 4512 1
2 1 4226 4227 4513 1
2 1 4228 4229 4514 1
2 1 4230 4231 4515 1
2 1 4232 4233 4516 1
2 1 4234 4235 4517 1
2 1 4236 4237 4518 1
2 1 4238 4239 4519 1
2 1 4240 4241 4520 1
2 1 4242 4243 4521 1
2 1 4244 4245 4522 1
2 1 4246 4247 4523 1
2 1 4248 4249 4524 1
2 1 4250 4251 4525 1
2 1 4252 4253 4526 1
2 1 4254 4255 4527 1
2 1 4256 4257 4528 1
2 1 4258 4259 4529 1
2 1 4260 4261 4530 1
2 1 4262 4263 4531 1
2 1 4264 4265 4532 1
2 1 4266 4267 4533 1
2 1 4268 4269 4534 1
2 1 4270 4271 4535 1
2 1 4272 4273 4536 1
2 1 4274 4275 4537 1
2 1 4276 4277 4538 1
2 1 4278 4279 4539 1
2 1 4280 4281 4540 1
2 1 4282 4283 4541 1
2 1 4284 4285 4542 1
2 1 4286 4287 4543 1
2 1 4288 4289 4544 1
2 1 4290 4291 4545 1
2 1 4292 4293 4546 1
2 1 4294 4295 4547 1
2 1 4296 4297 4548 1
2 1 4298 4299 4549 1
2 1 4300 4301 4550 1
2 1 4302 4303 4551 1
2 1 4304 4305 4552 1
2 1 4306 4307 4553 1
2 1 4308 4309 4554 1
2 1 4310 4311 4555 1
2 1 4312 4313 4556 1
2 1 4314 4315 4557 1
2 1 4316 4317 4558 1
2 1 4318 4319 4559 1
2 1 4320 4321 4560 1
2 1 4322 4323 4561 1
2 1 4324 4325 4562 1
2 1 4326 4327 4563 1
2 1 4328 4329 4564 1
2 1 4330 4331 4565 1
2 1 4332 4333 4566 1
2 1 4334 4335 4567 1
2 1 4336 4337 4568 1
2 1 4338 4339 4569 1
2 1 4340 4341 4570 1
2 1 4342 4343 4571 1
2 1 4344 4345 4572 1
2 1 4346 4347 4573 1
2 1 4348 4349 4574 1
2 1 4350 4351 4575 1
2 1 4352 4353 4576 1
2 1 4354 4355 4577 1
2 1 4356 4357 4578 1
2 1 4358 4359 4579 1
2 1 4360 4361 4580 1
2 1 4362 4363 4581 1
2 1 4364 4365 4582 1
2 1 4366 4367 4583 1
2 1 4368 4369 4584 1
2 1 4370 4371 4585 1
2 1 4372 4373 4586 1
2 1 4374 4375 4587 1
2 1 4376 4377 4588 1
2 1 4378 4379 4589 1
2 1 4380 4381 4590 1
2 1 4382 4383 4591 1
2 1 4384 4385 4592 1
2 1 4386 4387 4593 1
2 1 4388 4389 4594 1
2 1 4390 4391 4595 1
2 1 4392 4393 4596 1
2 1 4394 4395 4597 1
2 1 4396 4397 4598 1
2 1 4398 4399 4599 1
2 1 4400 4401 4600 1
2 1 4402 4403 4601 1
2 1 4404 4405 4602 1
2 1 4406 4407 4603 1
2 1 4408 4409 4604 1
2 1 4410 4411 4605 1
2 1 4412 4413 4606 1
2 1 4414 4415 4607 1
2 1 4416 4417 4608 1
2 1 4418 4419 4609 1
2 1 4420 4421 4610 1
2 1 4422 4423 4611 1
2 1 4424 4425 4612 1
2 1 4426 4427 4613 1
2 1 4428 4429 4614 1
2 1 4430 4431 4615 1
2 1 4432 4433 4616 1
2 1 4434 4435 4617 1
2 1 4436 4437 4618 1
2 1 4438 4439 4619 1
2 1 4440 4441 4620 1
2 1 4442 4443 4621 1
2 1 4444 4445 4622 1
2 1 4446 4447 4623 1
2 1 4448 4449 4624 1
2 1 4450 4451 4625 1
2 1 4452 4453 4626 1
2 1 4454 4455 4627 1
2 1 4456 4457 4628 1
2 1 4458 4459 4629 1
2 1 4460 4461 4630 1
2 1 4462 4463 4631 1
2 1 4464 4465 4632 1
2 1 4466 4467 4633 1
2 1 4468 4469 4634 1
2 1 4470 4471 4635 1
2 1 4472 4473 4636 1
2 1 4474 4475 4637 1
2 1 4476 4477 4638 1
2 1 4478 4479 4639 1
2 1 4480 4481 4640 1
2 1 4482 4483 4641 1
2 1 4484 4485 4642 1
2 1 4486 4487 4643 1
2 1 4488 4489 4644 1
2 1 4490 4491 4645 1
2 1 4492 4493 4646 1
2 1 4494 4495 4647 1
2 1 4496 4497 4648 1
2 1 4498 4499 4649 1
2 1 4500 4501 4650 1
2 1 4502 4503 4651 1
2 1 4504 4505 4652 1
2 1 4506 4507 4653 1
2 1 4508 4509 4654 1
2 1 4510 4511 4655 1
2 1 4512 4513 4656 1
2 1 4514 4515 4657 1
2 1 4516 4517 4658 1
2 1 4518 4519 4659 1
2 1 4520 4521 4660 1
2 1 4522 4523 4661 1
2 1 4524 4525 4662 1
2 1 4526 4527 4663 1
2 1 4528 4529 4664 1
2 1 4530 4531 4665 1
2 1 4532 4533 4666 1
2 1 4534 4535 4667 1
2 1 4536 4537 4668 1
2 1 4538 4539 4669 1
2 1 4540 4541 4670 1
2 1 4542 4543 4671 1
2 1 4544 4545 4672 1
2 1 4546 4547 4673 1
2 1 4548 4549 4674 1
2 1 4550 4551 4675 1
2 1 4552 4553 4676 1
2 1 4554 4555 4677 1
2 1 4556 4557 4678 1
2 1 4558 4559 4679 1
2 1 4560 4561 4680 1
2 1 4562 4563 4681 1
2 1 4564 4565 4682 1
2 1 4566 4567 4683 1
2 1 4568 4569 4684 1
2 1 4570 4571 4685 1
2 1 4572 4573 4686 1
2 1 4574 4575 4687 1
2 1 4576 4577 4688 1
2 1 4578 4579 4689 1
2 1 4580 4581 4690 1
2 1 4582 4583 4691 1
2 1 4584 4585 4692 1
2 1 4586 4587 4693 1
2 1 4588 4589 4694 1
2 1 4590 4591 4695 1
2 1 4592 4593 4696 1
2 1 4594 4595 4697 1
2 1 4596 4597 4698 1
2 1 4598 4599 4699 1
2 1 4600 4601 4700 1
2 1 4602 4603 4701 1
2 1 4604 4605 4702 1
2 1 4606 4607 4703 1
2 1 4608 4609 4704 1
2 1 4610 4611 4705 1
2 1 4612 4613 4706 1
2 1 4614 4615 4707 1
2 1 4616 4617 4708 1
2 1 4618 4619 4709 1
2 1 4620 4621 4710 1
2 1 4622 4623 4711 1
2 1 4624 4625 4712 1
2 1 4626 4627 4713 1
2 1 4628 4629 4714 1
2 1 4630 4631 4715 1
2 1 4632 4633 4716 1
2 1 4634 4635 4717 1
2 1 4636 4637 4718 1
2 1 4638 4639 4719 1
2 1 4640 4641 4720 1
2 1 4642 4643 4721 1
2 1 4644 4645 4722 1
2 1 4646 4647 4723 1
2 1 4648 4649 4724 1
2 1 4650 4651 4725 1
2 1 4652 4653 4726 1
2 1 4654 4655 4727 1
2 1 4656 4657 4728 1
2 1 4658 4659 4729 1
2 1 4660 4661 4730 1
2 1 4662 4663 4731 1
2 1 4664 4665 4732 1
2 1 4666 4667 4733 1
2 1 4668 4669 4734 1
2 1 4670 4671 4735 1
2 1 4672 4673 4736 1
2 1 4674 4675 4737 1
2 1 4676 4677 4738 1
2 1 4678 4679 4739 1
2 1 4680 4681 4740 1
2 1 4682 4683 4741 1
2 1 4684 4685 4742 1
2 1 4686 4687 4743 1
2 1 4688 4689 4744 1
2 1 4690 4691 4745 1
2 1 4692 4693 4746 1
2 1 4694 4695 4747 1
2 1 4696 4697 4748 1
2 1 4698 4699 4749 1
2 1 4700 4701 4750 1
2 1 4702 4703 4751 1
2 1 4704 4705 4752 1
2 1 4706 4707 4753 1
2 1 4708 4709 4754 1
2 1 4710 4711 4755 1
2 1 4712 4713 4756 1
2 1 4714 4715 4757 1
2 1 4716 4717 4758 1
2 1 4718 4719 4759 1
2 1 4720 4721 4760 1
2 1 4722 4723 4761 1
2 1 4724 4725 4762 1
2 1 4726 4727 4763 1
2 1 4728 4729 4764 1
2 1 4730 4731 4765 1
2 1 4732 4733 4766 1
2 1 4734 4735 4767 1
2 1 4736 4737 4768 1
2 1 4738 4739 4769 1
2 1 4740 4741 4770 1
2 1 4742 4743 4771 1
2 1 4744 4745 4772 1
2 1 4746 4747 4773 1
2 1 4748 4749 4774 1
2 1 4750 4751 4775 1
2 1 4752 4753 4776 1
2 1 4754 4755 4777 1
2 1 4756 4757 4778 1
2 1 4758 4759 4779 1
2 1 4760 4761 4780 1
2 1 4762 4763 4781 1
2 1 4764 4765 4782 1
2 1 4766 4767 4783 1
2 1 4768 4769 4784 1
2 1 4770 4771 4785 1
2 1 4772 4773 4786 1
2 1 4775 4776 4787 1
2 1 4777 4778 4788 1
2 1 4779 4780 4789 1
2 1 4781 4782 4790 1
2 1 4783 4784 4791 1
2 1 4785 4786 4792 1
2 1 4787 4788 4793 1
2 1 4789 4790 4794 1
2 1 4791 4792 4795 1
2 1 4774 4795 4796 1
2 1 4793 4794 4797 1
2 1 4796 4797 4798 1
2 1 1600 1602 4799 1
2 1 1604 1606 4800 1
2 1 1608 1610 4801 1
2 1 1612 1614 4802 1
2 1 1616 1618 4803 1
2 1 1620 1622 4804 1
2 1 1624 1626 4805 1
2 1 1628 1630 4806 1
2 1 1632 1634 4807 1
2 1 1636 1638 4808 1
2 1 1640 1642 4809 1
2 1 1644 1646 4810 1
2 1 1648 1650 4811 1
2 1 1652 1654 4812 1
2 1 1656 1658 4813 1
2 1 1660 1662 4814 1
2 1 1664 1666 4815 1
2 1 1668 1670 4816 1
2 1 1672 1674 4817 1
2 1 1676 1678 4818 1
2 1 1680 1682 4819 1
2 1 1684 1686 4820 1
2 1 1688 1690 4821 1
2 1 1692 1694 4822 1
2 1 1696 1698 4823 1
2 1 1700 1702 4824 1
2 1 1704 1706 4825 1
2 1 1708 1710 4826 1
2 1 1712 1714 4827 1
2 1 1716 1718 4828 1
2 1 1720 1722 4829 1
2 1 1724 1726 4830 1
2 1 1728 1730 4831 1
2 1 1732 1734 4832 1
2 1 1736 1738 4833 1
2 1 1740 1742 4834 1
2 1 1744 1746 4835 1
2 1 1748 1750 4836 1
2 1 1752 1754 4837 1
2 1 1756 1758 4838 1
2 1 1760 1762 4839 1
2 1 1764 1766 4840 1
2 1 1768 1770 4841 1
2 1 1772 1774 4842 1
2 1 1776 1778 4843 1
2 1 1780 1782 4844 1
2 1 1784 1786 4845 1
2 1 1788 1790 4846 1
2 1 1792 1794 4847 1
2 1 1796 1798 4848 1
2 1 1800 1802 4849 1
2 1 1804 1806 4850 1
2 1 1808 1810 4851 1
2 1 1812 1814 4852 1
2 1 1816 1818 4853 1
2 1 1820 1822 4854 1
2 1 1824 1826 4855 1
2 1 1828 1830 4856 1
2 1 1832 1834 4857 1
2 1 1836 1838 4858 1
2 1 1840 1842 4859 1
2 1 1844 1846 4860 1
2 1 1848 1850 4861 1
2 1 1852 1854 4862 1
2 1 1856 1858 4863 1
2 1 1860 1862 4864 1
2 1 1864 1866 4865 1
2 1 1868 1870 4866 1
2 1 1872 1874 4867 1
2 1 1876 1878 4868 1
2 1 1880 1882 4869 1
2 1 1884 1886 4870 1
2 1 1888 1890 4871 1
2 1 1892 1894 4872 1
2 1 1896 1898 4873 1
2 1 1900 1902 4874 1
2 1 1904 1906 4875 1
2 1 1908 1910 4876 1
2 1 1912 1914 4877 1
2 1 1916 1918 4878 1
2 1 1920 1922 4879 1
2 1 1924 1926 4880 1
2 1 1928 1930 4881 1
2 1 1932 1934 4882 1
2 1 1936 1938 4883 1
2 1 1940 1942 4884 1
2 1 1944 1946 4885 1
2 1 1948 1950 4886 1
2 1 1952 1954 4887 1
2 1 1956 1958 4888 1
2 1 1960 1962 4889 1
2 1 1964 1966 4890 1
2 1 1968 1970 4891 1
2 1 1972 1974 4892 1
2 1 1976 1978 4893 1
2 1 1980 1982 4894 1
2 1 1984 1986 4895 1
2 1 1988 1990 4896 1
2 1 1992 1994 4897 1
2 1 1996 1998 4898 1
2 1 2000 2002 4899 1
2 1 2004 2006 4900 1
2 1 2008 2010 4901 1
2 1 2012 2014 4902 1
2 1 2016 2018 4903 1
2 1 2020 2022 4904 1
2 1 2024 2026 4905 1
2 1 2028 2030 4906 1
2 1 2032 2034 4907 1
2 1 2036 2038 4908 1
2 1 2040 2042 4909 1
2 1 2044 2046 4910 1
2 1 2048 2050 4911 1
2 1 2052 2054 4912 1
2 1 2056 2058 4913 1
2 1 2060 2062 4914 1
2 1 2064 2066 4915 1
2 1 2068 2070 4916 1
2 1 2072 2074 4917 1
2 1 2076 2078 4918 1
2 1 2080 2082 4919 1
2 1 2084 2086 4920 1
2 1 2088 2090 4921 1
2 1 2092 2094 4922 1
2 1 2096 2098 4923 1
2 1 2100 2102 4924 1
2 1 2104 2106 4925 1
2 1 2108 2110 4926 1
2 1 2112 2114 4927 1
2 1 2116 2118 4928 1
2 1 2120 2122 4929 1
2 1 2124 2126 4930 1
2 1 2128 2130 4931 1
2 1 2132 2134 4932 1
2 1 2136 2138 4933 1
2 1 2140 2142 4934 1
2 1 2144 2146 4935 1
2 1 2148 2150 4936 1
2 1 2152 2154 4937 1
2 1 2156 2158 4938 1
2 1 2160 2162 4939 1
2 1 2164 2166 4940 1
2 1 2168 2170 4941 1
2 1 2172 2174 4942 1
2 1 2176 2178 4943 1
2 1 2180 2182 4944 1
2 1 2184 2186 4945 1
2 1 2188 2190 4946 1
2 1 2192 2194 4947 1
2 1 2196 2198 4948 1
2 1 2200 2202 4949 1
2 1 2204 2206 4950 1
2 1 2208 2210 4951 1
2 1 2212 2214 4952 1
2 1 2216 2218 4953 1
2 1 2220 2222 4954 1
2 1 2224 2226 4955 1
2 1 2228 2230 4956 1
2 1 2232 2234 4957 1
2 1 2236 2238 4958 1
2 1 2240 2242 4959 1
2 1 2244 2246 4960 1
2 1 2248 2250 4961 1
2 1 2252 2254 4962 1
2 1 2256 2258 4963 1
2 1 2260 2262 4964 1
2 1 2264 2266 4965 1
2 1 2268 2270 4966 1
2 1 2272 2274 4967 1
2 1 2276 2278 4968 1
2 1 2280 2282 4969 1
2 1 2284 2286 4970 1
2 1 2288 2290 4971 1
2 1 2292 2294 4972 1
2 1 2296 2298 4973 1
2 1 2300 2302 4974 1
2 1 2304 2306 4975 1
2 1 2308 2310 4976 1
2 1 2312 2314 4977 1
2 1 2316 2318 4978 1
2 1 2320 2322 4979 1
2 1 2324 2326 4980 1
2 1 2328 2330 4981 1
2 1 2332 2334 4982 1
2 1 2336 2338 4983 1
2 1 2340 2342 4984 1
2 1 2344 2346 4985 1
2 1 2348 2350 4986 1
2 1 2352 2354 4987 1
2 1 2356 2358 4988 1
2 1 2360 2362 4989 1
2 1 2364 2366 4990 1
2 1 2368 2370 4991 1
2 1 2372 2374 4992 1
2 1 2376 2378 4993 1
2 1 2380 2382 4994 1
2 1 2384 2386 4995 1
2 1 2388 2390 4996 1
2 1 2392 2394 4997 1
2 1 2396 2398 4998 1
2 1 2400 2402 4999 1
2 1 2404 2406 5000 1
2 1 2408 2410 5001 1
2 1 2412 2414 5002 1
2 1 2416 2418 5003 1
2 1 2420 2422 5004 1
2 1 2424 2426 5005 1
2 1 2428 2430 5006 1
2 1 2432 2434 5007 1
2 1 2436 2438 5008 1
2 1 2440 2442 5009 1
2 1 2444 2446 5010 1
2 1 2448 2450 5011 1
2 1 2452 2454 5012 1
2 1 2456 2458 5013 1
2 1 2460 2462 5014 1
2 1 2464 2466 5015 1
2 1 2468 2470 5016 1
2 1 2472 2474 5017 1
2 1 2476 2478 5018 1
2 1 2480 2482 5019 1
2 1 2484 2486 5020 1
2 1 2488 2490 5021 1
2 1 2492 2494 5022 1
2 1 2496 2498 5023 1
2 1 2500 2502 5024 1
2 1 2504 2506 5025 1
2 1 2508 2510 5026 1
2 1 2512 2514 5027 1
2 1 2516 2518 5028 1
2 1 2520 2522 5029 1
2 1 2524 2526 5030 1
2 1 2528 2530 5031 1
2 1 2532 2534 5032 1
2 1 2536 2538 5033 1
2 1 2540 2542 5034 1
2 1 2544 2546 5035 1
2 1 2548 2550 5036 1
2 1 2552 2554 5037 1
2 1 2556 2558 5038 1
2 1 2560 2562 5039 1
2 1 2564 2566 5040 1
2 1 2568 2570 5041 1
2 1 2572 2574 5042 1
2 1 2576 2578 5043 1
2 1 2580 2582 5044 1
2 1 2584 2586 5045 1
2 1 2588 2590 5046 1
2 1 2592 2594 5047 1
2 1 2596 2598 5048 1
2 1 2600 2602 5049 1
2 1 2604 2606 5050 1
2 1 2608 2610 5051 1
2 1 2612 2614 5052 1
2 1 2616 2618 5053 1
2 1 2620 2622 5054 1
2 1 2624 2626 5055 1
2 1 2628 2630 5056 1
2 1 2632 2634 5057 1
2 1 2636 2638 5058 1
2 1 2640 2642 5059 1
2 1 2644 2646 5060 1
2 1 2648 2650 5061 1
2 1 2652 2654 5062 1
2 1 2656 2658 5063 1
2 1 2660 2662 5064 1
2 1 2664 2666 5065 1
2 1 2668 2670 5066 1
2 1 2672 2674 5067 1
2 1 2676 2678 5068 1
2 1 2680 2682 5069 1
2 1 2684 2686 5070 1
2 1 2688 2690 5071 1
2 1 2692 2694 5072 1
2 1 2696 2698 5073 1
2 1 2700 2702 5074 1
2 1 2704 2706 5075 1
2 1 2708 2710 5076 1
2 1 2712 2714 5077 1
2 1 2716 2718 5078 1
2 1 2720 2722 5079 1
2 1 2724 2726 5080 1
2 1 2728 2730 5081 1
2 1 2732 2734 5082 1
2 1 2736 2738 5083 1
2 1 2740 2742 5084 1
2 1 2744 2746 5085 1
2 1 2748 2750 5086 1
2 1 2752 2754 5087 1
2 1 2756 2758 5088 1
2 1 2760 2762 5089 1
2 1 2764 2766 5090 1
2 1 2768 2770 5091 1
2 1 2772 2774 5092 1
2 1 2776 2778 5093 1
2 1 2780 2782 5094 1
2 1 2784 2786 5095 1
2 1 2788 2790 5096 1
2 1 2792 2794 5097 1
2 1 2796 2798 5098 1
2 1 2800 2802 5099 1
2 1 2804 2806 5100 1
2 1 2808 2810 5101 1
2 1 2812 2814 5102 1
2 1 2816 2818 5103 1
2 1 2820 2822 5104 1
2 1 2824 2826 5105 1
2 1 2828 2830 5106 1
2 1 2832 2834 5107 1
2 1 2836 2838 5108 1
2 1 2840 2842 5109 1
2 1 2844 2846 5110 1
2 1 2848 2850 5111 1
2 1 2852 2854 5112 1
2 1 2856 2858 5113 1
2 1 2860 2862 5114 1
2 1 2864 2866 5115 1
2 1 2868 2870 5116 1
2 1 2872 2874 5117 1
2 1 2876 2878 5118 1
2 1 2880 2882 5119 1
2 1 2884 2886 5120 1
2 1 2888 2890 5121 1
2 1 2892 2894 5122 1
2 1 2896 2898 5123 1
2 1 2900 2902 5124 1
2 1 2904 2906 5125 1
2 1 2908 2910 5126 1
2 1 2912 2914 5127 1
2 1 2916 2918 5128 1
2 1 2920 2922 5129 1
2 1 2924 2926 5130 1
2 1 2928 2930 5131 1
2 1 2932 2934 5132 1
2 1 2936 2938 5133 1
2 1 2940 2942 5134 1
2 1 2944 2946 5135 1
2 1 2948 2950 5136 1
2 1 2952 2954 5137 1
2 1 2956 2958 5138 1
2 1 2960 2962 5139 1
2 1 2964 2966 5140 1
2 1 2968 2970 5141 1
2 1 2972 2974 5142 1
2 1 2976 2978 5143 1
2 1 2980 2982 5144 1
2 1 2984 2986 5145 1
2 1 2988 2990 5146 1
2 1 2992 2994 5147 1
2 1 2996 2998 5148 1
2 1 3000 3002 5149 1
2 1 3004 3006 5150 1
2 1 3008 3010 5151 1
2 1 3012 3014 5152 1
2 1 3016 3018 5153 1
2 1 3020 3022 5154 1
2 1 3024 3026 5155 1
2 1 3028 3030 5156 1
2 1 3032 3034 5157 1
2 1 3036 3038 5158 1
2 1 3040 3042 5159 1
2 1 3044 3046 5160 1
2 1 3048 3050 5161 1
2 1 3052 3054 5162 1
2 1 3056 3058 5163 1
2 1 3060 3062 5164 1
2 1 3064 3066 5165 1
2 1 3068 3070 5166 1
2 1 3072 3074 5167 1
2 1 3076 3078 5168 1
2 1 3080 3082 5169 1
2 1 3084 3086 5170 1
2 1 3088 3090 5171 1
2 1 3092 3094 5172 1
2 1 3096 3098 5173 1
2 1 3100 3102 5174 1
2 1 3104 3106 5175 1
2 1 3108 3110 5176 1
2 1 3112 3114 5177 1
2 1 3116 3118 5178 1
2 1 3120 3122 5179 1
2 1 3124 3126 5180 1
2 1 3128 3130 5181 1
2 1 3132 3134 5182 1
2 1 3136 3138 5183 1
2 1 3140 3142 5184 1
2 1 3144 3146 5185 1
2 1 3148 3150 5186 1
2 1 3152 3154 5187 1
2 1 3156 3158 5188 1
2 1 3160 3162 5189 1
2 1 3164 3166 5190 1
2 1 3168 3170 5191 1
2 1 3172 3174 5192 1
2 1 3176 3178 5193 1
2 1 3180 3182 5194 1
2 1 3184 3186 5195 1
2 1 3188 3190 5196 1
2 1 3192 3194 5197 1
2 1 3196 3198 5198 1
2 1 4799 4800 5199 1
2 1 4801 4802 5200 1
2 1 4803 4804 5201 1
2 1 4805 4806 5202 1
2 1 4807 4808 5203 1
2 1 4809 4810 5204 1
2 1 4811 4812 5205 1
2 1 4813 4814 5206 1
2 1 4815 4816 5207 1
2 1 4817 4818 5208 1
2 1 4819 4820 5209 1
2 1 4821 4822 5210 1
2 1 4823 4824 5211 1
2 1 4825 4826 5212 1
2 1 4827 4828 5213 1
2 1 4829 4830 5214 1
2 1 4831 4832 5215 1
2 1 4833 4834 5216 1
2 1 4835 4836 5217 1
2 1 4837 4838 5218 1
2 1 4839 4840 5219 1
2 1 4841 4842 5220 1
2 1 4843 4844 5221 1
2 1 4845 4846 5222 1
2 1 4847 4848 5223 1
2 1 4849 4850 5224 1
2 1 4851 4852 5225 1
2 1 4853 4854 5226 1
2 1 4855 4856 5227 1
2 1 4857 4858 5228 1
2 1 4859 4860 5229 1
2 1 4861 4862 5230 1
2 1 4863 4864 5231 1
2 1 4865 4866 5232 1
2 1 4867 4868 5233 1
2 1 4869 4870 5234 1
2 1 4871 4872 5235 1
2 1 4873 4874 5236 1
2 1 4875 4876 5237 1
2 1 4877 4878 5238 1
2 1 4879 4880 5239 1
2 1 4881 4882 5240 1
2 1 4883 4884 5241 1
2 1 4885 4886 5242 1
2 1 4887 4888 5243 1
2 1 4889 4890 5244 1
2 1 4891 4892 5245 1
2 1 4893 4894 5246 1
2 1 4895 4896 5247 1
2 1 4897 4898 5248 1
2 1 4899 4900 5249 1
2 1 4901 4902 5250 1
2 1 4903 4904 5251 1
2 1 4905 4906 5252 1
2 1 4907 4908 5253 1
2 1 4909 4910 5254 1
2 1 4911 4912 5255 1
2 1 4913 4914 5256 1
2 1 4915 4916 5257 1
2 1 4917 4918 5258 1
2 1 4919 4920 5259 1
2 1 4921 4922 5260 1
2 1 4923 4924 5261 1
2 1 4925 4926 5262 1
2 1 4927 4928 5263 1
2 1 4929 4930 5264 1
2 1 4931 4932 5265 1
2 1 4933 4934 5266 1
2 1 4935 4936 5267 1
2 1 4937 4938 5268 1
2 1 4939 4940 5269 1
2 1 4941 4942 5270 1
2 1 4943 4944 5271 1
2 1 4945 4946 5272 1
2 1 4947 4948 5273 1
2 1 4949 4950 5274 1
2 1 4951 4952 5275 1
2 1 4953 4954 5276 1
2 1 4955 4956 5277 1
2 1 4957 4958 5278 1
2 1 4959 4960 5279 1
2 1 4961 4962 5280 1
2 1 4963 4964 5281 1
2 1 4965 4966 5282 1
2 1 4967 4968 5283 1
2 1 4969 4970 5284 1
2 1 4971 4972 5285 1
2 1 4973 4974 5286 1
2 1 4975 4976 5287 1
2 1 4977 4978 5288 1
2 1 4979 4980 5289 1
2 1 4981 4982 5290 1
2 1 4983 4984 5291 1
2 1 4985 4986 5292 1
2 1 4987 4988 5293 1
2 1 4989 4990 5294 1
2 1 4991 4992 5295 1
2 1 4993 4994 5296 1
2 1 4995 4996 5297 1
2 1 4997 4998 5298 1
2 1 4999 5000 5299 1
2 1 5001 5002 5300 1
2 1 5003 5004 5301 1
2 1 5005 5006 5302 1
2 1 5007 5008 5303 1
2 1 5009 5010 5304 1
2 1 5011 5012 5305 1
2 1 5013 5014 5306 1
2 1 5015 5016 5307 1
2 1 5017 5018 5308 1
2 1 5019 5020 5309 1
2 1 5021 5022 5310 1
2 1 5023 5024 5311 1
2 1 5025 5026 5312 1
2 1 5027 5028 5313 1
2 1 5029 5030 5314 1
2 1 5031 5032 5315 1
2 1 5033 5034 5316 1
2 1 5035 5036 5317 1
2 1 5037 5038 5318 1
2 1 5039 5040 5319 1
2 1 5041 5042 5320 1
2 1 5043 5044 5321 1
2 1 5045 5046 5322 1
2 1 5047 5048 5323 1
2 1 5049 5050 5324 1
2 1 5051 5052 5325 1
2 1 5053 5054 5326 1
2 1 5055 5056 5327 1
2 1 5057 5058 5328 1
2 1 5059 5060 5329 1
2 1 5061 5062 5330 1
2 1 5063 5064 5331 1
2 1 5065 5066 5332 1
2 1 5067 5068 5333 1
2 1 5069 5070 5334 1
2 1 5071 5072 5335 1
2 1 5073 5074 5336 1
2 1 5075 5076 5337 1
2 1 5077 5078 5338 1
2 1 5079 5080 5339 1
2 1 5081 5082 5340 1
2 1 5083 5084 5341 1
2 1 5085 5086 5342 1
2 1 5087 5088 5343 1
2 1 5089 5090 5344 1
2 1 5091 5092 5345 1
2 1 5093 5094 5346 1
2 1 5095 5096 5347 1
2 1 5097 5098 5348 1
2 1 5099 5100 5349 1
2 1 5101 5102 5350 1
2 1 5103 5104 5351 1
2 1 5105 5106 5352 1
2 1 5107 5108 5353 1
2 1 5109 5110 5354 1
2 1 5111 5112 5355 1
2 1 5113 5114 5356 1
2 1 5115 5116 5357 1
2 1 5117 5118 5358 1
2 1 5119 5120 5359 1
2 1 5121 5122 5360 1
2 1 5123 5124 5361 1
2 1 5125 5126 5362 1
2 1 5127 5128 5363 1
2 1 5129 5130 5364 1
2 1 5131 5132 5365 1
2 1 5133 5134 5366 1
2 1 5135 5136 5367 1
2 1 5137 5138 5368 1
2 1 5139 5140 5369 1
2 1 5141 5142 5370 1
2 1 5143 5144 5371 1
2 1 5145 5146 5372 1
2 1 5147 5148 5373 1
2 1 5149 5150 5374 1
2 1 5151 5152 5375 1
2 1 5153 5154 5376 1
2 1 5155 5156 5377 1
2 1 5157 5158 5378 1
2 1 5159 5160 5379 1
2 1 5161 5162 5380 1
2 1 5163 5164 5381 1
2 1 5165 5166 5382 1
2 1 5167 5168 5383 1
2 1 5169 5170 5384 1
2 1 5171 5172 5385 1
2 1 5173 5174 5386 1
2 1 5175 5176 5387 1
2 1 5177 5178 5388 1
2 1 5179 5180 5389 1
2 1 5181 5182 5390 1
2 1 5183 5184 5391 1
2 1 5185 5186 5392 1
2 1 5187 5188 5393 1
2 1 5189 5190 5394 1
2 1 5191 5192 5395 1
2 1 5193 5194 5396 1
2 1 5195 5196 5397 1
2 1 5197 5198 5398 1
2 1 5199 5200 5399 1
2 1 5201 5202 5400 1
2 1 5203 5204 5401 1
2 1 5205 5206 5402 1
2 1 5207 5208 5403 1
2 1 5209 5210 5404 1
2 1 5211 5212 5405 1
2 1 5213 5214 5406 1
2 1 5215 5216 5407 1
2 1 5217 5218 5408 1
2 1 5219 5220 5409 1
2 1 5221 5222 5410 1
2 1 5223 5224 5411 1
2 1 5225 5226 5412 1
2 1 5227 5228 5413 1
2 1 5229 5230 5414 1
2 1 5231 5232 5415 1
2 1 5233 5234 5416 1
2 1 5235 5236 5417 1
2 1 5237 5238 5418 1
2 1 5239 5240 5419 1
2 1 5241 5242 5420 1
2 1 5243 5244 5421 1
2 1 5245 5246 5422 1
2 1 5247 5248 5423 1
2 1 5249 5250 5424 1
2 1 5251 5252 5425 1
2 1 5253 5254 5426 1
2 1 5255 5256 5427 1
2 1 5257 5258 5428 1
2 1 5259 5260 5429 1
2 1 5261 5262 5430 1
2 1 5263 5264 5431 1
2 1 5265 5266 5432 1
2 1 5267 5268 5433 1
2 1 5269 5270 5434 1
2 1 5271 5272 5435 1
2 1 5273 5274 5436 1
2 1 5275 5276 5437 1
2 1 5277 5278 5438 1
2 1 5279 5280 5439 1
2 1 5281 5282 5440 1
2 1 5283 5284 5441 1
2 1 5285 5286 5442 1
2 1 5287 5288 5443 1
2 1 5289 5290 5444 1
2 1 5291 5292 5445 1
2 1 5293 5294 5446 1
2 1 5295 5296 5447 1
2 1 5297 5298 5448 1
2 1 5299 5300 5449 1
2 1 5301 5302 5450 1
2 1 5303 5304 5451 1
2 1 5305 5306 5452 1
2 1 5307 5308 5453 1
2 1 5309 5310 5454 1
2 1 5311 5312 5455 1
2 1 5313 5314 5456 1
2 1 5315 5316 5457 1
2 1 5317 5318 5458 1
2 1 5319 5320 5459 1
2 1 5321 5322 5460 1
2 1 5323 5324 5461 1
2 1 5325 5326 5462 1
2 1 5327 5328 5463 1
2 1 5329 5330 5464 1
2 1 5331 5332 5465 1
2 1 5333 5334 5466 1
2 1 5335 5336 5467 1
2 1 5337 5338 5468 1
2 1 5339 5340 5469 1
2 1 5341 5342 5470 1
2 1 5343 5344 5471 1
2 1 5345 5346 5472 1
2 1 5347 5348 5473 1
2 1 5349 5350 5474 1
2 1 5351 5352 5475 1
2 1 5353 5354 5476 1
2 1 5355 5356 5477 1
2 1 5357 5358 5478 1
2 1 5359 5360 5479 1
2 1 5361 5362 5480 1
2 1 5363 5364 5481 1
2 1 5365 5366 5482 1
2 1 5367 5368 5483 1
2 1 5369 5370 5484 1
2 1 5371 5372 5485 1
2 1 5373 5374 5486 1
2 1 5375 5376 5487 1
2 1 5377 5378 5488 1
2 1 5379 5380 5489 1
2 1 5381 5382 5490 1
2 1 5383 5384 5491 1
2 1 5385 5386 5492 1
2 1 5387 5388 5493 1
2 1 5389 5390 5494 1
2 1 5391 5392 5495 1
2 1 5393 5394 5496 1
2 1 5395 5396 5497 1
2 1 5397 5398 5498 1
2 1 5399 5400 5499 1
2 1 5401 5402 5500 1
2 1 5403 5404 5501 1
2 1 5405 5406 5502 1
2 1 5407 5408 5503 1
2 1 5409 5410 5504 1
2 1 5411 5412 5505 1
2 1 5413 5414 5506 1
2 1 5415 5416 5507 1
2 1 5417 5418 5508 1
2 1 5419 5420 5509 1
2 1 5421 5422 5510 1
2 1 5423 5424 5511 1
2 1 5425 5426 5512 1
2 1 5427 5428 5513 1
2 1 5429 5430 5514 1
2 1 5431 5432 5515 1
2 1 5433 5434 5516 1
2 1 5435 5436 5517 1
2 1 5437 5438 5518 1
2 1 5439 5440 5519 1
2 1 5441 5442 5520 1
2 1 5443 5444 5521 1
2 1 5445 5446 5522 1
2 1 5447 5448 5523 1
2 1 5449 5450 5524 1
2 1 5451 5452 5525 1
2 1 5453 5454 5526 1
2 1 5455 5456 5527 1
2 1 5457 5458 5528 1
2 1 5459 5460 5529 1
2 1 5461 5462 5530 1
2 1 5463 5464 5531 1
2 1 5465 5466 5532 1
2 1 5467 5468 5533 1
2 1 5469 5470 5534 1
2 1 5471 5472 5535 1
2 1 5473 5474 5536 1
2 1 5475 5476 5537 1
2 1 5477 5478 5538 1
2 1 5479 5480 5539 1
2 1 5481 5482 5540 1
2 1 5483 5484 5541 1
2 1 5485 5486 5542 1
2 1 5487 5488 5543 1
2 1 5489 5490 5544 1
2 1 5491 5492 5545 1
2 1 5493 5494 5546 1
2 1 5495 5496 5547 1
2 1 5497 5498 5548 1
2 1 5499 5500 5549 1
2 1 5501 5502 5550 1
2 1 5503 5504 5551 1
2 1 5505 5506 5552 1
2 1 5507 5508 5553 1
2 1 5509 5510 5554 1
2 1 5511 5512 5555 1
2 1 5513 5514 5556 1
2 1 5515 5516 5557 1
2 1 5517 5518 5558 1
2 1 5519 5520 5559 1
2 1 5521 5522 5560 1
2 1 5523 5524 5561 1
2 1 5525 5526 5562 1
2 1 5527 5528 5563 1
2 1 5529 5530 5564 1
2 1 5531 5532 5565 1
2 1 5533 5534 5566 1
2 1 5535 5536 5567 1
2 1 5537 5538 5568 1
2 1 5539 5540 5569 1
2 1 5541 5542 5570 1
2 1 5543 5544 5571 1
2 1 5545 5546 5572 1
2 1 5547 5548 5573 1
2 1 5549 5550 5574 1
2 1 5551 5552 5575 1
2 1 5553 5554 5576 1
2 1 5555 5556 5577 1
2 1 5557 5558 5578 1
2 1 5559 5560 5579 1
2 1 5561 5562 5580 1
2 1 5563 5564 5581 1
2 1 5565 5566 5582 1
2 1 5567 5568 5583 1
2 1 5569 5570 5584 1
2 1 5571 5572 5585 1
2 1 5574 5575 5586 1
2 1 5576 5577 5587 1
2 1 5578 5579 5588 1
2 1 5580 5581 5589 1
2 1 5582 5583 5590 1
2 1 5584 5585 5591 1
2 1 5586 5587 5592 1
2 1 5588 5589 5593 1
2 1 5590 5591 5594 1
2 1 5573 5594 5595 1
2 1 5592 5593 5596 1
2 1 5595 5596 5597 1
2 1 4798 4798 5598 2
2 1 5597 800 5599 5
2 1 5599 5598 5600 6
2 1 1 3 5601 1
2 1 5 7 5602 1
2 1 9 11 5603 1
2 1 13 15 5604 1
2 1 17 19 5605 1
2 1 21 23 5606 1
2 1 25 27 5607 1
2 1 29 31 5608 1
2 1 33 35 5609 1
2 1 37 39 5610 1
2 1 41 43 5611 1
2 1 45 47 5612 1
2 1 49 51 5613 1
2 1 53 55 5614 1
2 1 57 59 5615 1
2 1 61 63 5616 1
2 1 65 67 5617 1
2 1 69 71 5618 1
2 1 73 75 5619 1
2 1 77 79 5620 1
2 1 81 83 5621 1
2 1 85 87 5622 1
2 1 89 91 5623 1
2 1 93 95 5624 1
2 1 97 99 5625 1
2 1 101 103 5626 1
2 1 105 107 5627 1
2 1 109 111 5628 1
2 1 113 115 5629 1
2 1 117 119 5630 1
2 1 121 123 5631 1
2 1 125 127 5632 1
2 1 129 131 5633 1
2 1 133 135 5634 1
2 1 137 139 5635 1
2 1 141 143 5636 1
2 1 145 147 5637 1
2 1 149 151 5638 1
2 1 153 155 5639 1
2 1 157 159 5640 1
2 1 161 163 5641 1
2 1 165 167 5642 1
2 1 169 171 5643 1
2 1 173 175 5644 1
2 1 177 179 5645 1
2 1 181 183 5646 1
2 1 185 187 5647 1
2 1 189 191 5648 1
2 1 193 195 5649 1
2 1 197 199 5650 1
2 1 201 203 5651 1
2 1 205 207 5652 1
2 1 209 211 5653 1
2 1 213 215 5654 1
2 1 217 219 5655 1
2 1 221 223 5656 1
2 1 225 227 5657 1
2 1 229 231 5658 1
2 1 233 235 5659 1
2 1 237 239 5660 1
2 1 241 243 5661 1
2 1 245 247 5662 1
2 1 249 251 5663 1
2 1 253 255 5664 1
2 1 257 259 5665 1
2 1 261 263 5666 1
2 1 265 267 5667 1
2 1 269 271 5668 1
2 1 273 275 5669 1
2 1 277 279 5670 1
2 1 281 283 5671 1
2 1 285 287 5672 1
2 1 289 291 5673 1
2 1 293 295 5674 1
2 1 297 299 5675 1
2 1 301 303 5676 1
2 1 305 307 5677 1
2 1 309 311 5678 1
2 1 313 315 5679 1
2 1 317 319 5680 1
2 1 321 323 5681 1
2 1 325 327 5682 1
2 1 329 331 5683 1
2 1 333 335 5684 1
2 1 337 339 5685 1
2 1 341 343 5686 1
2 1 345 347 5687 1
2 1 349 351 5688 1
2 1 353 355 5689 1
2 1 357 359 5690 1
2 1 361 363 5691 1
2 1 365 367 5692 1
2 1 369 371 5693 1
2 1 373 375 5694 1
2 1 377 379 5695 1
2 1 381 383 5696 1
2 1 385 387 5697 1
2 1 389 391 5698 1
2 1 393 395 5699 1
2 1 397 399 5700 1
2 1 401 403 5701 1
2 1 405 407 5702 1
2 1 409 411 5703 1
2 1 413 415 5704 1
2 1 417 419 5705 1
2 1 421 423 5706 1
2 1 425 427 5707 1
2 1 429 431 5708 1
2 1 433 435 5709 1
2 1 437 439 5710 1
2 1 441 443 5711 1
2 1 445 447 5712 1
2 1 449 451 5713 1
2 1 453 455 5714 1
2 1 457 459 5715 1
2 1 461 463 5716 1
2 1 465 467 5717 1
2 1 469 471 5718 1
2 1 473 475 5719 1
2 1 477 479 5720 1
2 1 481 483 5721 1
2 1 485 487 5722 1
2 1 489 491 5723 1
2 1 493 495 5724 1
2 1 497 499 5725 1
2 1 501 503 5726 1
2 1 505 507 5727 1
2 1 509 511 5728 1
2 1 513 515 5729 1
2 1 517 519 5730 1
2 1 521 523 5731 1
2 1 525 527 5732 1
2 1 529 531 5733 1
2 1 533 535 5734 1
2 1 537 539 5735 1
2 1 541 543 5736 1
2 1 545 547 5737 1
2 1 549 551 5738 1
2 1 553 555 5739 1
2 1 557 559 5740 1
2 1 561 563 5741 1
2 1 565 567 5742 1
2 1 569 571 5743 1
2 1 573 575 5744 1
2 1 577 579 5745 1
2 1 581 583 5746 1
2 1 585 587 5747 1
2 1 589 591 5748 1
2 1 593 595 5749 1
2 1 597 599 5750 1
2 1 601 603 5751 1
2 1 605 607 5752 1
2 1 609 611 5753 1
2 1 613 615 5754 1
2 1 617 619 5755 1
2 1 621 623 5756 1
2 1 625 627 5757 1
2 1 629 631 5758 1
2 1 633 635 5759 1
2 1 637 639 5760 1
2 1 641 643 5761 1
2 1 645 647 5762 1
2 1 649 651 5763 1
2 1 653 655 5764 1
2 1 657 659 5765 1
2 1 661 663 5766 1
2 1 665 667 5767 1
2 1 669 671 5768 1
2 1 673 675 5769 1
2 1 677 679 5770 1
2 1 681 683 5771 1
2 1 685 687 5772 1
2 1 689 691 5773 1
2 1 693 695 5774 1
2 1 697 699 5775 1
2 1 701 703 5776 1
2 1 705 707 5777 1
2 1 709 711 5778 1
2 1 713 715 5779 1
2 1 717 719 5780 1
2 1 721 723 5781 1
2 1 725 727 5782 1
2 1 729 731 5783 1
2 1 733 735 5784 1
2 1 737 739 5785 1
2 1 741 743 5786 1
2 1 745 747 5787 1
2 1 749 751 5788 1
2 1 753 755 5789 1
2 1 757 759 5790 1
2 1 761 763 5791 1
2 1 765 767 5792 1
2 1 769 771 5793 1
2 1 773 775 5794 1
2 1 777 779 5795 1
2 1 781 783 5796 1
2 1 785 787 5797 1
2 1 789 791 5798 1
2 1 793 795 5799 1
2 1 797 799 5800 1
2 1 801 803 5801 1
2 1 805 807 5802 1
2 1 809 811 5803 1
2 1 813 815 5804 1
2 1 817 819 5805 1
2 1 821 823 5806 1
2 1 825 827 5807 1
2 1 829 831 5808 1
2 1 833 835 5809 1
2 1 837 839 5810 1
2 1 841 843 5811 1
2 1 845 847 5812 1
2 1 849 851 5813 1
2 1 853 855 5814 1
2 1 857 859 5815 1
2 1 861 863 5816 1
2 1 865 867 5817 1
2 1 869 871 5818 1
2 1 873 875 5819 1
2 1 877 879 5820 1
2 1 881 883 5821 1
2 1 885 887 5822 1
2 1 889 891 5823 1
2 1 893 895 5824 1
2 1 897 899 5825 1
2 1 901 903 5826 1
2 1 905 907 5827 1
2 1 909 911 5828 1
2 1 913 915 5829 1
2 1 917 919 5830 1
2 1 921 923 5831 1
2 1 925 927 5832 1
2 1 929 931 5833 1
2 1 933 935 5834 1
2 1 937 939 5835 1
2 1 941 943 5836 1
2 1 945 947 5837 1
2 1 949 951 5838 1
2 1 953 955 5839 1
2 1 957 959 5840 1
2 1 961 963 5841 1
2 1 965 967 5842 1
2 1 969 971 5843 1
2 1 973 975 5844 1
2 1 977 979 5845 1
2 1 981 983 5846 1
2 1 985 987 5847 1
2 1 989 991 5848 1
2 1 993 995 5849 1
2 1 997 999 5850 1
2 1 1001 1003 5851 1
2 1 1005 1007 5852 1
2 1 1009 1011 5853 1
2 1 1013 1015 5854 1
2 1 1017 1019 5855 1
2 1 1021 1023 5856 1
2 1 1025 1027 5857 1
2 1 1029 1031 5858 1
2 1 1033 1035 5859 1
2 1 1037 1039 5860 1
2 1 1041 1043 5861 1
2 1 1045 1047 5862 1
2 1 1049 1051 5863 1
2 1 1053 1055 5864 1
2 1 1057 1059 5865 1
2 1 1061 1063 5866 1
2 1 1065 1067 5867 1
2 1 1069 1071 5868 1
2 1 1073 1075 5869 1
2 1 1077 1079 5870 1
2 1 1081 1083 5871 1
2 1 1085 1087 5872 1
2 1 1089 1091 5873 1
2 1 1093 1095 5874 1
2 1 1097 1099 5875 1
2 1 1101 1103 5876 1
2 1 1105 1107 5877 1
2 1 1109 1111 5878 1
2 1 1113 1115 5879 1
2 1 1117 1119 5880 1
2 1 1121 1123 5881 1
2 1 1125 1127 5882 1
2 1 1129 1131 5883 1
2 1 1133 1135 5884 1
2 1 1137 1139 5885 1
2 1 1141 1143 5886 1
2 1 1145 1147 5887 1
2 1 1149 1151 5888 1
2 1 1153 1155 5889 1
2 1 1157 1159 5890 1
2 1 1161 1163 5891 1
2 1 1165 1167 5892 1
2 1 1169 1171 5893 1
2 1 1173 1175 5894 1
2 1 1177 1179 5895 1
2 1 1181 1183 5896 1
2 1 1185 1187 5897 1
2 1 1189 1191 5898 1
2 1 1193 1195 5899 1
2 1 1197 1199 5900 1
2 1 1201 1203 5901 1
2 1 1205 1207 5902 1
2 1 1209 1211 5903 1
2 1 1213 1215 5904 1
2 1 1217 1219 5905 1
2 1 1221 1223 5906 1
2 1 1225 1227 5907 1
2 1 1229 1231 5908 1
2 1 1233 1235 5909 1
2 1 1237 1239 5910 1
2 1 1241 1243 5911 1
2 1 1245 1247 5912 1
2 1 1249 1251 5913 1
2 1 1253 1255 5914 1
2 1 1257 1259 5915 1
2 1 1261 1263 5916 1
2 1 1265 1267 5917 1
2 1 1269 1271 5918 1
2 1 1273 1275 5919 1
2 1 1277 1279 5920 1
2 1 1281 1283 5921 1
2 1 1285 1287 5922 1
2 1 1289 1291 5923 1
2 1 1293 1295 5924 1
2 1 1297 1299 5925 1
2 1 1301 1303 5926 1
2 1 1305 1307 5927 1
2 1 1309 1311 5928 1
2 1 1313 1315 5929 1
2 1 1317 1319 5930 1
2 1 1321 1323 5931 1
2 1 1325 1327 5932 1
2 1 1329 1331 5933 1
2 1 1333 1335 5934 1
2 1 1337 1339 5935 1
2 1 1341 1343 5936 1
2 1 1345 1347 5937 1
2 1 1349 1351 5938 1
2 1 1353 1355 5939 1
2 1 1357 1359 5940 1
2 1 1361 1363 5941 1
2 1 1365 1367 5942 1
2 1 1369 1371 5943 1
2 1 1373 1375 5944 1
2 1 1377 1379 5945 1
2 1 1381 1383 5946 1
2 1 1385 1387 5947 1
2 1 1389 1391 5948 1
2 1 1393 1395 5949 1
2 1 1397 1399 5950 1
2 1 1401 1403 5951 1
2 1 1405 1407 5952 1
2 1 1409 1411 5953 1
2 1 1413 1415 5954 1
2 1 1417 1419 5955 1
2 1 1421 1423 5956 1
2 1 1425 1427 5957 1
2 1 1429 1431 5958 1
2 1 1433 1435 5959 1
2 1 1437 1439 5960 1
2 1 1441 1443 5961 1
2 1 1445 1447 5962 1
2 1 1449 1451 5963 1
2 1 1453 1455 5964 1
2 1 1457 1459 5965 1
2 1 1461 1463 5966 1
2 1 1465 1467 5967 1
2 1 1469 1471 5968 1
2 1 1473 1475 5969 1
2 1 1477 1479 5970 1
2 1 1481 1483 5971 1
2 1 1485 1487 5972 1
2 1 1489 1491 5973 1
2 1 1493 1495 5974 1
2 1 1497 1499 5975 1
2 1 1501 1503 5976 1
2 1 1505 1507 5977 1
2 1 1509 1511 5978 1
2 1 1513 1515 5979 1
2 1 1517 1519 5980 1
2 1 1521 1523 5981 1
2 1 1525 1527 5982 1
2 1 1529 1531 5983 1
2 1 1533 1535 5984 1
2 1 1537 1539 5985 1
2 1 1541 1543 5986 1
2 1 1545 1547 5987 1
2 1 1549 1551 5988 1
2 1 1553 1555 5989 1
2 1 1557 1559 5990 1
2 1 1561 1563 5991 1
2 1 1565 1567 5992 1
2 1 1569 1571 5993 1
2 1 1573 1575 5994 1
2 1 1577 1579 5995 1
2 1 1581 1583 5996 1
2 1 1585 1587 5997 1
2 1 1589 1591 5998 1
2 1 1593 1595 5999 1
2 1 1597 1599 6000 1
2 1 5601 5602 6001 1
2 1 5603 5604 6002 1
2 1 5605 5606 6003 1
2 1 5607 5608 6004 1
2 1 5609 5610 6005 1
2 1 5611 5612 6006 1
2 1 5613 5614 6007 1
2 1 5615 5616 6008 1
2 1 5617 5618 6009 1
2 1 5619 5620 6010 1
2 1 5621 5622 6011 1
2 1 5623 5624 6012 1
2 1 5625 5626 6013 1
2 1 5627 5628 6014 1
2 1 5629 5630 6015 1
2 1 5631 5632 6016 1
2 1 5633 5634 6017 1
2 1 5635 5636 6018 1
2 1 5637 5638 6019 1
2 1 5639 5640 6020 1
2 1 5641 5642 6021 1
2 1 5643 5644 6022 1
2 1 5645 5646 6023 1
2 1 5647 5648 6024 1
2 1 5649 5650 6025 1
2 1 5651 5652 6026 1
2 1 5653 5654 6027 1
2 1 5655 5656 6028 1
2 1 5657 5658 6029 1
2 1 5659 5660 6030 1
2 1 5661 5662 6031 1
2 1 5663 5664 6032 1
2 1 5665 5666 6033 1
2 1 5667 5668 6034 1
2 1 5669 5670 6035 1
2 1 5671 5672 6036 1
2 1 5673 5674 6037 1
2 1 5675 5676 6038 1
2 1 5677 5678 6039 1
2 1 5679 5680 6040 1
2 1 5681 5682 6041 1
2 1 5683 5684 6042 1
2 1 5685 5686 6043 1
2 1 5687 5688 6044 1
2 1 5689 5690 6045 1
2 1 5691 5692 6046 1
2 1 5693 5694 6047 1
2 1 5695 5696 6048 1
2 1 5697 5698 6049 1
2 1 5699 5700 6050 1
2 1 5701 5702 6051 1
2 1 5703 5704 6052 1
2 1 5705 5706 6053 1
2 1 5707 5708 6054 1
2 1 5709 5710 6055 1
2 1 5711 5712 6056 1
2 1 5713 5714 6057 1
2 1 5715 5716 6058 1
2 1 5717 5718 6059 1
2 1 5719 5720 6060 1
2 1 5721 5722 6061 1
2 1 5723 5724 6062 1
2 1 5725 5726 6063 1
2 1 5727 5728 6064 1
2 1 5729 5730 6065 1
2 1 5731 5732 6066 1
2 1 5733 5734 6067 1
2 1 5735 5736 6068 1
2 1 5737 5738 6069 1
2 1 5739 5740 6070 1
2 1 5741 5742 6071 1
2 1 5743 5744 6072 1
2 1 5745 5746 6073 1
2 1 5747 5748 6074 1
2 1 5749 5750 6075 1
2 1 5751 5752 6076 1
2 1 5753 5754 6077 1
2 1 5755 5756 6078 1
2 1 5757 5758 6079 1
2 1 5759 5760 6080 1
2 1 5761 5762 6081 1
2 1 5763 5764 6082 1
2 1 5765 5766 6083 1
2 1 5767 5768 6084 1
2 1 5769 5770 6085 1
2 1 5771 5772 6086 1
2 1 5773 5774 6087 1
2 1 5775 5776 6088 1
2 1 5777 5778 6089 1
2 1 5779 5780 6090 1
2 1 5781 5782 6091 1
2 1 5783 5784 6092 1
2 1 5785 5786 6093 1
2 1 5787 5788 6094 1
2 1 5789 5790 6095 1
2 1 5791 5792 6096 1
2 1 5793 5794 6097 1
2 1 5795 5796 6098 1
2 1 5797 5798 6099 1
2 1 5799 5800 6100 1
2 1 5801 5802 6101 1
2 1 5803 5804 6102 1
2 1 5805 5806 6103 1
2 1 5807 5808 6104 1
2 1 5809 5810 6105 1
2 1 5811 5812 6106 1
2 1 5813 5814 6107 1
2 1 5815 5816 6108 1
2 1 5817 5818 6109 1
2 1 5819 5820 6110 1
2 1 5821 5822 6111 1
2 1 5823 5824 6112 1
2 1 5825 5826 6113 1
2 1 5827 5828 6114 1
2 1 5829 5830 6115 1
2 1 5831 5832 6116 1
2 1 5833 5834 6117 1
2 1 5835 5836 6118 1
2 1 5837 5838 6119 1
2 1 5839 5840 6120 1
2 1 5841 5842 6121 1
2 1 5843 5844 6122 1
2 1 5845 5846 6123 1
2 1 5847 5848 6124 1
2 1 5849 5850 6125 1
2 1 5851 5852 6126 1
2 1 5853 5854 6127 1
2 1 5855 5856 6128 1
2 1 5857 5858 6129 1
2 1 5859 5860 6130 1
2 1 5861 5862 6131 1
2 1 5863 5864 6132 1
2 1 5865 5866 6133 1
2 1 5867 5868 6134 1
2 1 5869 5870 6135 1
2 1 5871 5872 6136 1
2 1 5873 5874 6137 1
2 1 5875 5876 6138 1
2 1 5877 5878 6139 1
2 1 5879 5880 6140 1
2 1 5881 5882 6141 1
2 1 5883 5884 6142 1
2 1 5885 5886 6143 1
2 1 5887 5888 6144 1
2 1 5889 5890 6145 1
2 1 5891 5892 6146 1
2 1 5893 5894 6147 1
2 1 5895 5896 6148 1
2 1 5897 5898 6149 1
2 1 5899 5900 6150 1
2 1 5901 5902 6151 1
2 1 5903 5904 6152 1
2 1 5905 5906 6153 1
2 1 5907 5908 6154 1
2 1 5909 5910 6155 1
2 1 5911 5912 6156 1
2 1 5913 5914 6157 1
2 1 5915 5916 6158 1
2 1 5917 5918 6159 1
2 1 5919 5920 6160 1
2 1 5921 5922 6161 1
2 1 5923 5924 6162 1
2 1 5925 5926 6163 1
2 1 5927 5928 6164 1
2 1 5929 5930 6165 1
2 1 5931 5932 6166 1
2 1 5933 5934 6167 1
2 1 5935 5936 6168 1
2 1 5937 5938 6169 1
2 1 5939 5940 6170 1
2 1 5941 5942 6171 1
2 1 5943 5944 6172 1
2 1 5945 5946 6173 1
2 1 5947 5948 6174 1
2 1 5949 5950 6175 1
2 1 5951 5952 6176 1
2 1 5953 5954 6177 1
2 1 5955 5956 6178 1
2 1 5957 5958 6179 1
2 1 5959 5960 6180 1
2 1 5961 5962 6181 1
2 1 5963 5964 6182 1
2 1 5965 5966 6183 1
2 1 5967 5968 6184 1
2 1 5969 5970 6185 1
2 1 5971 5972 6186 1
2 1 5973 5974 6187 1
2 1 5975 5976 6188 1
2 1 5977 5978 6189 1
2 1 5979 5980 6190 1
2 1 5981 5982 6191 1
2 1 5983 5984 6192 1
2 1 5985 5986 6193 1
2 1 5987 5988 6194 1
2 1 5989 5990 6195 1
2 1 5991 5992 6196 1
2 1 5993 5994 6197 1
2 1 5995 5996 6198 1
2 1 5997 5998 6199 1
2 1 5999 6000 6200 1
2 1 6001 6002 6201 1
2 1 6003 6004 6202 1
2 1 6005 6006 6203 1
2 1 6007 6008 6204 1
2 1 6009 6010 6205 1
2 1 6011 6012 6206 1
2 1 6013 6014 6207 1
2 1 6015 6016 6208 1
2 1 6017 6018 6209 1
2 1 6019 6020 6210 1
2 1 6021 6022 6211 1
2 1 6023 6024 6212 1
2 1 6025 6026 6213 1
2 1 6027 6028 6214 1
2 1 6029 6030 6215 1
2 1 6031 6032 6216 1
2 1 6033 6034 6217 1
2 1 6035 6036 6218 1
2 1 6037 6038 6219 1
2 1 6039 6040 6220 1
2 1 6041 6042 6221 1
2 1 6043 6044 6222 1
2 1 6045 6046 6223 1
2 1 6047 6048 6224 1
2 1 6049 6050 6225 1
2 1 6051 6052 6226 1
2 1 6053 6054 6227 1
2 1 6055 6056 6228 1
2 1 6057 6058 6229 1
2 1 6059 6060 6230 1
2 1 6061 6062 6231 1
2 1 6063 6064 6232 1
2 1 6065 6066 6233 1
2 1 6067 6068 6234 1
2 1 6069 6070 6235 1
2 1 6071 6072 6236 1
2 1 6073 6074 6237 1
2 1 6075 6076 6238 1
2 1 6077 6078 6239 1
2 1 6079 6080 6240 1
2 1 6081 6082 6241 1
2 1 6083 6084 6242 1
2 1 6085 6086 6243 1
2 1 6087 6088 6244 1
2 1 6089 6090 6245 1
2 1 6091 6092 6246 1
2 1 6093 6094 6247 1
2 1 6095 6096 6248 1
2 1 6097 6098 6249 1
2 1 6099 6100 6250 1
2 1 6101 6102 6251 1
2 1 6103 6104 6252 1
2 1 6105 6106 6253 1
2 1 6107 6108 6254 1
2 1 6109 6110 6255 1
2 1 6111 6112 6256 1
2 1 6113 6114 6257 1
2 1 6115 6116 6258 1
2 1 6117 6118 6259 1
2 1 6119 6120 6260 1
2 1 6121 6122 6261 1
2 1 6123 6124 6262 1
2 1 6125 6126 6263 1
2 1 6127 6128 6264 1
2 1 6129 6130 6265 1
2 1 6131 6132 6266 1
2 1 6133 6134 6267 1
2 1 6135 6136 6268 1
2 1 6137 6138 6269 1
2 1 6139 6140 6270 1
2 1 6141 6142 6271 1
2 1 6143 6144 6272 1
2 1 6145 6146 6273 1
2 1 6147 6148 6274 1
2 1 6149 6150 6275 1
2 1 6151 6152 6276 1
2 1 6153 6154 6277 1
2 1 6155 6156 6278 1
2 1 6157 6158 6279 1
2 1 6159 6160 6280 1
2 1 6161 6162 6281 1
2 1 6163 6164 6282 1
2 1 6165 6166 6283 1
2 1 6167 6168 6284 1
2 1 6169 6170 6285 1
2 1 6171 6172 6286 1
2 1 6173 6174 6287 1
2 1 6175 6176 6288 1
2 1 6177 6178 6289 1
2 1 6179 6180 6290 1
2 1 6181 6182 6291 1
2 1 6183 6184 6292 1
2 1 6185 6186 6293 1
2 1 6187 6188 6294 1
2 1 6189 6190 6295 1
2 1 6191 6192 6296 1
2 1 6193 6194 6297 1
2 1 6195 6196 6298 1
2 1 6197 6198 6299 1
2 1 6199 6200 6300 1
2 1 6201 6202 6301 1
2 1 6203 6204 6302 1
2 1 6205 6206 6303 1
2 1 6207 6208 6304 1
2 1 6209 6210 6305 1
2 1 6211 6212 6306 1
2 1 6213 6214 6307 1
2 1 6215 6216 6308 1
2 1 6217 6218 6309 1
2 1 6219 6220 6310 1
2 1 6221 6222 6311 1
2 1 6223 6224 6312 1
2 1 6225 6226 6313 1
2 1 6227 6228 6314 1
2 1 6229 6230 6315 1
2 1 6231 6232 6316 1
2 1 6233 6234 6317 1
2 1 6235 6236 6318 1
2 1 6237 6238 6319 1
2 1 6239 6240 6320 1
2 1 6241 6242 6321 1
2 1 6243 6244 6322 1
2 1 6245 6246 6323 1
2 1 6247 6248 6324 1
2 1 6249 6250 6325 1
2 1 6251 6252 6326 1
2 1 6253 6254 6327 1
2 1 6255 6256 6328 1
2 1 6257 6258 6329 1
2 1 6259 6260 6330 1
2 1 6261 6262 6331 1
2 1 6263 6264 6332 1
2 1 6265 6266 6333 1
2 1 6267 6268 6334 1
2 1 6269 6270 6335 1
2 1 6271 6272 6336 1
2 1 6273 6274 6337 1
2 1 6275 6276 6338 1
2 1 6277 6278 6339 1
2 1 6279 6280 6340 1
2 1 6281 6282 6341 1
2 1 6283 6284 6342 1
2 1 6285 6286 6343 1
2 1 6287 6288 6344 1
2 1 6289 6290 6345 1
2 1 6291 6292 6346 1
2 1 6293 6294 6347 1
2 1 6295 6296 6348 1
2 1 6297 6298 6349 1
2 1 6299 6300 6350 1
2 1 6301 6302 6351 1
2 1 6303 6304 6352 1
2 1 6305 6306 6353 1
2 1 6307 6308 6354 1
2 1 6309 6310 6355 1
2 1 6311 6312 6356 1
2 1 6313 6314 6357 1
2 1 6315 6316 6358 1
2 1 6317 6318 6359 1
2 1 6319 6320 6360 1
2 1 6321 6322 6361 1
2 1 6323 6324 6362 1
2 1 6325 6326 6363 1
2 1 6327 6328 6364 1
2 1 6329 6330 6365 1
2 1 6331 6332 6366 1
2 1 6333 6334 6367 1
2 1 6335 6336 6368 1
2 1 6337 6338 6369 1
2 1 6339 6340 6370 1
2 1 6341 6342 6371 1
2 1 6343 6344 6372 1
2 1 6345 6346 6373 1
2 1 6347 6348 6374 1
2 1 6349 6350 6375 1
2 1 6351 6352 6376 1
2 1 6353 6354 6377 1
2 1 6355 6356 6378 1
2 1 6357 6358 6379 1
2 1 6359 6360 6380 1
2 1 6361 6362 6381 1
2 1 6363 6364 6382 1
2 1 6365 6366 6383 1
2 1 6367 6368 6384 1
2 1 6369 6370 6385 1
2 1 6371 6372 6386 1
2 1 6373 6374 6387 1
2 1 6376 6377 6388 1
2 1 6378 6379 6389 1
2 1 6380 6381 6390 1
2 1 6382 6383 6391 1
2 1 6384 6385 6392 1
2 1 6386 6387 6393 1
2 1 6388 6389 6394 1
2 1 6390 6391 6395 1
2 1 6392 6393 6396 1
2 1 6375 6396 6397 1
2 1 6394 6395 6398 1
2 1 6397 6398 6399 1
2 1 1601 1603 6400 1
2 1 1605 1607 6401 1
2 1 1609 1611 6402 1
2 1 1613 1615 6403 1
2 1 1617 1619 6404 1
2 1 1621 1623 6405 1
2 1 1625 1627 6406 1
2 1 1629 1631 6407 1
2 1 1633 1635 6408 1
2 1 1637 1639 6409 1
2 1 1641 1643 6410 1
2 1 1645 1647 6411 1
2 1 1649 1651 6412 1
2 1 1653 1655 6413 1
2 1 1657 1659 6414 1
2 1 1661 1663 6415 1
2 1 1665 1667 6416 1
2 1 1669 1671 6417 1
2 1 1673 1675 6418 1
2 1 1677 1679 6419 1
2 1 1681 1683 6420 1
2 1 1685 1687 6421 1
2 1 1689 1691 6422 1
2 1 1693 1695 6423 1
2 1 1697 1699 6424 1
2 1 1701 1703 6425 1
2 1 1705 1707 6426 1
2 1 1709 1711 6427 1
2 1 1713 1715 6428 1
2 1 1717 1719 6429 1
2 1 1721 1723 6430 1
2 1 1725 1727 6431 1
2 1 1729 1731 6432 1
2 1 1733 1735 6433 1
2 1 1737 1739 6434 1
2 1 1741 1743 6435 1
2 1 1745 1747 6436 1
2 1 1749 1751 6437 1
2 1 1753 1755 6438 1
2 1 1757 1759 6439 1
2 1 1761 1763 6440 1
2 1 1765 1767 6441 1
2 1 1769 1771 6442 1
2 1 1773 1775 6443 1
2 1 1777 1779 6444 1
2 1 1781 1783 6445 1
2 1 1785 1787 6446 1
2 1 1789 1791 6447 1
2 1 1793 1795 6448 1
2 1 1797 1799 6449 1
2 1 1801 1803 6450 1
2 1 1805 1807 6451 1
2 1 1809 1811 6452 1
2 1 1813 1815 6453 1
2 1 1817 1819 6454 1
2 1 1821 1823 6455 1
2 1 1825 1827 6456 1
2 1 1829 1831 6457 1
2 1 1833 1835 6458 1
2 1 1837 1839 6459 1
2 1 1841 1843 6460 1
2 1 1845 1847 6461 1
2 1 1849 1851 6462 1
2 1 1853 1855 6463 1
2 1 1857 1859 6464 1
2 1 1861 1863 6465 1
2 1 1865 1867 6466 1
2 1 1869 1871 6467 1
2 1 1873 1875 6468 1
2 1 1877 1879 6469 1
2 1 1881 1883 6470 1
2 1 1885 1887 6471 1
2 1 1889 1891 6472 1
2 1 1893 1895 6473 1
2 1 1897 1899 6474 1
2 1 1901 1903 6475 1
2 1 1905 1907 6476 1
2 1 1909 1911 6477 1
2 1 1913 1915 6478 1
2 1 1917 1919 6479 1
2 1 1921 1923 6480 1
2 1 1925 1927 6481 1
2 1 1929 1931 6482 1
2 1 1933 1935 6483 1
2 1 1937 1939 6484 1
2 1 1941 1943 6485 1
2 1 1945 1947 6486 1
2 1 1949 1951 6487 1
2 1 1953 1955 6488 1
2 1 1957 1959 6489 1
2 1 1961 1963 6490 1
2 1 1965 1967 6491 1
2 1 1969 1971 6492 1
2 1 1973 1975 6493 1
2 1 1977 1979 6494 1
2 1 1981 1983 6495 1
2 1 1985 1987 6496 1
2 1 1989 1991 6497 1
2 1 1993 1995 6498 1
2 1 1997 1999 6499 1
2 1 2001 2003 6500 1
2 1 2005 2007 6501 1
2 1 2009 2011 6502 1
2 1 2013 2015 6503 1
2 1 2017 2019 6504 1
2 1 2021 2023 6505 1
2 1 2025 2027 6506 1
2 1 2029 2031 6507 1
2 1 2033 2035 6508 1
2 1 2037 2039 6509 1
2 1 2041 2043 6510 1
2 1 2045 2047 6511 1
2 1 2049 2051 6512 1
2 1 2053 2055 6513 1
2 1 2057 2059 6514 1
2 1 2061 2063 6515 1
2 1 2065 2067 6516 1
2 1 2069 2071 6517 1
2 1 2073 2075 6518 1
2 1 2077 2079 6519 1
2 1 2081 2083 6520 1
2 1 2085 2087 6521 1
2 1 2089 2091 6522 1
2 1 2093 2095 6523 1
2 1 2097 2099 6524 1
2 1 2101 2103 6525 1
2 1 2105 2107 6526 1
2 1 2109 2111 6527 1
2 1 2113 2115 6528 1
2 1 2117 2119 6529 1
2 1 2121 2123 6530 1
2 1 2125 2127 6531 1
2 1 2129 2131 6532 1
2 1 2133 2135 6533 1
2 1 2137 2139 6534 1
2 1 2141 2143 6535 1
2 1 2145 2147 6536 1
2 1 2149 2151 6537 1
2 1 2153 2155 6538 1
2 1 2157 2159 6539 1
2 1 2161 2163 6540 1
2 1 2165 2167 6541 1
2 1 2169 2171 6542 1
2 1 2173 2175 6543 1
2 1 2177 2179 6544 1
2 1 2181 2183 6545 1
2 1 2185 2187 6546 1
2 1 2189 2191 6547 1
2 1 2193 2195 6548 1
2 1 2197 2199 6549 1
2 1 2201 2203 6550 1
2 1 2205 2207 6551 1
2 1 2209 2211 6552 1
2 1 2213 2215 6553 1
2 1 2217 2219 6554 1
2 1 2221 2223 6555 1
2 1 2225 2227 6556 1
2 1 2229 2231 6557 1
2 1 2233 2235 6558 1
2 1 2237 2239 6559 1
2 1 2241 2243 6560 1
2 1 2245 2247 6561 1
2 1 2249 2251 6562 1
2 1 2253 2255 6563 1
2 1 2257 2259 6564 1
2 1 2261 2263 6565 1
2 1 2265 2267 6566 1
2 1 2269 2271 6567 1
2 1 2273 2275 6568 1
2 1 2277 2279 6569 1
2 1 2281 2283 6570 1
2 1 2285 2287 6571 1
2 1 2289 2291 6572 1
2 1 2293 2295 6573 1
2 1 2297 2299 6574 1
2 1 2301 2303 6575 1
2 1 2305 2307 6576 1
2 1 2309 2311 6577 1
2 1 2313 2315 6578 1
2 1 2317 2319 6579 1
2 1 2321 2323 6580 1
2 1 2325 2327 6581 1
2 1 2329 2331 6582 1
2 1 2333 2335 6583 1
2 1 2337 2339 6584 1
2 1 2341 2343 6585 1
2 1 2345 2347 6586 1
2 1 2349 2351 6587 1
2 1 2353 2355 6588 1
2 1 2357 2359 6589 1
2 1 2361 2363 6590 1
2 1 2365 2367 6591 1
2 1 2369 2371 6592 1
2 1 2373 2375 6593 1
2 1 2377 2379 6594 1
2 1 2381 2383 6595 1
2 1 2385 2387 6596 1
2 1 2389 2391 6597 1
2 1 2393 2395 6598 1
2 1 2397 2399 6599 1
2 1 2401 2403 6600 1
2 1 2405 2407 6601 1
2 1 2409 2411 6602 1
2 1 2413 2415 6603 1
2 1 2417 2419 6604 1
2 1 2421 2423 6605 1
2 1 2425 2427 6606 1
2 1 2429 2431 6607 1
2 1 2433 2435 6608 1
2 1 2437 2439 6609 1
2 1 2441 2443 6610 1
2 1 2445 2447 6611 1
2 1 2449 2451 6612 1
2 1 2453 2455 6613 1
2 1 2457 2459 6614 1
2 1 2461 2463 6615 1
2 1 2465 2467 6616 1
2 1 2469 2471 6617 1
2 1 2473 2475 6618 1
2 1 2477 2479 6619 1
2 1 2481 2483 6620 1
2 1 2485 2487 6621 1
2 1 2489 2491 6622 1
2 1 2493 2495 6623 1
2 1 2497 2499 6624 1
2 1 2501 2503 6625 1
2 1 2505 2507 6626 1
2 1 2509 2511 6627 1
2 1 2513 2515 6628 1
2 1 2517 2519 6629 1
2 1 2521 2523 6630 1
2 1 2525 2527 6631 1
2 1 2529 2531 6632 1
2 1 2533 2535 6633 1
2 1 2537 2539 6634 1
2 1 2541 2543 6635 1
2 1 2545 2547 6636 1
2 1 2549 2551 6637 1
2 1 2553 2555 6638 1
2 1 2557 2559 6639 1
2 1 2561 2563 6640 1
2 1 2565 2567 6641 1
2 1 2569 2571 6642 1
2 1 2573 2575 6643 1
2 1 2577 2579 6644 1
2 1 2581 2583 6645 1
2 1 2585 2587 6646 1
2 1 2589 2591 6647 1
2 1 2593 2595 6648 1
2 1 2597 2599 6649 1
2 1 2601 2603 6650 1
2 1 2605 2607 6651 1
2 1 2609 2611 6652 1
2 1 2613 2615 6653 1
2 1 2617 2619 6654 1
2 1 2621 2623 6655 1
2 1 2625 2627 6656 1
2 1 2629 2631 6657 1
2 1 2633 2635 6658 1
2 1 2637 2639 6659 1
2 1 2641 2643 6660 1
2 1 2645 2647 6661 1
2 1 2649 2651 6662 1
2 1 2653 2655 6663 1
2 1 2657 2659 6664 1
2 1 2661 2663 6665 1
2 1 2665 2667 6666 1
2 1 2669 2671 6667 1
2 1 2673 2675 6668 1
2 1 2677 2679 6669 1
2 1 2681 2683 6670 1
2 1 2685 2687 6671 1
2 1 2689 2691 6672 1
2 1 2693 2695 6673 1
2 1 2697 2699 6674 1
2 1 2701 2703 6675 1
2 1 2705 2707 6676 1
2 1 2709 2711 6677 1
2 1 2713 2715 6678 1
2 1 2717 2719 6679 1
2 1 2721 2723 6680 1
2 1 2725 2727 6681 1
2 1 2729 2731 6682 1
2 1 2733 2735 6683 1
2 1 2737 2739 6684 1
2 1 2741 2743 6685 1
2 1 2745 2747 6686 1
2 1 2749 2751 6687 1
2 1 2753 2755 6688 1
2 1 2757 2759 6689 1
2 1 2761 2763 6690 1
2 1 2765 2767 6691 1
2 1 2769 2771 6692 1
2 1 2773 2775 6693 1
2 1 2777 2779 6694 1
2 1 2781 2783 6695 1
2 1 2785 2787 6696 1
2 1 2789 2791 6697 1
2 1 2793 2795 6698 1
2 1 2797 2799 6699 1
2 1 2801 2803 6700 1
2 1 2805 2807 6701 1
2 1 2809 2811 6702 1
2 1 2813 2815 6703 1
2 1 2817 2819 6704 1
2 1 2821 2823 6705 1
2 1 2825 2827 6706 1
2 1 2829 2831 6707 1
2 1 2833 2835 6708 1
2 1 2837 2839 6709 1
2 1 2841 2843 6710 1
2 1 2845 2847 6711 1
2 1 2849 2851 6712 1
2 1 2853 2855 6713 1
2 1 2857 2859 6714 1
2 1 2861 2863 6715 1
2 1 2865 2867 6716 1
2 1 2869 2871 6717 1
2 1 2873 2875 6718 1
2 1 2877 2879 6719 1
2 1 2881 2883 6720 1
2 1 2885 2887 6721 1
2 1 2889 2891 6722 1
2 1 2893 2895 6723 1
2 1 2897 2899 6724 1
2 1 2901 2903 6725 1
2 1 2905 2907 6726 1
2 1 2909 2911 6727 1
2 1 2913 2915 6728 1
2 1 2917 2919 6729 1
2 1 2921 2923 6730 1
2 1 2925 2927 6731 1
2 1 2929 2931 6732 1
2 1 2933 2935 6733 1
2 1 2937 2939 6734 1
2 1 2941 2943 6735 1
2 1 2945 2947 6736 1
2 1 2949 2951 6737 1
2 1 2953 2955 6738 1
2 1 2957 2959 6739 1
2 1 2961 2963 6740 1
2 1 2965 2967 6741 1
2 1 2969 2971 6742 1
2 1 2973 2975 6743 1
2 1 2977 2979 6744 1
2 1 2981 2983 6745 1
2 1 2985 2987 6746 1
2 1 2989 2991 6747 1
2 1 2993 2995 6748 1
2 1 2997 2999 6749 1
2 1 3001 3003 6750 1
2 1 3005 3007 6751 1
2 1 3009 3011 6752 1
2 1 3013 3015 6753 1
2 1 3017 3019 6754 1
2 1 3021 3023 6755 1
2 1 3025 3027 6756 1
2 1 3029 3031 6757 1
2 1 3033 3035 6758 1
2 1 3037 3039 6759 1
2 1 3041 3043 6760 1
2 1 3045 3047 6761 1
2 1 3049 3051 6762 1
2 1 3053 3055 6763 1
2 1 3057 3059 6764 1
2 1 3061 3063 6765 1
2 1 3065 3067 6766 1
2 1 3069 3071 6767 1
2 1 3073 3075 6768 1
2 1 3077 3079 6769 1
2 1 3081 3083 6770 1
2 1 3085 3087 6771 1
2 1 3089 3091 6772 1
2 1 3093 3095 6773 1
2 1 3097 3099 6774 1
2 1 3101 3103 6775 1
2 1 3105 3107 6776 1
2 1 3109 3111 6777 1
2 1 3113 3115 6778 1
2 1 3117 3119 6779 1
2 1 3121 3123 6780 1
2 1 3125 3127 6781 1
2 1 3129 3131 6782 1
2 1 3133 3135 6783 1
2 1 3137 3139 6784 1
2 1 3141 3143 6785 1
2 1 3145 3147 6786 1
2 1 3149 3151 6787 1
2 1 3153 3155 6788 1
2 1 3157 3159 6789 1
2 1 3161 3163 6790 1
2 1 3165 3167 6791 1
2 1 3169 3171 6792 1
2 1 3173 3175 6793 1
2 1 3177 3179 6794 1
2 1 3181 3183 6795 1
2 1 3185 3187 6796 1
2 1 3189 3191 6797 1
2 1 3193 3195 6798 1
2 1 3197 3199 6799 1
2 1 6400 6401 6800 1
2 1 6402 6403 6801 1
2 1 6404 6405 6802 1
2 1 6406 6407 6803 1
2 1 6408 6409 6804 1
2 1 6410 6411 6805 1
2 1 6412 6413 6806 1
2 1 6414 6415 6807 1
2 1 6416 6417 6808 1
2 1 6418 6419 6809 1
2 1 6420 6421 6810 1
2 1 6422 6423 6811 1
2 1 6424 6425 6812 1
2 1 6426 6427 6813 1
2 1 6428 6429 6814 1
2 1 6430 6431 6815 1
2 1 6432 6433 6816 1
2 1 6434 6435 6817 1
2 1 6436 6437 6818 1
2 1 6438 6439 6819 1
2 1 6440 6441 6820 1
2 1 6442 6443 6821 1
2 1 6444 6445 6822 1
2 1 6446 6447 6823 1
2 1 6448 6449 6824 1
2 1 6450 6451 6825 1
2 1 6452 6453 6826 1
2 1 6454 6455 6827 1
2 1 6456 6457 6828 1
2 1 6458 6459 6829 1
2 1 6460 6461 6830 1
2 1 6462 6463 6831 1
2 1 6464 6465 6832 1
2 1 6466 6467 6833 1
2 1 6468 6469 6834 1
2 1 6470 6471 6835 1
2 1 6472 6473 6836 1
2 1 6474 6475 6837 1
2 1 6476 6477 6838 1
2 1 6478 6479 6839 1
2 1 6480 6481 6840 1
2 1 6482 6483 6841 1
2 1 6484 6485 6842 1
2 1 6486 6487 6843 1
2 1 6488 6489 6844 1
2 1 6490 6491 6845 1
2 1 6492 6493 6846 1
2 1 6494 6495 6847 1
2 1 6496 6497 6848 1
2 1 6498 6499 6849 1
2 1 6500 6501 6850 1
2 1 6502 6503 6851 1
2 1 6504 6505 6852 1
2 1 6506 6507 6853 1
2 1 6508 6509 6854 1
2 1 6510 6511 6855 1
2 1 6512 6513 6856 1
2 1 6514 6515 6857 1
2 1 6516 6517 6858 1
2 1 6518 6519 6859 1
2 1 6520 6521 6860 1
2 1 6522 6523 6861 1
2 1 6524 6525 6862 1
2 1 6526 6527 6863 1
2 1 6528 6529 6864 1
2 1 6530 6531 6865 1
2 1 6532 6533 6866 1
2 1 6534 6535 6867 1
2 1 6536 6537 6868 1
2 1 6538 6539 6869 1
2 1 6540 6541 6870 1
2 1 6542 6543 6871 1
2 1 6544 6545 6872 1
2 1 6546 6547 6873 1
2 1 6548 6549 6874 1
2 1 6550 6551 6875 1
2 1 6552 6553 6876 1
2 1 6554 6555 6877 1
2 1 6556 6557 6878 1
2 1 6558 6559 6879 1
2 1 6560 6561 6880 1
2 1 6562 6563 6881 1
2 1 6564 6565 6882 1
2 1 6566 6567 6883 1
2 1 6568 6569 6884 1
2 1 6570 6571 6885 1
2 1 6572 6573 6886 1
2 1 6574 6575 6887 1
2 1 6576 6577 6888 1
2 1 6578 6579 6889 1
2 1 6580 6581 6890 1
2 1 6582 6583 6891 1
2 1 6584 6585 6892 1
2 1 6586 6587 6893 1
2 1 6588 6589 6894 1
2 1 6590 6591 6895 1
2 1 6592 6593 6896 1
2 1 6594 6595 6897 1
2 1 6596 6597 6898 1
2 1 6598 6599 6899 1
2 1 6600 6601 6900 1
2 1 6602 6603 6901 1
2 1 6604 6605 6902 1
2 1 6606 6607 6903 1
2 1 6608 6609 6904 1
2 1 6610 6611 6905 1
2 1 6612 6613 6906 1
2 1 6614 6615 6907 1
2 1 6616 6617 6908 1
2 1 6618 6619 6909 1
2 1 6620 6621 6910 1
2 1 6622 6623 6911 1
2 1 6624 6625 6912 1
2 1 6626 6627 6913 1
2 1 6628 6629 6914 1
2 1 6630 6631 6915 1
2 1 6632 6633 6916 1
2 1 6634 6635 6917 1
2 1 6636 6637 6918 1
2 1 6638 6639 6919 1
2 1 6640 6641 6920 1
2 1 6642 6643 6921 1
2 1 6644 6645 6922 1
2 1 6646 6647 6923 1
2 1 6648 6649 6924 1
2 1 6650 6651 6925 1
2 1 6652 6653 6926 1
2 1 6654 6655 6927 1
2 1 6656 6657 6928 1
2 1 6658 6659 6929 1
2 1 6660 6661 6930 1
2 1 6662 6663 6931 1
2 1 6664 6665 6932 1
2 1 6666 6667 6933 1
2 1 6668 6669 6934 1
2 1 6670 6671 6935 1
2 1 6672 6673 6936 1
2 1 6674 6675 6937 1
2 1 6676 6677 6938 1
2 1 6678 6679 6939 1
2 1 6680 6681 6940 1
2 1 6682 6683 6941 1
2 1 6684 6685 6942 1
2 1 6686 6687 6943 1
2 1 6688 6689 6944 1
2 1 6690 6691 6945 1
2 1 6692 6693 6946 1
2 1 6694 6695 6947 1
2 1 6696 6697 6948 1
2 1 6698 6699 6949 1
2 1 6700 6701 6950 1
2 1 6702 6703 6951 1
2 1 6704 6705 6952 1
2 1 6706 6707 6953 1
2 1 6708 6709 6954 1
2 1 6710 6711 6955 1
2 1 6712 6713 6956 1
2 1 6714 6715 6957 1
2 1 6716 6717 6958 1
2 1 6718 6719 6959 1
2 1 6720 6721 6960 1
2 1 6722 6723 6961 1
2 1 6724 6725 6962 1
2 1 6726 6727 6963 1
2 1 6728 6729 6964 1
2 1 6730 6731 6965 1
2 1 6732 6733 6966 1
2 1 6734 6735 6967 1
2 1 6736 6737 6968 1
2 1 6738 6739 6969 1
2 1 6740 6741 6970 1
2 1 6742 6743 6971 1
2 1 6744 6745 6972 1
2 1 6746 6747 6973 1
2 1 6748 6749 6974 1
2 1 6750 6751 6975 1
2 1 6752 6753 6976 1
2 1 6754 6755 6977 1
2 1 6756 6757 6978 1
2 1 6758 6759 6979 1
2 1 6760 6761 6980 1
2 1 6762 6763 6981 1
2 1 6764 6765 6982 1
2 1 6766 6767 6983 1
2 1 6768 6769 6984 1
2 1 6770 6771 6985 1
2 1 6772 6773 6986 1
2 1 6774 6775 6987 1
2 1 6776 6777 6988 1
2 1 6778 6779 6989 1
2 1 6780 6781 6990 1
2 1 6782 6783 6991 1
2 1 6784 6785 6992 1
2 1 6786 6787 6993 1
2 1 6788 6789 6994 1
2 1 6790 6791 6995 1
2 1 6792 6793 6996 1
2 1 6794 6795 6997 1
2 1 6796 6797 6998 1
2 1 6798 6799 6999 1
2 1 6800 6801 7000 1
2 1 6802 6803 7001 1
2 1 6804 6805 7002 1
2 1 6806 6807 7003 1
2 1 6808 6809 7004 1
2 1 6810 6811 7005 1
2 1 6812 6813 7006 1
2 1 6814 6815 7007 1
2 1 6816 6817 7008 1
2 1 6818 6819 7009 1
2 1 6820 6821 7010 1
2 1 6822 6823 7011 1
2 1 6824 6825 7012 1
2 1 6826 6827 7013 1
2 1 6828 6829 7014 1
2 1 6830 6831 7015 1
2 1 6832 6833 7016 1
2 1 6834 6835 7017 1
2 1 6836 6837 7018 1
2 1 6838 6839 7019 1
2 1 6840 6841 7020 1
2 1 6842 6843 7021 1
2 1 6844 6845 7022 1
2 1 6846 6847 7023 1
2 1 6848 6849 7024 1
2 1 6850 6851 7025 1
2 1 6852 6853 7026 1
2 1 6854 6855 7027 1
2 1 6856 6857 7028 1
2 1 6858 6859 7029 1
2 1 6860 6861 7030 1
2 1 6862 6863 7031 1
2 1 6864 6865 7032 1
2 1 6866 6867 7033 1
2 1 6868 6869 7034 1
2 1 6870 6871 7035 1
2 1 6872 6873 7036 1
2 1 6874 6875 7037 1
2 1 6876 6877 7038 1
2 1 6878 6879 7039 1
2 1 6880 6881 7040 1
2 1 6882 6883 7041 1
2 1 6884 6885 7042 1
2 1 6886 6887 7043 1
2 1 6888 6889 7044 1
2 1 6890 6891 7045 1
2 1 6892 6893 7046 1
2 1 6894 6895 7047 1
2 1 6896 6897 7048 1
2 1 6898 6899 7049 1
2 1 6900 6901 7050 1
2 1 6902 6903 7051 1
2 1 6904 6905 7052 1
2 1 6906 6907 7053 1
2 1 6908 6909 7054 1
2 1 6910 6911 7055 1
2 1 6912 6913 7056 1
2 1 6914 6915 7057 1
2 1 6916 6917 7058 1
2 1 6918 6919 7059 1
2 1 6920 6921 7060 1
2 1 6922 6923 7061 1
2 1 6924 6925 7062 1
2 1 6926 6927 7063 1
2 1 6928 6929 7064 1
2 1 6930 6931 7065 1
2 1 6932 6933 7066 1
2 1 6934 6935 7067 1
2 1 6936 6937 7068 1
2 1 6938 6939 7069 1
2 1 6940 6941 7070 1
2 1 6942 6943 7071 1
2 1 6944 6945 7072 1
2 1 6946 6947 7073 1
2 1 6948 6949 7074 1
2 1 6950 6951 7075 1
2 1 6952 6953 7076 1
2 1 6954 6955 7077 1
2 1 6956 6957 7078 1
2 1 6958 6959 7079 1
2 1 6960 6961 7080 1
2 1 6962 6963 7081 1
2 1 6964 6965 7082 1
2 1 6966 6967 7083 1
2 1 6968 6969 7084 1
2 1 6970 6971 7085 1
2 1 6972 6973 7086 1
2 1 6974 6975 7087 1
2 1 6976 6977 7088 1
2 1 6978 6979 7089 1
2 1 6980 6981 7090 1
2 1 6982 6983 7091 1
2 1 6984 6985 7092 1
2 1 6986 6987 7093 1
2 1 6988 6989 7094 1
2 1 6990 6991 7095 1
2 1 6992 6993 7096 1
2 1 6994 6995 7097 1
2 1 6996 6997 7098 1
2 1 6998 6999 7099 1
2 1 7000 7001 7100 1
2 1 7002 7003 7101 1
2 1 7004 7005 7102 1
2 1 7006 7007 7103 1
2 1 7008 7009 7104 1
2 1 7010 7011 7105 1
2 1 7012 7013 7106 1
2 1 7014 7015 7107 1
2 1 7016 7017 7108 1
2 1 7018 7019 7109 1
2 1 7020 7021 7110 1
2 1 7022 7023 7111 1
2 1 7024 7025 7112 1
2 1 7026 7027 7113 1
2 1 7028 7029 7114 1
2 1 7030 7031 7115 1
2 1 7032 7033 7116 1
2 1 7034 7035 7117 1
2 1 7036 7037 7118 1
2 1 7038 7039 7119 1
2 1 7040 7041 7120 1
2 1 7042 7043 7121 1
2 1 7044 7045 7122 1
2 1 7046 7047 7123 1
2 1 7048 7049 7124 1
2 1 7050 7051 7125 1
2 1 7052 7053 7126 1
2 1 7054 7055 7127 1
2 1 7056 7057 7128 1
2 1 7058 7059 7129 1
2 1 7060 7061 7130 1
2 1 7062 7063 7131 1
2 1 7064 7065 7132 1
2 1 7066 7067 7133 1
2 1 7068 7069 7134 1
2 1 7070 7071 7135 1
2 1 7072 7073 7136 1
2 1 7074 7075 7137 1
2 1 7076 7077 7138 1
2 1 7078 7079 7139 1
2 1 7080 7081 7140 1
2 1 7082 7083 7141 1
2 1 7084 7085 7142 1
2 1 7086 7087 7143 1
2 1 7088 7089 7144 1
2 1 7090 7091 7145 1
2 1 7092 7093 7146 1
2 1 7094 7095 7147 1
2 1 7096 7097 7148 1
2 1 7098 7099 7149 1
2 1 7100 7101 7150 1
2 1 7102 7103 7151 1
2 1 7104 7105 7152 1
2 1 7106 7107 7153 1
2 1 7108 7109 7154 1
2 1 7110 7111 7155 1
2 1 7112 7113 7156 1
2 1 7114 7115 7157 1
2 1 7116 7117 7158 1
2 1 7118 7119 7159 1
2 1 7120 7121 7160 1
2 1 7122 7123 7161 1
2 1 7124 7125 7162 1
2 1 7126 7127 7163 1
2 1 7128 7129 7164 1
2 1 7130 7131 7165 1
2 1 7132 7133 7166 1
2 1 7134 7135 7167 1
2 1 7136 7137 7168 1
2 1 7138 7139 7169 1
2 1 7140 7141 7170 1
2 1 7142 7143 7171 1
2 1 7144 7145 7172 1
2 1 7146 7147 7173 1
2 1 7148 7149 7174 1
2 1 7150 7151 7175 1
2 1 7152 7153 7176 1
2 1 7154 7155 7177 1
2 1 7156 7157 7178 1
2 1 7158 7159 7179 1
2 1 7160 7161 7180 1
2 1 7162 7163 7181 1
2 1 7164 7165 7182 1
2 1 7166 7167 7183 1
2 1 7168 7169 7184 1
2 1 7170 7171 7185 1
2 1 7172 7173 7186 1
2 1 7175 7176 7187 1
2 1 7177 7178 7188 1
2 1 7179 7180 7189 1
2 1 7181 7182 7190 1
2 1 7183 7184 7191 1
2 1 7185 7186 7192 1
2 1 7187 7188 7193 1
2 1 7189 7190 7194 1
2 1 7191 7192 7195 1
2 1 7174 7195 7196 1
2 1 7193 7194 7197 1
2 1 7196 7197 7198 1
2 1 6399 6399 7199 2
2 1 7198 800 7200 5
2 1 7200 7199 7201 6
2 1 3200 3201 7202 1
2 1 3202 3203 7203 1
2 1 3204 3205 7204 1
2 1 3206 3207 7205 1
2 1 3208 3209 7206 1
2 1 3210 3211 7207 1
2 1 3212 3213 7208 1
2 1 3214 3215 7209 1
2 1 3216 3217 7210 1
2 1 3218 3219 7211 1
2 1 3220 3221 7212 1
2 1 3222 3223 7213 1
2 1 3224 3225 7214 1
2 1 3226 3227 7215 1
2 1 3228 3229 7216 1
2 1 3230 3231 7217 1
2 1 3232 3233 7218 1
2 1 3234 3235 7219 1
2 1 3236 3237 7220 1
2 1 3238 3239 7221 1
2 1 3240 3241 7222 1
2 1 3242 3243 7223 1
2 1 3244 3245 7224 1
2 1 3246 3247 7225 1
2 1 3248 3249 7226 1
2 1 3250 3251 7227 1
2 1 3252 3253 7228 1
2 1 3254 3255 7229 1
2 1 3256 3257 7230 1
2 1 3258 3259 7231 1
2 1 3260 3261 7232 1
2 1 3262 3263 7233 1
2 1 3264 3265 7234 1
2 1 3266 3267 7235 1
2 1 3268 3269 7236 1
2 1 3270 3271 7237 1
2 1 3272 3273 7238 1
2 1 3274 3275 7239 1
2 1 3276 3277 7240 1
2 1 3278 3279 7241 1
2 1 3280 3281 7242 1
2 1 3282 3283 7243 1
2 1 3284 3285 7244 1
2 1 3286 3287 7245 1
2 1 3288 3289 7246 1
2 1 3290 3291 7247 1
2 1 3292 3293 7248 1
2 1 3294 3295 7249 1
2 1 3296 3297 7250 1
2 1 3298 3299 7251 1
2 1 3300 3301 7252 1
2 1 3302 3303 7253 1
2 1 3304 3305 7254 1
2 1 3306 3307 7255 1
2 1 3308 3309 7256 1
2 1 3310 3311 7257 1
2 1 3312 3313 7258 1
2 1 3314 3315 7259 1
2 1 3316 3317 7260 1
2 1 3318 3319 7261 1
2 1 3320 3321 7262 1
2 1 3322 3323 7263 1
2 1 3324 3325 7264 1
2 1 3326 3327 7265 1
2 1 3328 3329 7266 1
2 1 3330 3331 7267 1
2 1 3332 3333 7268 1
2 1 3334 3335 7269 1
2 1 3336 3337 7270 1
2 1 3338 3339 7271 1
2 1 3340 3341 7272 1
2 1 3342 3343 7273 1
2 1 3344 3345 7274 1
2 1 3346 3347 7275 1
2 1 3348 3349 7276 1
2 1 3350 3351 7277 1
2 1 3352 3353 7278 1
2 1 3354 3355 7279 1
2 1 3356 3357 7280 1
2 1 3358 3359 7281 1
2 1 3360 3361 7282 1
2 1 3362 3363 7283 1
2 1 3364 3365 7284 1
2 1 3366 3367 7285 1
2 1 3368 3369 7286 1
2 1 3370 3371 7287 1
2 1 3372 3373 7288 1
2 1 3374 3375 7289 1
2 1 3376 3377 7290 1
2 1 3378 3379 7291 1
2 1 3380 3381 7292 1
2 1 3382 3383 7293 1
2 1 3384 3385 7294 1
2 1 3386 3387 7295 1
2 1 3388 3389 7296 1
2 1 3390 3391 7297 1
2 1 3392 3393 7298 1
2 1 3394 3395 7299 1
2 1 3396 3397 7300 1
2 1 3398 3399 7301 1
2 1 3400 3401 7302 1
2 1 3402 3403 7303 1
2 1 3404 3405 7304 1
2 1 3406 3407 7305 1
2 1 3408 3409 7306 1
2 1 3410 3411 7307 1
2 1 3412 3413 7308 1
2 1 3414 3415 7309 1
2 1 3416 3417 7310 1
2 1 3418 3419 7311 1
2 1 3420 3421 7312 1
2 1 3422 3423 7313 1
2 1 3424 3425 7314 1
2 1 3426 3427 7315 1
2 1 3428 3429 7316 1
2 1 3430 3431 7317 1
2 1 3432 3433 7318 1
2 1 3434 3435 7319 1
2 1 3436 3437 7320 1
2 1 3438 3439 7321 1
2 1 3440 3441 7322 1
2 1 3442 3443 7323 1
2 1 3444 3445 7324 1
2 1 3446 3447 7325 1
2 1 3448 3449 7326 1
2 1 3450 3451 7327 1
2 1 3452 3453 7328 1
2 1 3454 3455 7329 1
2 1 3456 3457 7330 1
2 1 3458 3459 7331 1
2 1 3460 3461 7332 1
2 1 3462 3463 7333 1
2 1 3464 3465 7334 1
2 1 3466 3467 7335 1
2 1 3468 3469 7336 1
2 1 3470 3471 7337 1
2 1 3472 3473 7338 1
2 1 3474 3475 7339 1
2 1 3476 3477 7340 1
2 1 3478 3479 7341 1
2 1 3480 3481 7342 1
2 1 3482 3483 7343 1
2 1 3484 3485 7344 1
2 1 3486 3487 7345 1
2 1 3488 3489 7346 1
2 1 3490 3491 7347 1
2 1 3492 3493 7348 1
2 1 3494 3495 7349 1
2 1 3496 3497 7350 1
2 1 3498 3499 7351 1
2 1 3500 3501 7352 1
2 1 3502 3503 7353 1
2 1 3504 3505 7354 1
2 1 3506 3507 7355 1
2 1 3508 3509 7356 1
2 1 3510 3511 7357 1
2 1 3512 3513 7358 1
2 1 3514 3515 7359 1
2 1 3516 3517 7360 1
2 1 3518 3519 7361 1
2 1 3520 3521 7362 1
2 1 3522 3523 7363 1
2 1 3524 3525 7364 1
2 1 3526 3527 7365 1
2 1 3528 3529 7366 1
2 1 3530 3531 7367 1
2 1 3532 3533 7368 1
2 1 3534 3535 7369 1
2 1 3536 3537 7370 1
2 1 3538 3539 7371 1
2 1 3540 3541 7372 1
2 1 3542 3543 7373 1
2 1 3544 3545 7374 1
2 1 3546 3547 7375 1
2 1 3548 3549 7376 1
2 1 3550 3551 7377 1
2 1 3552 3553 7378 1
2 1 3554 3555 7379 1
2 1 3556 3557 7380 1
2 1 3558 3559 7381 1
2 1 3560 3561 7382 1
2 1 3562 3563 7383 1
2 1 3564 3565 7384 1
2 1 3566 3567 7385 1
2 1 3568 3569 7386 1
2 1 3570 3571 7387 1
2 1 3572 3573 7388 1
2 1 3574 3575 7389 1
2 1 3576 3577 7390 1
2 1 3578 3579 7391 1
2 1 3580 3581 7392 1
2 1 3582 3583 7393 1
2 1 3584 3585 7394 1
2 1 3586 3587 7395 1
2 1 3588 3589 7396 1
2 1 3590 3591 7397 1
2 1 3592 3593 7398 1
2 1 3594 3595 7399 1
2 1 3596 3597 7400 1
2 1 3598 3599 7401 1
2 1 3600 3601 7402 1
2 1 3602 3603 7403 1
2 1 3604 3605 7404 1
2 1 3606 3607 7405 1
2 1 3608 3609 7406 1
2 1 3610 3611 7407 1
2 1 3612 3613 7408 1
2 1 3614 3615 7409 1
2 1 3616 3617 7410 1
2 1 3618 3619 7411 1
2 1 3620 3621 7412 1
2 1 3622 3623 7413 1
2 1 3624 3625 7414 1
2 1 3626 3627 7415 1
2 1 3628 3629 7416 1
2 1 3630 3631 7417 1
2 1 3632 3633 7418 1
2 1 3634 3635 7419 1
2 1 3636 3637 7420 1
2 1 3638 3639 7421 1
2 1 3640 3641 7422 1
2 1 3642 3643 7423 1
2 1 3644 3645 7424 1
2 1 3646 3647 7425 1
2 1 3648 3649 7426 1
2 1 3650 3651 7427 1
2 1 3652 3653 7428 1
2 1 3654 3655 7429 1
2 1 3656 3657 7430 1
2 1 3658 3659 7431 1
2 1 3660 3661 7432 1
2 1 3662 3663 7433 1
2 1 3664 3665 7434 1
2 1 3666 3667 7435 1
2 1 3668 3669 7436 1
2 1 3670 3671 7437 1
2 1 3672 3673 7438 1
2 1 3674 3675 7439 1
2 1 3676 3677 7440 1
2 1 3678 3679 7441 1
2 1 3680 3681 7442 1
2 1 3682 3683 7443 1
2 1 3684 3685 7444 1
2 1 3686 3687 7445 1
2 1 3688 3689 7446 1
2 1 3690 3691 7447 1
2 1 3692 3693 7448 1
2 1 3694 3695 7449 1
2 1 3696 3697 7450 1
2 1 3698 3699 7451 1
2 1 3700 3701 7452 1
2 1 3702 3703 7453 1
2 1 3704 3705 7454 1
2 1 3706 3707 7455 1
2 1 3708 3709 7456 1
2 1 3710 3711 7457 1
2 1 3712 3713 7458 1
2 1 3714 3715 7459 1
2 1 3716 3717 7460 1
2 1 3718 3719 7461 1
2 1 3720 3721 7462 1
2 1 3722 3723 7463 1
2 1 3724 3725 7464 1
2 1 3726 3727 7465 1
2 1 3728 3729 7466 1
2 1 3730 3731 7467 1
2 1 3732 3733 7468 1
2 1 3734 3735 7469 1
2 1 3736 3737 7470 1
2 1 3738 3739 7471 1
2 1 3740 3741 7472 1
2 1 3742 3743 7473 1
2 1 3744 3745 7474 1
2 1 3746 3747 7475 1
2 1 3748 3749 7476 1
2 1 3750 3751 7477 1
2 1 3752 3753 7478 1
2 1 3754 3755 7479 1
2 1 3756 3757 7480 1
2 1 3758 3759 7481 1
2 1 3760 3761 7482 1
2 1 3762 3763 7483 1
2 1 3764 3765 7484 1
2 1 3766 3767 7485 1
2 1 3768 3769 7486 1
2 1 3770 3771 7487 1
2 1 3772 3773 7488 1
2 1 3774 3775 7489 1
2 1 3776 3777 7490 1
2 1 3778 3779 7491 1
2 1 3780 3781 7492 1
2 1 3782 3783 7493 1
2 1 3784 3785 7494 1
2 1 3786 3787 7495 1
2 1 3788 3789 7496 1
2 1 3790 3791 7497 1
2 1 3792 3793 7498 1
2 1 3794 3795 7499 1
2 1 3796 3797 7500 1
2 1 3798 3799 7501 1
2 1 3800 3801 7502 1
2 1 3802 3803 7503 1
2 1 3804 3805 7504 1
2 1 3806 3807 7505 1
2 1 3808 3809 7506 1
2 1 3810 3811 7507 1
2 1 3812 3813 7508 1
2 1 3814 3815 7509 1
2 1 3816 3817 7510 1
2 1 3818 3819 7511 1
2 1 3820 3821 7512 1
2 1 3822 3823 7513 1
2 1 3824 3825 7514 1
2 1 3826 3827 7515 1
2 1 3828 3829 7516 1
2 1 3830 3831 7517 1
2 1 3832 3833 7518 1
2 1 3834 3835 7519 1
2 1 3836 3837 7520 1
2 1 3838 3839 7521 1
2 1 3840 3841 7522 1
2 1 3842 3843 7523 1
2 1 3844 3845 7524 1
2 1 3846 3847 7525 1
2 1 3848 3849 7526 1
2 1 3850 3851 7527 1
2 1 3852 3853 7528 1
2 1 3854 3855 7529 1
2 1 3856 3857 7530 1
2 1 3858 3859 7531 1
2 1 3860 3861 7532 1
2 1 3862 3863 7533 1
2 1 3864 3865 7534 1
2 1 3866 3867 7535 1
2 1 3868 3869 7536 1
2 1 3870 3871 7537 1
2 1 3872 3873 7538 1
2 1 3874 3875 7539 1
2 1 3876 3877 7540 1
2 1 3878 3879 7541 1
2 1 3880 3881 7542 1
2 1 3882 3883 7543 1
2 1 3884 3885 7544 1
2 1 3886 3887 7545 1
2 1 3888 3889 7546 1
2 1 3890 3891 7547 1
2 1 3892 3893 7548 1
2 1 3894 3895 7549 1
2 1 3896 3897 7550 1
2 1 3898 3899 7551 1
2 1 3900 3901 7552 1
2 1 3902 3903 7553 1
2 1 3904 3905 7554 1
2 1 3906 3907 7555 1
2 1 3908 3909 7556 1
2 1 3910 3911 7557 1
2 1 3912 3913 7558 1
2 1 3914 3915 7559 1
2 1 3916 3917 7560 1
2 1 3918 3919 7561 1
2 1 3920 3921 7562 1
2 1 3922 3923 7563 1
2 1 3924 3925 7564 1
2 1 3926 3927 7565 1
2 1 3928 3929 7566 1
2 1 3930 3931 7567 1
2 1 3932 3933 7568 1
2 1 3934 3935 7569 1
2 1 3936 3937 7570 1
2 1 3938 3939 7571 1
2 1 3940 3941 7572 1
2 1 3942 3943 7573 1
2 1 3944 3945 7574 1
2 1 3946 3947 7575 1
2 1 3948 3949 7576 1
2 1 3950 3951 7577 1
2 1 3952 3953 7578 1
2 1 3954 3955 7579 1
2 1 3956 3957 7580 1
2 1 3958 3959 7581 1
2 1 3960 3961 7582 1
2 1 3962 3963 7583 1
2 1 3964 3965 7584 1
2 1 3966 3967 7585 1
2 1 3968 3969 7586 1
2 1 3970 3971 7587 1
2 1 3972 3973 7588 1
2 1 3974 3975 7589 1
2 1 3976 3977 7590 1
2 1 3978 3979 7591 1
2 1 3980 3981 7592 1
2 1 3982 3983 7593 1
2 1 3984 3985 7594 1
2 1 3986 3987 7595 1
2 1 3988 3989 7596 1
2 1 3990 3991 7597 1
2 1 3992 3993 7598 1
2 1 3994 3995 7599 1
2 1 3996 3997 7600 1
2 1 3998 3999 7601 1
2 1 7202 7203 7602 1
2 1 7204 7205 7603 1
2 1 7206 7207 7604 1
2 1 7208 7209 7605 1
2 1 7210 7211 7606 1
2 1 7212 7213 7607 1
2 1 7214 7215 7608 1
2 1 7216 7217 7609 1
2 1 7218 7219 7610 1
2 1 7220 7221 7611 1
2 1 7222 7223 7612 1
2 1 7224 7225 7613 1
2 1 7226 7227 7614 1
2 1 7228 7229 7615 1
2 1 7230 7231 7616 1
2 1 7232 7233 7617 1
2 1 7234 7235 7618 1
2 1 7236 7237 7619 1
2 1 7238 7239 7620 1
2 1 7240 7241 7621 1
2 1 7242 7243 7622 1
2 1 7244 7245 7623 1
2 1 7246 7247 7624 1
2 1 7248 7249 7625 1
2 1 7250 7251 7626 1
2 1 7252 7253 7627 1
2 1 7254 7255 7628 1
2 1 7256 7257 7629 1
2 1 7258 7259 7630 1
2 1 7260 7261 7631 1
2 1 7262 7263 7632 1
2 1 7264 7265 7633 1
2 1 7266 7267 7634 1
2 1 7268 7269 7635 1
2 1 7270 7271 7636 1
2 1 7272 7273 7637 1
2 1 7274 7275 7638 1
2 1 7276 7277 7639 1
2 1 7278 7279 7640 1
2 1 7280 7281 7641 1
2 1 7282 7283 7642 1
2 1 7284 7285 7643 1
2 1 7286 7287 7644 1
2 1 7288 7289 7645 1
2 1 7290 7291 7646 1
2 1 7292 7293 7647 1
2 1 7294 7295 7648 1
2 1 7296 7297 7649 1
2 1 7298 7299 7650 1
2 1 7300 7301 7651 1
2 1 7302 7303 7652 1
2 1 7304 7305 7653 1
2 1 7306 7307 7654 1
2 1 7308 7309 7655 1
2 1 7310 7311 7656 1
2 1 7312 7313 7657 1
2 1 7314 7315 7658 1
2 1 7316 7317 7659 1
2 1 7318 7319 7660 1
2 1 7320 7321 7661 1
2 1 7322 7323 7662 1
2 1 7324 7325 7663 1
2 1 7326 7327 7664 1
2 1 7328 7329 7665 1
2 1 7330 7331 7666 1
2 1 7332 7333 7667 1
2 1 7334 7335 7668 1
2 1 7336 7337 7669 1
2 1 7338 7339 7670 1
2 1 7340 7341 7671 1
2 1 7342 7343 7672 1
2 1 7344 7345 7673 1
2 1 7346 7347 7674 1
2 1 7348 7349 7675 1
2 1 7350 7351 7676 1
2 1 7352 7353 7677 1
2 1 7354 7355 7678 1
2 1 7356 7357 7679 1
2 1 7358 7359 7680 1
2 1 7360 7361 7681 1
2 1 7362 7363 7682 1
2 1 7364 7365 7683 1
2 1 7366 7367 7684 1
2 1 7368 7369 7685 1
2 1 7370 7371 7686 1
2 1 7372 7373 7687 1
2 1 7374 7375 7688 1
2 1 7376 7377 7689 1
2 1 7378 7379 7690 1
2 1 7380 7381 7691 1
2 1 7382 7383 7692 1
2 1 7384 7385 7693 1
2 1 7386 7387 7694 1
2 1 7388 7389 7695 1
2 1 7390 7391 7696 1
2 1 7392 7393 7697 1
2 1 7394 7395 7698 1
2 1 7396 7397 7699 1
2 1 7398 7399 7700 1
2 1 7400 7401 7701 1
2 1 7402 7403 7702 1
2 1 7404 7405 7703 1
2 1 7406 7407 7704 1
2 1 7408 7409 7705 1
2 1 7410 7411 7706 1
2 1 7412 7413 7707 1
2 1 7414 7415 7708 1
2 1 7416 7417 7709 1
2 1 7418 7419 7710 1
2 1 7420 7421 7711 1
2 1 7422 7423 7712 1
2 1 7424 7425 7713 1
2 1 7426 7427 7714 1
2 1 7428 7429 7715 1
2 1 7430 7431 7716 1
2 1 7432 7433 7717 1
2 1 7434 7435 7718 1
2 1 7436 7437 7719 1
2 1 7438 7439 7720 1
2 1 7440 7441 7721 1
2 1 7442 7443 7722 1
2 1 7444 7445 7723 1
2 1 7446 7447 7724 1
2 1 7448 7449 7725 1
2 1 7450 7451 7726 1
2 1 7452 7453 7727 1
2 1 7454 7455 7728 1
2 1 7456 7457 7729 1
2 1 7458 7459 7730 1
2 1 7460 7461 7731 1
2 1 7462 7463 7732 1
2 1 7464 7465 7733 1
2 1 7466 7467 7734 1
2 1 7468 7469 7735 1
2 1 7470 7471 7736 1
2 1 7472 7473 7737 1
2 1 7474 7475 7738 1
2 1 7476 7477 7739 1
2 1 7478 7479 7740 1
2 1 7480 7481 7741 1
2 1 7482 7483 7742 1
2 1 7484 7485 7743 1
2 1 7486 7487 7744 1
2 1 7488 7489 7745 1
2 1 7490 7491 7746 1
2 1 7492 7493 7747 1
2 1 7494 7495 7748 1
2 1 7496 7497 7749 1
2 1 7498 7499 7750 1
2 1 7500 7501 7751 1
2 1 7502 7503 7752 1
2 1 7504 7505 7753 1
2 1 7506 7507 7754 1
2 1 7508 7509 7755 1
2 1 7510 7511 7756 1
2 1 7512 7513 7757 1
2 1 7514 7515 7758 1
2 1 7516 7517 7759 1
2 1 7518 7519 7760 1
2 1 7520 7521 7761 1
2 1 7522 7523 7762 1
2 1 7524 7525 7763 1
2 1 7526 7527 7764 1
2 1 7528 7529 7765 1
2 1 7530 7531 7766 1
2 1 7532 7533 7767 1
2 1 7534 7535 7768 1
2 1 7536 7537 7769 1
2 1 7538 7539 7770 1
2 1 7540 7541 7771 1
2 1 7542 7543 7772 1
2 1 7544 7545 7773 1
2 1 7546 7547 7774 1
2 1 7548 7549 7775 1
2 1 7550 7551 7776 1
2 1 7552 7553 7777 1
2 1 7554 7555 7778 1
2 1 7556 7557 7779 1
2 1 7558 7559 7780 1
2 1 7560 7561 7781 1
2 1 7562 7563 7782 1
2 1 7564 7565 7783 1
2 1 7566 7567 7784 1
2 1 7568 7569 7785 1
2 1 7570 7571 7786 1
2 1 7572 7573 7787 1
2 1 7574 7575 7788 1
2 1 7576 7577 7789 1
2 1 7578 7579 7790 1
2 1 7580 7581 7791 1
2 1 7582 7583 7792 1
2 1 7584 7585 7793 1
2 1 7586 7587 7794 1
2 1 7588 7589 7795 1
2 1 7590 7591 7796 1
2 1 7592 7593 7797 1
2 1 7594 7595 7798 1
2 1 7596 7597 7799 1
2 1 7598 7599 7800 1
2 1 7600 7601 7801 1
2 1 7602 7603 7802 1
2 1 7604 7605 7803 1
2 1 7606 7607 7804 1
2 1 7608 7609 7805 1
2 1 7610 7611 7806 1
2 1 7612 7613 7807 1
2 1 7614 7615 7808 1
2 1 7616 7617 7809 1
2 1 7618 7619 7810 1
2 1 7620 7621 7811 1
2 1 7622 7623 7812 1
2 1 7624 7625 7813 1
2 1 7626 7627 7814 1
2 1 7628 7629 7815 1
2 1 7630 7631 7816 1
2 1 7632 7633 7817 1
2 1 7634 7635 7818 1
2 1 7636 7637 7819 1
2 1 7638 7639 7820 1
2 1 7640 7641 7821 1
2 1 7642 7643 7822 1
2 1 7644 7645 7823 1
2 1 7646 7647 7824 1
2 1 7648 7649 7825 1
2 1 7650 7651 7826 1
2 1 7652 7653 7827 1
2 1 7654 7655 7828 1
2 1 7656 7657 7829 1
2 1 7658 7659 7830 1
2 1 7660 7661 7831 1
2 1 7662 7663 7832 1
2 1 7664 7665 7833 1
2 1 7666 7667 7834 1
2 1 7668 7669 7835 1
2 1 7670 7671 7836 1
2 1 7672 7673 7837 1
2 1 7674 7675 7838 1
2 1 7676 7677 7839 1
2 1 7678 7679 7840 1
2 1 7680 7681 7841 1
2 1 7682 7683 7842 1
2 1 7684 7685 7843 1
2 1 7686 7687 7844 1
2 1 7688 7689 7845 1
2 1 7690 7691 7846 1
2 1 7692 7693 7847 1
2 1 7694 7695 7848 1
2 1 7696 7697 7849 1
2 1 7698 7699 7850 1
2 1 7700 7701 7851 1
2 1 7702 7703 7852 1
2 1 7704 7705 7853 1
2 1 7706 7707 7854 1
2 1 7708 7709 7855 1
2 1 7710 7711 7856 1
2 1 7712 7713 7857 1
2 1 7714 7715 7858 1
2 1 7716 7717 7859 1
2 1 7718 7719 7860 1
2 1 7720 7721 7861 1
2 1 7722 7723 7862 1
2 1 7724 7725 7863 1
2 1 7726 7727 7864 1
2 1 7728 7729 7865 1
2 1 7730 7731 7866 1
2 1 7732 7733 7867 1
2 1 7734 7735 7868 1
2 1 7736 7737 7869 1
2 1 7738 7739 7870 1
2 1 7740 7741 7871 1
2 1 7742 7743 7872 1
2 1 7744 7745 7873 1
2 1 7746 7747 7874 1
2 1 7748 7749 7875 1
2 1 7750 7751 7876 1
2 1 7752 7753 7877 1
2 1 7754 7755 7878 1
2 1 7756 7757 7879 1
2 1 7758 7759 7880 1
2 1 7760 7761 7881 1
2 1 7762 7763 7882 1
2 1 7764 7765 7883 1
2 1 7766 7767 7884 1
2 1 7768 7769 7885 1
2 1 7770 7771 7886 1
2 1 7772 7773 7887 1
2 1 7774 7775 7888 1
2 1 7776 7777 7889 1
2 1 7778 7779 7890 1
2 1 7780 7781 7891 1
2 1 7782 7783 7892 1
2 1 7784 7785 7893 1
2 1 7786 7787 7894 1
2 1 7788 7789 7895 1
2 1 7790 7791 7896 1
2 1 7792 7793 7897 1
2 1 7794 7795 7898 1
2 1 7796 7797 7899 1
2 1 7798 7799 7900 1
2 1 7800 7801 7901 1
2 1 7802 7803 7902 1
2 1 7804 7805 7903 1
2 1 7806 7807 7904 1
2 1 7808 7809 7905 1
2 1 7810 7811 7906 1
2 1 7812 7813 7907 1
2 1 7814 7815 7908 1
2 1 7816 7817 7909 1
2 1 7818 7819 7910 1
2 1 7820 7821 7911 1
2 1 7822 7823 7912 1
2 1 7824 7825 7913 1
2 1 7826 7827 7914 1
2 1 7828 7829 7915 1
2 1 7830 7831 7916 1
2 1 7832 7833 7917 1
2 1 7834 7835 7918 1
2 1 7836 7837 7919 1
2 1 7838 7839 7920 1
2 1 7840 7841 7921 1
2 1 7842 7843 7922 1
2 1 7844 7845 7923 1
2 1 7846 7847 7924 1
2 1 7848 7849 7925 1
2 1 7850 7851 7926 1
2 1 7852 7853 7927 1
2 1 7854 7855 7928 1
2 1 7856 7857 7929 1
2 1 7858 7859 7930 1
2 1 7860 7861 7931 1
2 1 7862 7863 7932 1
2 1 7864 7865 7933 1
2 1 7866 7867 7934 1
2 1 7868 7869 7935 1
2 1 7870 7871 7936 1
2 1 7872 7873 7937 1
2 1 7874 7875 7938 1
2 1 7876 7877 7939 1
2 1 7878 7879 7940 1
2 1 7880 7881 7941 1
2 1 7882 7883 7942 1
2 1 7884 7885 7943 1
2 1 7886 7887 7944 1
2 1 7888 7889 7945 1
2 1 7890 7891 7946 1
2 1 7892 7893 7947 1
2 1 7894 7895 7948 1
2 1 7896 7897 7949 1
2 1 7898 7899 7950 1
2 1 7900 7901 7951 1
2 1 7902 7903 7952 1
2 1 7904 7905 7953 1
2 1 7906 7907 7954 1
2 1 7908 7909 7955 1
2 1 7910 7911 7956 1
2 1 7912 7913 7957 1
2 1 7914 7915 7958 1
2 1 7916 7917 7959 1
2 1 7918 7919 7960 1
2 1 7920 7921 7961 1
2 1 7922 7923 7962 1
2 1 7924 7925 7963 1
2 1 7926 7927 7964 1
2 1 7928 7929 7965 1
2 1 7930 7931 7966 1
2 1 7932 7933 7967 1
2 1 7934 7935 7968 1
2 1 7936 7937 7969 1
2 1 7938 7939 7970 1
2 1 7940 7941 7971 1
2 1 7942 7943 7972 1
2 1 7944 7945 7973 1
2 1 7946 7947 7974 1
2 1 7948 7949 7975 1
2 1 7950 7951 7976 1
2 1 7952 7953 7977 1
2 1 7954 7955 7978 1
2 1 7956 7957 7979 1
2 1 7958 7959 7980 1
2 1 7960 7961 7981 1
2 1 7962 7963 7982 1
2 1 7964 7965 7983 1
2 1 7966 7967 7984 1
2 1 7968 7969 7985 1
2 1 7970 7971 7986 1
2 1 7972 7973 7987 1
2 1 7974 7975 7988 1
2 1 7977 7978 7989 1
2 1 7979 7980 7990 1
2 1 7981 7982 7991 1
2 1 7983 7984 7992 1
2 1 7985 7986 7993 1
2 1 7987 7988 7994 1
2 1 7989 7990 7995 1
2 1 7991 7992 7996 1
2 1 7993 7994 7997 1
2 1 7976 7997 7998 1
2 1 7995 7996 7999 1
2 1 7998 7999 8000 1
2 1 4798 6399 8001 2
2 1 8000 800 8002 5
2 1 8002 8001 8003 6
================================================
FILE: assets/circuits/arithmetic/StatisticCircuit/inputs400.txt
================================================
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
================================================
FILE: assets/circuits/boolean/ADD32/ADDPartyOneInputs.txt
================================================
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
================================================
FILE: assets/circuits/boolean/ADD32/ADDPartyTwoInputs.txt
================================================
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
================================================
FILE: assets/circuits/boolean/ADD32/multiparty/NigelAdd32.txt
================================================
375
2
1 32
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2 32
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
1 33
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
2 0
2 1 0 32 406 0110
2 1 5 37 373 0001
2 1 4 36 336 0001
2 1 10 42 340 0001
2 1 14 46 366 0001
2 1 24 56 341 0001
2 1 8 40 342 0001
2 1 1 33 343 0001
2 1 7 39 348 0001
2 1 28 60 349 0001
2 1 19 51 350 0001
2 1 2 34 351 0001
2 1 30 62 364 0001
2 1 13 45 352 0001
2 1 18 50 353 0001
2 1 11 43 355 0001
2 1 3 35 356 0001
2 1 16 48 359 0001
2 1 31 63 357 0001
2 1 27 59 358 0001
2 1 15 47 360 0001
2 1 17 49 361 0001
2 1 9 41 363 0001
2 1 32 0 278 0001
2 1 29 61 362 0001
2 1 6 38 365 0001
2 1 25 57 354 0001
2 1 20 52 367 0001
2 1 22 54 331 0001
2 1 21 53 371 0001
2 1 12 44 372 0001
2 1 23 55 339 0001
2 1 26 58 368 0001
1 1 56 398 01
1 1 3 314 01
1 1 40 346 01
1 1 62 378 01
1 1 6 389 01
1 1 28 401 01
1 1 10 377 01
1 1 13 391 01
1 1 27 335 01
1 1 7 387 01
1 1 24 399 01
1 1 54 327 01
1 1 36 315 01
1 1 52 332 01
1 1 50 380 01
1 1 57 404 01
1 1 31 323 01
1 1 55 317 01
1 1 18 381 01
1 1 60 400 01
1 1 5 322 01
1 1 14 395 01
1 1 47 402 01
1 1 8 347 01
1 1 19 385 01
1 1 53 374 01
1 1 29 330 01
1 1 1 382 01
1 1 34 344 01
1 1 20 333 01
1 1 37 321 01
1 1 45 390 01
1 1 11 338 01
1 1 42 376 01
1 1 12 370 01
1 1 38 388 01
1 1 23 318 01
1 1 41 392 01
1 1 61 329 01
1 1 15 403 01
1 1 48 396 01
1 1 26 320 01
1 1 43 337 01
1 1 59 334 01
1 1 9 393 01
1 1 58 319 01
1 1 17 326 01
1 1 44 369 01
1 1 21 375 01
1 1 49 325 01
1 1 16 397 01
1 1 25 405 01
1 1 51 384 01
1 1 4 316 01
1 1 2 345 01
1 1 39 386 01
1 1 46 394 01
1 1 35 313 01
1 1 22 328 01
1 1 63 324 01
1 1 33 383 01
1 1 30 379 01
2 1 313 314 282 0001
2 1 315 316 283 0001
2 1 317 318 284 0001
2 1 319 320 299 0001
2 1 321 322 285 0001
2 1 323 324 286 0001
2 1 325 326 288 0001
2 1 327 328 289 0001
2 1 329 330 290 0001
1 1 331 130 01
2 1 332 333 287 0001
2 1 334 335 292 0001
1 1 336 256 01
2 1 337 338 293 0001
1 1 339 123 01
1 1 340 214 01
1 1 341 116 01
1 1 342 228 01
1 1 343 276 01
2 1 344 345 310 0001
2 1 346 347 300 0001
1 1 348 235 01
1 1 349 88 01
1 1 350 151 01
1 1 351 270 01
1 1 352 193 01
1 1 353 158 01
1 1 354 109 01
1 1 355 207 01
1 1 356 263 01
1 1 357 66 01
1 1 358 95 01
1 1 359 172 01
1 1 360 179 01
1 1 361 165 01
1 1 362 81 01
1 1 363 221 01
1 1 364 74 01
1 1 365 242 01
1 1 366 186 01
1 1 367 144 01
1 1 368 102 01
2 1 369 370 301 0001
1 1 371 137 01
1 1 372 200 01
1 1 373 249 01
2 1 374 375 298 0001
2 1 376 377 296 0001
2 1 378 379 291 0001
2 1 380 381 297 0001
2 1 382 383 306 0001
2 1 384 385 294 0001
2 1 386 387 295 0001
2 1 388 389 302 0001
2 1 390 391 303 0001
2 1 392 393 304 0001
2 1 394 395 305 0001
2 1 396 397 307 0001
2 1 398 399 308 0001
2 1 400 401 309 0001
2 1 402 403 311 0001
2 1 404 405 312 0001
1 1 282 266 01
1 1 283 259 01
1 1 284 126 01
1 1 285 252 01
1 1 286 69 01
1 1 287 147 01
1 1 288 168 01
1 1 289 133 01
1 1 290 84 01
1 1 291 77 01
1 1 292 98 01
1 1 293 210 01
1 1 294 154 01
1 1 295 238 01
1 1 296 217 01
1 1 297 161 01
1 1 298 140 01
1 1 299 105 01
1 1 300 231 01
1 1 301 203 01
1 1 302 245 01
1 1 303 196 01
1 1 304 224 01
1 1 305 189 01
1 1 306 281 01
1 1 307 175 01
1 1 308 119 01
1 1 309 91 01
1 1 310 273 01
1 1 311 182 01
1 1 312 112 01
2 1 281 276 277 0001
2 1 69 66 279 0001
2 1 281 278 280 0001
2 1 277 278 407 0110
1 1 279 71 01
1 1 280 275 01
2 1 275 276 274 0001
1 1 274 271 01
2 1 2 271 268 0110
2 1 271 273 272 0001
2 1 34 268 408 0110
1 1 272 269 01
2 1 269 270 267 0001
1 1 267 264 01
2 1 3 264 261 0110
2 1 264 266 265 0001
2 1 35 261 409 0110
1 1 265 262 01
2 1 262 263 260 0001
1 1 260 257 01
2 1 4 257 253 0110
2 1 257 259 258 0001
2 1 36 253 410 0110
1 1 258 255 01
2 1 255 256 254 0001
1 1 254 250 01
2 1 5 250 247 0110
2 1 250 252 251 0001
2 1 37 247 411 0110
1 1 251 248 01
2 1 248 249 246 0001
1 1 246 243 01
2 1 6 243 239 0110
2 1 243 245 244 0001
2 1 38 239 412 0110
1 1 244 241 01
2 1 241 242 240 0001
1 1 240 236 01
2 1 7 236 233 0110
2 1 236 238 237 0001
2 1 39 233 413 0110
1 1 237 234 01
2 1 234 235 232 0001
1 1 232 229 01
2 1 8 229 226 0110
2 1 229 231 230 0001
2 1 40 226 414 0110
1 1 230 227 01
2 1 227 228 225 0001
1 1 225 222 01
2 1 9 222 219 0110
2 1 222 224 223 0001
2 1 41 219 415 0110
1 1 223 220 01
2 1 220 221 218 0001
1 1 218 215 01
2 1 10 215 212 0110
2 1 215 217 216 0001
2 1 42 212 416 0110
1 1 216 213 01
2 1 213 214 211 0001
1 1 211 208 01
2 1 11 208 205 0110
2 1 208 210 209 0001
2 1 43 205 417 0110
1 1 209 206 01
2 1 206 207 204 0001
1 1 204 201 01
2 1 12 201 198 0110
2 1 201 203 202 0001
2 1 44 198 418 0110
1 1 202 199 01
2 1 199 200 197 0001
1 1 197 195 01
2 1 13 195 190 0110
2 1 195 196 194 0001
2 1 45 190 419 0110
1 1 194 192 01
2 1 192 193 191 0001
1 1 191 187 01
2 1 14 187 183 0110
2 1 187 189 188 0001
2 1 46 183 420 0110
1 1 188 185 01
2 1 185 186 184 0001
1 1 184 180 01
2 1 15 180 177 0110
2 1 180 182 181 0001
2 1 47 177 421 0110
1 1 181 178 01
2 1 178 179 176 0001
1 1 176 173 01
2 1 48 173 170 0110
2 1 173 175 174 0001
2 1 16 170 422 0110
1 1 174 171 01
2 1 171 172 169 0001
1 1 169 166 01
2 1 17 166 163 0110
2 1 166 168 167 0001
2 1 49 163 423 0110
1 1 167 164 01
2 1 164 165 162 0001
1 1 162 159 01
2 1 18 159 156 0110
2 1 159 161 160 0001
2 1 50 156 424 0110
1 1 160 157 01
2 1 157 158 155 0001
1 1 155 152 01
2 1 19 152 149 0110
2 1 152 154 153 0001
2 1 51 149 425 0110
1 1 153 150 01
2 1 150 151 148 0001
1 1 148 145 01
2 1 20 145 141 0110
2 1 145 147 146 0001
2 1 52 141 426 0110
1 1 146 143 01
2 1 143 144 142 0001
1 1 142 138 01
2 1 53 138 135 0110
2 1 138 140 139 0001
2 1 21 135 427 0110
1 1 139 136 01
2 1 136 137 134 0001
1 1 134 132 01
2 1 22 132 127 0110
2 1 132 133 131 0001
2 1 54 127 428 0110
1 1 131 129 01
2 1 129 130 128 0001
1 1 128 124 01
2 1 23 124 121 0110
2 1 124 126 125 0001
2 1 55 121 429 0110
1 1 125 122 01
2 1 122 123 120 0001
1 1 120 117 01
2 1 24 117 114 0110
2 1 117 119 118 0001
2 1 56 114 430 0110
1 1 118 115 01
2 1 115 116 113 0001
1 1 113 110 01
2 1 25 110 107 0110
2 1 110 112 111 0001
2 1 57 107 431 0110
1 1 111 108 01
2 1 108 109 106 0001
1 1 106 103 01
2 1 26 103 100 0110
2 1 103 105 104 0001
2 1 58 100 432 0110
1 1 104 101 01
2 1 101 102 99 0001
1 1 99 96 01
2 1 59 96 93 0110
2 1 96 98 97 0001
2 1 27 93 433 0110
1 1 97 94 01
2 1 94 95 92 0001
1 1 92 89 01
2 1 28 89 86 0110
2 1 89 91 90 0001
2 1 60 86 434 0110
1 1 90 87 01
2 1 87 88 85 0001
1 1 85 83 01
2 1 61 83 79 0110
2 1 83 84 82 0001
2 1 29 79 435 0110
1 1 82 80 01
2 1 80 81 78 0001
1 1 78 76 01
2 1 30 76 72 0110
2 1 76 77 75 0001
2 1 62 72 436 0110
1 1 75 73 01
2 1 73 74 70 0001
2 1 70 71 437 0110
1 1 70 68 01
2 1 68 69 67 0001
1 1 67 65 01
2 1 65 66 64 0001
1 1 64 438 01
================================================
FILE: assets/circuits/boolean/ADD32/twoparty/NigelAdd32.txt
================================================
375
2
1 32
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2 32
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
33
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
2 1 0 32 406 0110
2 1 5 37 373 0001
2 1 4 36 336 0001
2 1 10 42 340 0001
2 1 14 46 366 0001
2 1 24 56 341 0001
2 1 8 40 342 0001
2 1 1 33 343 0001
2 1 7 39 348 0001
2 1 28 60 349 0001
2 1 19 51 350 0001
2 1 2 34 351 0001
2 1 30 62 364 0001
2 1 13 45 352 0001
2 1 18 50 353 0001
2 1 11 43 355 0001
2 1 3 35 356 0001
2 1 16 48 359 0001
2 1 31 63 357 0001
2 1 27 59 358 0001
2 1 15 47 360 0001
2 1 17 49 361 0001
2 1 9 41 363 0001
2 1 32 0 278 0001
2 1 29 61 362 0001
2 1 6 38 365 0001
2 1 25 57 354 0001
2 1 20 52 367 0001
2 1 22 54 331 0001
2 1 21 53 371 0001
2 1 12 44 372 0001
2 1 23 55 339 0001
2 1 26 58 368 0001
1 1 56 398 01
1 1 3 314 01
1 1 40 346 01
1 1 62 378 01
1 1 6 389 01
1 1 28 401 01
1 1 10 377 01
1 1 13 391 01
1 1 27 335 01
1 1 7 387 01
1 1 24 399 01
1 1 54 327 01
1 1 36 315 01
1 1 52 332 01
1 1 50 380 01
1 1 57 404 01
1 1 31 323 01
1 1 55 317 01
1 1 18 381 01
1 1 60 400 01
1 1 5 322 01
1 1 14 395 01
1 1 47 402 01
1 1 8 347 01
1 1 19 385 01
1 1 53 374 01
1 1 29 330 01
1 1 1 382 01
1 1 34 344 01
1 1 20 333 01
1 1 37 321 01
1 1 45 390 01
1 1 11 338 01
1 1 42 376 01
1 1 12 370 01
1 1 38 388 01
1 1 23 318 01
1 1 41 392 01
1 1 61 329 01
1 1 15 403 01
1 1 48 396 01
1 1 26 320 01
1 1 43 337 01
1 1 59 334 01
1 1 9 393 01
1 1 58 319 01
1 1 17 326 01
1 1 44 369 01
1 1 21 375 01
1 1 49 325 01
1 1 16 397 01
1 1 25 405 01
1 1 51 384 01
1 1 4 316 01
1 1 2 345 01
1 1 39 386 01
1 1 46 394 01
1 1 35 313 01
1 1 22 328 01
1 1 63 324 01
1 1 33 383 01
1 1 30 379 01
2 1 313 314 282 0001
2 1 315 316 283 0001
2 1 317 318 284 0001
2 1 319 320 299 0001
2 1 321 322 285 0001
2 1 323 324 286 0001
2 1 325 326 288 0001
2 1 327 328 289 0001
2 1 329 330 290 0001
1 1 331 130 01
2 1 332 333 287 0001
2 1 334 335 292 0001
1 1 336 256 01
2 1 337 338 293 0001
1 1 339 123 01
1 1 340 214 01
1 1 341 116 01
1 1 342 228 01
1 1 343 276 01
2 1 344 345 310 0001
2 1 346 347 300 0001
1 1 348 235 01
1 1 349 88 01
1 1 350 151 01
1 1 351 270 01
1 1 352 193 01
1 1 353 158 01
1 1 354 109 01
1 1 355 207 01
1 1 356 263 01
1 1 357 66 01
1 1 358 95 01
1 1 359 172 01
1 1 360 179 01
1 1 361 165 01
1 1 362 81 01
1 1 363 221 01
1 1 364 74 01
1 1 365 242 01
1 1 366 186 01
1 1 367 144 01
1 1 368 102 01
2 1 369 370 301 0001
1 1 371 137 01
1 1 372 200 01
1 1 373 249 01
2 1 374 375 298 0001
2 1 376 377 296 0001
2 1 378 379 291 0001
2 1 380 381 297 0001
2 1 382 383 306 0001
2 1 384 385 294 0001
2 1 386 387 295 0001
2 1 388 389 302 0001
2 1 390 391 303 0001
2 1 392 393 304 0001
2 1 394 395 305 0001
2 1 396 397 307 0001
2 1 398 399 308 0001
2 1 400 401 309 0001
2 1 402 403 311 0001
2 1 404 405 312 0001
1 1 282 266 01
1 1 283 259 01
1 1 284 126 01
1 1 285 252 01
1 1 286 69 01
1 1 287 147 01
1 1 288 168 01
1 1 289 133 01
1 1 290 84 01
1 1 291 77 01
1 1 292 98 01
1 1 293 210 01
1 1 294 154 01
1 1 295 238 01
1 1 296 217 01
1 1 297 161 01
1 1 298 140 01
1 1 299 105 01
1 1 300 231 01
1 1 301 203 01
1 1 302 245 01
1 1 303 196 01
1 1 304 224 01
1 1 305 189 01
1 1 306 281 01
1 1 307 175 01
1 1 308 119 01
1 1 309 91 01
1 1 310 273 01
1 1 311 182 01
1 1 312 112 01
2 1 281 276 277 0001
2 1 69 66 279 0001
2 1 281 278 280 0001
2 1 277 278 407 0110
1 1 279 71 01
1 1 280 275 01
2 1 275 276 274 0001
1 1 274 271 01
2 1 2 271 268 0110
2 1 271 273 272 0001
2 1 34 268 408 0110
1 1 272 269 01
2 1 269 270 267 0001
1 1 267 264 01
2 1 3 264 261 0110
2 1 264 266 265 0001
2 1 35 261 409 0110
1 1 265 262 01
2 1 262 263 260 0001
1 1 260 257 01
2 1 4 257 253 0110
2 1 257 259 258 0001
2 1 36 253 410 0110
1 1 258 255 01
2 1 255 256 254 0001
1 1 254 250 01
2 1 5 250 247 0110
2 1 250 252 251 0001
2 1 37 247 411 0110
1 1 251 248 01
2 1 248 249 246 0001
1 1 246 243 01
2 1 6 243 239 0110
2 1 243 245 244 0001
2 1 38 239 412 0110
1 1 244 241 01
2 1 241 242 240 0001
1 1 240 236 01
2 1 7 236 233 0110
2 1 236 238 237 0001
2 1 39 233 413 0110
1 1 237 234 01
2 1 234 235 232 0001
1 1 232 229 01
2 1 8 229 226 0110
2 1 229 231 230 0001
2 1 40 226 414 0110
1 1 230 227 01
2 1 227 228 225 0001
1 1 225 222 01
2 1 9 222 219 0110
2 1 222 224 223 0001
2 1 41 219 415 0110
1 1 223 220 01
2 1 220 221 218 0001
1 1 218 215 01
2 1 10 215 212 0110
2 1 215 217 216 0001
2 1 42 212 416 0110
1 1 216 213 01
2 1 213 214 211 0001
1 1 211 208 01
2 1 11 208 205 0110
2 1 208 210 209 0001
2 1 43 205 417 0110
1 1 209 206 01
2 1 206 207 204 0001
1 1 204 201 01
2 1 12 201 198 0110
2 1 201 203 202 0001
2 1 44 198 418 0110
1 1 202 199 01
2 1 199 200 197 0001
1 1 197 195 01
2 1 13 195 190 0110
2 1 195 196 194 0001
2 1 45 190 419 0110
1 1 194 192 01
2 1 192 193 191 0001
1 1 191 187 01
2 1 14 187 183 0110
2 1 187 189 188 0001
2 1 46 183 420 0110
1 1 188 185 01
2 1 185 186 184 0001
1 1 184 180 01
2 1 15 180 177 0110
2 1 180 182 181 0001
2 1 47 177 421 0110
1 1 181 178 01
2 1 178 179 176 0001
1 1 176 173 01
2 1 48 173 170 0110
2 1 173 175 174 0001
2 1 16 170 422 0110
1 1 174 171 01
2 1 171 172 169 0001
1 1 169 166 01
2 1 17 166 163 0110
2 1 166 168 167 0001
2 1 49 163 423 0110
1 1 167 164 01
2 1 164 165 162 0001
1 1 162 159 01
2 1 18 159 156 0110
2 1 159 161 160 0001
2 1 50 156 424 0110
1 1 160 157 01
2 1 157 158 155 0001
1 1 155 152 01
2 1 19 152 149 0110
2 1 152 154 153 0001
2 1 51 149 425 0110
1 1 153 150 01
2 1 150 151 148 0001
1 1 148 145 01
2 1 20 145 141 0110
2 1 145 147 146 0001
2 1 52 141 426 0110
1 1 146 143 01
2 1 143 144 142 0001
1 1 142 138 01
2 1 53 138 135 0110
2 1 138 140 139 0001
2 1 21 135 427 0110
1 1 139 136 01
2 1 136 137 134 0001
1 1 134 132 01
2 1 22 132 127 0110
2 1 132 133 131 0001
2 1 54 127 428 0110
1 1 131 129 01
2 1 129 130 128 0001
1 1 128 124 01
2 1 23 124 121 0110
2 1 124 126 125 0001
2 1 55 121 429 0110
1 1 125 122 01
2 1 122 123 120 0001
1 1 120 117 01
2 1 24 117 114 0110
2 1 117 119 118 0001
2 1 56 114 430 0110
1 1 118 115 01
2 1 115 116 113 0001
1 1 113 110 01
2 1 25 110 107 0110
2 1 110 112 111 0001
2 1 57 107 431 0110
1 1 111 108 01
2 1 108 109 106 0001
1 1 106 103 01
2 1 26 103 100 0110
2 1 103 105 104 0001
2 1 58 100 432 0110
1 1 104 101 01
2 1 101 102 99 0001
1 1 99 96 01
2 1 59 96 93 0110
2 1 96 98 97 0001
2 1 27 93 433 0110
1 1 97 94 01
2 1 94 95 92 0001
1 1 92 89 01
2 1 28 89 86 0110
2 1 89 91 90 0001
2 1 60 86 434 0110
1 1 90 87 01
2 1 87 88 85 0001
1 1 85 83 01
2 1 61 83 79 0110
2 1 83 84 82 0001
2 1 29 79 435 0110
1 1 82 80 01
2 1 80 81 78 0001
1 1 78 76 01
2 1 30 76 72 0110
2 1 76 77 75 0001
2 1 62 72 436 0110
1 1 75 73 01
2 1 73 74 70 0001
2 1 70 71 437 0110
1 1 70 68 01
2 1 68 69 67 0001
1 1 67 65 01
2 1 65 66 64 0001
1 1 64 438 01
================================================
FILE: assets/circuits/boolean/AES/AESPartyOneInputs.txt
================================================
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
================================================
FILE: assets/circuits/boolean/AES/AESPartyTwoInputs.txt
================================================
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
================================================
FILE: assets/circuits/boolean/AES/multiparty/NigelAes.txt
================================================
33616
2
1 128
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
2 128
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
1 128
33744
33745
33746
33747
33748
33749
33750
33751
33752
33753
33754
33755
33756
33757
33758
33759
33760
33761
33762
33763
33764
33765
33766
33767
33768
33769
33770
33771
33772
33773
33774
33775
33776
33777
33778
33779
33780
33781
33782
33783
33784
33785
33786
33787
33788
33789
33790
33791
33792
33793
33794
33795
33796
33797
33798
33799
33800
33801
33802
33803
33804
33805
33806
33807
33808
33809
33810
33811
33812
33813
33814
33815
33816
33817
33818
33819
33820
33821
33822
33823
33824
33825
33826
33827
33828
33829
33830
33831
33832
33833
33834
33835
33836
33837
33838
33839
33840
33841
33842
33843
33844
33845
33846
33847
33848
33849
33850
33851
33852
33853
33854
33855
33856
33857
33858
33859
33860
33861
33862
33863
33864
33865
33866
33867
33868
33869
33870
33871
2 0
2 1 226 229 33736 0110
2 1 178 50 33663 0110
2 1 251 123 33552 0110
2 1 219 91 33561 0110
2 1 213 85 33698 0110
2 1 232 235 32593 0110
2 1 163 35 33582 0110
2 1 186 58 33722 0110
2 1 245 117 33683 0110
2 1 248 254 32596 0110
2 1 235 237 32226 0110
2 1 224 227 32556 0110
2 1 172 44 33692 0110
2 1 197 69 33671 0110
2 1 249 250 33651 0110
2 1 215 87 32601 0110
2 1 214 86 33575 0110
2 1 231 103 32527 0110
2 1 250 122 33711 0110
2 1 232 237 32477 0110
2 1 238 110 33540 0110
2 1 183 55 32532 0110
2 1 203 75 33527 0110
2 1 223 95 32524 0110
2 1 133 5 33725 0110
2 1 187 59 33526 0110
2 1 251 253 32250 0110
2 1 255 127 32586 0110
2 1 233 237 33649 0110
2 1 227 99 33563 0110
2 1 236 108 33656 0110
2 1 196 68 33734 0110
2 1 243 115 33572 0110
2 1 157 29 33701 0110
2 1 222 94 33555 0110
2 1 161 33 33668 0110
2 1 134 6 33538 0110
2 1 170 42 33731 0110
2 1 206 78 33537 0110
2 1 241 245 33636 0110
2 1 240 243 32530 0110
2 1 138 10 33719 0110
2 1 156 28 33700 0110
2 1 224 230 32546 0110
2 1 221 93 33716 0110
2 1 173 45 33670 0110
2 1 152 24 33717 0110
2 1 242 245 33720 0110
2 1 234 237 33657 0110
2 1 241 242 33643 0110
2 1 175 47 32603 0110
2 1 218 90 33689 0110
2 1 190 62 33573 0110
2 1 211 83 33553 0110
2 1 252 254 33678 0110
2 1 180 52 33742 0110
2 1 252 124 33738 0110
2 1 146 18 33672 0110
2 1 244 116 33741 0110
2 1 234 106 33661 0110
2 1 166 38 33574 0110
2 1 243 245 32251 0110
2 1 232 238 32568 0110
2 1 248 251 32615 0110
2 1 202 74 33730 0110
2 1 237 109 33674 0110
2 1 130 2 33712 0110
2 1 228 230 33686 0110
2 1 209 81 33707 0110
2 1 181 53 33664 0110
2 1 210 82 33697 0110
2 1 153 25 33737 0110
2 1 136 8 33681 0110
2 1 225 97 33739 0110
2 1 177 49 33726 0110
2 1 168 40 33728 0110
2 1 246 118 33560 0110
2 1 164 36 33709 0110
2 1 182 54 33544 0110
2 1 226 98 33727 0110
2 1 188 60 33740 0110
2 1 224 229 32484 0110
2 1 128 0 33659 0110
2 1 232 104 33693 0110
2 1 185 57 33723 0110
2 1 154 26 33714 0110
2 1 204 76 33729 0110
2 1 148 20 33704 0110
2 1 191 63 32602 0110
2 1 248 120 33676 0110
2 1 228 100 33743 0110
2 1 162 34 33721 0110
2 1 129 1 33713 0110
2 1 194 66 33679 0110
2 1 220 92 33703 0110
2 1 249 121 33696 0110
2 1 249 253 33620 0110
2 1 240 245 32500 0110
2 1 176 48 33735 0110
2 1 198 70 33543 0110
2 1 205 77 33685 0110
2 1 160 32 33702 0110
2 1 225 226 33641 0110
2 1 151 23 32565 0110
2 1 240 112 33667 0110
2 1 239 111 32558 0110
2 1 140 12 33732 0110
2 1 248 253 32488 0110
2 1 147 19 33532 0110
2 1 195 67 33566 0110
2 1 230 102 33584 0110
2 1 253 125 33677 0110
2 1 144 16 33675 0110
2 1 216 88 33715 0110
2 1 227 229 32280 0110
2 1 131 3 33535 0110
2 1 145 17 33673 0110
2 1 254 126 33551 0110
2 1 244 246 33699 0110
2 1 200 72 33680 0110
2 1 193 65 33710 0110
2 1 179 51 33529 0110
2 1 132 4 33688 0110
2 1 139 11 33547 0110
2 1 149 21 33660 0110
2 1 174 46 33525 0110
2 1 208 80 33718 0110
2 1 242 114 33708 0110
2 1 184 56 33694 0110
2 1 201 73 33684 0110
2 1 241 113 33691 0110
2 1 143 15 32540 0110
2 1 199 71 32576 0110
2 1 240 246 32549 0110
2 1 207 79 32536 0110
2 1 150 22 33536 0110
2 1 159 31 32534 0110
2 1 225 229 33642 0110
2 1 233 105 33662 0110
2 1 155 27 33534 0110
2 1 217 89 33690 0110
2 1 137 9 33706 0110
2 1 247 119 32578 0110
2 1 229 101 33669 0110
2 1 233 234 33637 0110
2 1 250 253 33665 0110
2 1 142 14 33549 0110
2 1 167 39 32598 0110
2 1 235 107 33557 0110
2 1 212 84 33733 0110
2 1 171 43 33541 0110
2 1 165 37 33666 0110
2 1 192 64 33724 0110
2 1 169 41 33705 0110
2 1 158 30 33531 0110
2 1 224 96 33687 0110
2 1 189 61 33695 0110
2 1 141 13 33682 0110
2 1 236 238 33658 0110
2 1 135 7 32587 0110
1 1 227 30918 10
1 1 254 33653 10
1 1 246 33655 10
1 1 238 33652 10
1 1 224 30734 10
1 1 231 30730 10
1 1 229 30753 10
1 1 230 33654 10
2 1 33656 33540 33618 0110
2 1 33657 33658 32580 0110
2 1 33535 33659 32324 0110
2 1 33532 33660 32054 0110
2 1 33661 33662 33564 0110
2 1 33663 33664 33630 0110
2 1 33665 32615 32209 0110
2 1 33582 33666 32037 0110
2 1 33667 33560 32364 0110
2 1 33668 33666 33579 0110
2 1 33563 33669 32096 0110
2 1 33541 33670 32053 0110
2 1 33566 33671 32040 0110
2 1 33672 33673 33539 0110
2 1 32250 32596 32465 0110
2 1 33557 33674 32134 0110
2 1 33532 33675 32347 0110
2 1 231 33641 32876 0110
2 1 33676 33677 32201 0110
2 1 32251 32549 32506 0110
2 1 33620 33678 32599 0110
2 1 33679 33671 33647 0110
2 1 33527 33680 32314 0110
2 1 33681 33682 32180 0110
2 1 33572 33683 32030 0110
2 1 33684 33685 33556 0110
2 1 33673 33660 33524 0110
2 1 33678 32615 32516 0110
2 1 33642 33686 32572 0110
2 1 33687 33584 32313 0110
2 1 33688 33538 33624 0110
2 1 33689 33690 33568 0110
2 1 33552 33677 32127 0110
2 1 33657 32593 32199 0110
2 1 33691 33683 33586 0110
2 1 33692 33525 33628 0110
2 1 33693 33674 32254 0110
2 1 33665 33678 32529 0110
2 1 33694 33695 32255 0110
2 1 33529 33664 32018 0110
2 1 33696 33677 33569 0110
2 1 33697 33698 33625 0110
2 1 33636 33699 32575 0110
2 1 33700 33531 33622 0110
2 1 33534 33701 32095 0110
2 1 33702 33666 32205 0110
2 1 33703 33555 33644 0110
2 1 33704 33536 33635 0110
2 1 33705 33670 33559 0110
2 1 33706 33682 33554 0110
2 1 33697 33707 33545 0110
2 1 33708 33691 33580 0110
2 1 33709 33574 33626 0110
2 1 33679 33710 33578 0110
2 1 33711 33677 33646 0110
2 1 33712 33713 33585 0110
2 1 33675 33536 32353 0110
2 1 33714 33701 33619 0110
2 1 33715 33716 32192 0110
2 1 33534 33717 32369 0110
2 1 33718 33698 32212 0110
2 1 32226 32568 32522 0110
2 1 33719 33706 33583 0110
2 1 33707 33698 33581 0110
2 1 33720 33699 32608 0110
2 1 33721 33666 33633 0110
2 1 33699 32530 32473 0110
2 1 33561 33715 32361 0110
2 1 33582 33702 32323 0110
2 1 33658 32593 32468 0110
2 1 33561 33716 32065 0110
2 1 33557 33693 32342 0110
2 1 33722 33723 33562 0110
2 1 33724 33543 32343 0110
2 1 33712 33725 33629 0110
2 1 33680 33537 32331 0110
2 1 247 33643 32877 0110
2 1 33661 33674 33617 0110
2 1 33527 33685 32122 0110
2 1 33663 33726 33577 0110
2 1 33553 33718 32317 0110
2 1 33721 33668 33533 0110
2 1 33715 33555 32311 0110
2 1 33681 33549 32374 0110
2 1 33727 33669 33614 0110
2 1 33667 33683 32256 0110
2 1 33541 33728 32339 0110
2 1 33717 33701 32273 0110
2 1 33729 33537 33632 0110
2 1 33730 33685 33631 0110
2 1 33675 33660 32190 0110
2 1 33681 33547 32332 0110
2 1 33687 33669 32285 0110
2 1 33731 33705 33542 0110
2 1 33659 33725 32220 0110
2 1 33731 33670 33648 0110
2 1 33732 33549 33650 0110
2 1 33680 33685 32211 0110
2 1 33733 33575 33634 0110
2 1 33553 33698 32142 0110
2 1 33734 33543 33621 0110
2 1 33687 33563 32301 0110
2 1 33529 33735 32309 0110
2 1 33667 33572 32289 0110
2 1 33736 32556 32279 0110
2 1 33735 33544 32321 0110
2 1 33728 33525 32398 0110
2 1 33713 33725 33571 0110
2 1 33714 33737 33565 0110
2 1 33686 32556 32501 0110
2 1 33662 33674 33548 0110
2 1 33693 33540 32319 0110
2 1 33738 33551 33612 0110
2 1 33723 33695 33570 0110
2 1 33689 33716 33627 0110
2 1 33672 33660 33640 0110
2 1 33727 33739 33558 0110
2 1 33552 33676 32388 0110
2 1 33719 33682 33613 0110
2 1 33728 33670 32225 0110
2 1 33736 33686 32574 0110
2 1 33526 33695 32020 0110
2 1 33702 33574 32336 0110
2 1 33676 33551 32307 0110
2 1 33710 33671 33576 0110
2 1 33724 33566 32333 0110
2 1 33649 33658 32552 0110
2 1 33526 33694 32370 0110
2 1 33659 33538 32297 0110
2 1 255 33651 32873 0110
2 1 33696 33711 33528 0110
2 1 33708 33683 33645 0110
2 1 33740 33573 33638 0110
2 1 33726 33664 33587 0110
2 1 33741 33560 33616 0110
2 1 33694 33573 32376 0110
2 1 239 33637 32906 0110
2 1 33547 33682 32084 0110
2 1 33735 33664 32210 0110
2 1 33690 33716 33546 0110
2 1 33535 33725 32045 0110
2 1 33742 33544 33639 0110
2 1 32280 32546 32462 0110
2 1 33739 33669 33550 0110
2 1 33718 33575 32399 0110
2 1 33724 33671 32240 0110
2 1 33720 32530 32236 0110
2 1 33737 33701 33567 0110
2 1 33717 33531 32377 0110
2 1 33730 33684 33530 0110
2 1 33743 33584 33615 0110
2 1 33722 33695 33623 0110
1 1 33551 33605 10
1 1 33573 33600 10
1 1 33560 33601 10
1 1 33575 33603 10
1 1 33574 33596 10
1 1 33538 33599 10
1 1 33525 33595 10
1 1 33543 33606 10
1 1 33584 33598 10
1 1 33536 33594 10
1 1 33549 33593 10
1 1 33555 33592 10
1 1 33537 33608 10
1 1 33531 33590 10
1 1 33540 33610 10
1 1 33544 33589 10
2 1 32053 32398 32217 0110
2 1 246 32877 32909 0110
2 1 33612 32388 32257 0110
2 1 33613 32332 32119 0110
2 1 32574 32876 32774 0110
2 1 32598 33533 32729 0110
2 1 33614 33615 32356 0110
2 1 32018 32321 32231 0110
2 1 32127 32307 32230 0110
2 1 33616 32289 32264 0110
2 1 32586 33528 32670 0110
2 1 32549 32608 33473 0110
2 1 32030 32364 32245 0110
2 1 243 32877 32773 0110
2 1 32134 32319 32189 0110
2 1 33617 33618 32329 0110
2 1 33619 32369 32012 0110
2 1 33620 32516 33520 0110
2 1 33621 32333 32177 0110
2 1 33576 33621 32325 0110
2 1 33619 33622 32305 0110
2 1 33623 32370 32055 0110
2 1 33624 32324 32263 0110
2 1 33625 32317 32124 0110
2 1 32045 32297 32265 0110
2 1 33626 32323 32268 0110
2 1 231 32501 32719 0110
2 1 33567 33622 32349 0110
2 1 33627 32361 32022 0110
2 1 33559 33628 32368 0110
2 1 33629 32324 32128 0110
2 1 32601 33545 32765 0110
2 1 227 32876 32769 0110
2 1 33630 32309 32126 0110
2 1 32527 33558 32682 0110
2 1 33631 33632 32396 0110
2 1 32587 33585 32761 0110
2 1 33633 33626 32357 0110
2 1 33634 32317 32233 0110
2 1 33635 32347 32187 0110
2 1 33636 32473 33498 0110
2 1 33637 32468 32456 0110
2 1 235 32906 32771 0110
2 1 33638 32370 32286 0110
2 1 32040 32343 32281 0110
2 1 32602 33562 32704 0110
2 1 247 32473 32660 0110
2 1 33587 33639 32328 0110
2 1 33640 32347 32005 0110
2 1 33641 32501 32519 0110
2 1 33642 32501 33508 0110
2 1 33643 32473 32508 0110
2 1 33556 33632 32395 0110
2 1 33631 32314 32103 0110
2 1 33586 33616 32348 0110
2 1 33644 32361 32253 0110
2 1 33645 32289 32063 0110
2 1 33646 32388 32034 0110
2 1 33579 33626 32384 0110
2 1 33627 33644 32351 0110
2 1 32532 33577 32663 0110
2 1 32576 33578 32692 0110
2 1 32096 32313 32267 0110
2 1 32608 32877 32775 0110
2 1 32596 32529 33502 0110
2 1 33546 33644 32288 0110
2 1 32054 32353 32261 0110
2 1 32529 32873 32776 0110
2 1 33615 32301 32207 0110
2 1 33647 32333 32057 0110
2 1 32546 32574 33493 0110
2 1 33569 33612 32358 0110
2 1 32603 33542 32737 0110
2 1 33524 33635 32337 0110
2 1 33617 32342 32140 0110
2 1 33633 32323 32085 0110
2 1 33632 32314 32185 0110
2 1 33645 33616 32383 0110
2 1 33648 33628 32295 0110
2 1 33570 33638 32308 0110
2 1 32142 32399 32271 0110
2 1 32578 33580 32736 0110
2 1 33581 33634 32380 0110
2 1 32084 32374 32204 0110
2 1 33640 33635 32371 0110
2 1 32568 32580 33476 0110
2 1 33623 33638 32382 0110
2 1 251 32873 32778 0110
2 1 32122 32331 32224 0110
2 1 33639 32309 32214 0110
2 1 238 32906 32875 0110
2 1 33647 33621 32327 0110
2 1 33649 32468 33500 0110
2 1 32565 33539 32758 0110
2 1 32536 33530 32661 0110
2 1 32020 32376 32277 0110
2 1 33554 33650 32381 0110
2 1 33646 33612 32385 0110
2 1 33629 33624 32346 0110
2 1 33625 33634 32387 0110
2 1 33648 32339 32043 0110
2 1 32065 32311 32249 0110
2 1 32558 33564 32691 0110
2 1 33571 33624 32338 0110
2 1 33650 32332 32197 0110
2 1 32524 33568 32679 0110
2 1 254 32873 32878 0110
2 1 32580 32906 32768 0110
2 1 33614 32301 32087 0110
2 1 33651 32516 32457 0110
2 1 255 32516 32665 0110
2 1 32540 33583 32684 0110
2 1 33622 32369 32272 0110
2 1 33618 32342 32182 0110
2 1 32037 32336 32179 0110
2 1 33630 33639 32334 0110
2 1 239 32468 32735 0110
2 1 33550 33615 32316 0110
2 1 32534 33565 32762 0110
2 1 33613 33650 32300 0110
2 1 33548 33618 32365 0110
2 1 33628 32339 32203 0110
2 1 230 32876 32901 0110
2 1 32095 32377 32219 0110
2 1 32608 32549 33409 0001
2 1 32575 32530 33484 0001
2 1 32529 32596 33368 0001
2 1 32580 32568 33436 0001
2 1 32906 33652 33602 0001
2 1 32468 32522 33427 0001
2 1 32552 32593 33495 0001
2 1 32599 32615 33522 0001
2 1 32572 32556 33469 0001
2 1 32501 32462 33401 0001
2 1 32873 33653 33609 0001
2 1 32574 32546 33385 0001
2 1 32199 32226 33604 0001
2 1 32516 32465 33358 0001
2 1 32473 32506 33433 0001
2 1 32209 32250 33607 0001
2 1 32279 32280 33591 0001
2 1 32236 32251 33611 0001
2 1 32876 33654 33597 0001
2 1 32877 33655 33588 0001
2 1 33524 32187 33444 0110
2 1 32300 32374 33456 0110
2 1 33525 32737 32696 0110
2 1 32371 32353 33443 0110
2 1 33526 32704 32579 0110
2 1 33527 32661 32585 0110
2 1 32327 32343 33434 0110
2 1 33528 32257 32270 0110
2 1 32878 32488 32681 0110
2 1 33529 32663 32609 0110
2 1 32356 32313 33378 0110
2 1 32357 32729 32607 0110
2 1 33530 32185 32282 0110
2 1 32532 32214 32513 0110
2 1 32329 32319 33351 0110
2 1 32771 32593 32779 0110
2 1 33531 32762 32767 0110
2 1 33532 32758 32610 0110
2 1 33533 32268 32194 0110
2 1 33534 32762 32570 0110
2 1 32329 32691 32555 0110
2 1 33535 32761 32547 0110
2 1 32602 32286 32485 0110
2 1 32527 32207 32523 0110
2 1 32385 32307 33450 0110
2 1 33536 32758 32662 0110
2 1 33537 32661 32766 0110
2 1 32598 32268 32515 0110
2 1 33538 32761 32734 0110
2 1 33539 32187 32287 0110
2 1 33540 32691 32732 0110
2 1 32508 32500 33429 0110
2 1 33541 32737 32531 0110
2 1 33542 32203 32188 0110
2 1 33543 32692 32695 0110
2 1 32587 32263 32482 0110
2 1 33544 32663 32733 0110
2 1 33545 32233 32227 0110
2 1 32603 32203 32518 0110
2 1 33546 32253 33411 0110
2 1 32524 32253 32478 0110
2 1 32901 32484 32713 0110
2 1 32383 32364 33457 0110
2 1 32334 32321 33375 0110
2 1 32351 32311 33464 0110
2 1 32778 32615 32772 0110
2 1 33547 32684 32611 0110
2 1 33548 32182 33376 0110
2 1 32371 32758 32560 0110
2 1 32300 32684 32566 0110
2 1 32540 32197 32497 0110
2 1 32305 32377 33396 0110
2 1 33549 32684 32674 0110
2 1 33550 32207 33463 0110
2 1 32396 32661 32588 0110
2 1 32346 32297 33383 0110
2 1 33551 32670 32694 0110
2 1 33552 32670 32526 0110
2 1 33553 32765 32551 0110
2 1 33554 32197 33466 0110
2 1 32578 32264 32480 0110
2 1 32382 32376 33372 0110
2 1 32295 32737 32553 0110
2 1 32385 32670 32590 0110
2 1 32565 32187 32511 0110
2 1 32773 32530 32770 0110
2 1 33555 32679 32683 0110
2 1 32456 32477 33449 0110
2 1 33556 32185 33380 0110
2 1 33557 32691 32582 0110
2 1 33558 32207 32191 0110
2 1 32387 32765 32569 0110
2 1 33559 32203 33340 0110
2 1 32382 32704 32539 0110
2 1 32534 32272 32503 0110
2 1 33560 32736 32698 0110
2 1 33561 32679 32561 0110
2 1 33562 32286 32283 0110
2 1 32576 32177 32469 0110
2 1 33563 32682 32583 0110
2 1 32396 32331 33441 0110
2 1 33564 32182 32252 0110
2 1 33565 32272 32247 0110
2 1 33566 32692 32563 0110
2 1 33567 32272 33399 0110
2 1 32327 32692 32591 0110
2 1 32875 32477 32664 0110
2 1 33568 32253 32241 0110
2 1 33569 32257 33424 0110
2 1 32357 32336 33422 0110
2 1 33570 32286 33410 0110
2 1 32383 32736 32581 0110
2 1 33571 32263 33462 0110
2 1 33572 32736 32533 0110
2 1 33573 32704 32757 0110
2 1 32601 32233 32493 0110
2 1 33574 32729 32680 0110
2 1 33575 32765 32724 0110
2 1 33576 32177 33389 0110
2 1 32586 32257 32507 0110
2 1 33577 32214 32274 0110
2 1 33578 32177 32221 0110
2 1 32356 32682 32584 0110
2 1 33579 32268 33467 0110
2 1 33580 32264 32242 0110
2 1 32558 32182 32498 0110
2 1 33581 32233 33393 0110
2 1 32909 32500 32714 0110
2 1 33582 32729 32589 0110
2 1 32536 32185 32505 0110
2 1 32305 32762 32571 0110
2 1 32519 32484 33440 0110
2 1 32295 32398 33397 0110
2 1 33583 32197 32222 0110
2 1 33584 32682 32671 0110
2 1 32334 32663 32600 0110
2 1 33585 32263 32239 0110
2 1 32346 32761 32562 0110
2 1 32769 32556 32777 0110
2 1 32351 32679 32535 0110
2 1 33586 32264 33430 0110
2 1 33587 32214 33359 0110
2 1 32457 32488 33405 0110
2 1 32387 32399 33459 0110
2 1 32325 32333 33366 0001
2 1 32457 32488 33521 0001
2 1 32769 231 33519 0001
2 1 32778 255 33504 0001
2 1 32395 32314 33356 0001
2 1 32268 32179 33262 0001
2 1 32288 32361 33414 0001
2 1 32057 32040 33510 0001
2 1 32012 32095 33518 0001
2 1 32358 32388 33388 0001
2 1 33588 33409 33415 0110
2 1 32365 32342 33364 0001
2 1 32663 33589 33509 0001
2 1 32233 32271 33335 0001
2 1 32182 32189 33217 0001
2 1 32286 32277 33313 0001
2 1 32087 32096 33491 0001
2 1 32327 32343 33231 0001
2 1 32762 33590 33505 0001
2 1 32034 32127 33488 0001
2 1 32382 32376 33209 0001
2 1 32334 32321 33270 0001
2 1 32187 32261 33280 0001
2 1 33591 33469 33492 0110
2 1 32371 32353 33282 0001
2 1 32119 32084 33513 0001
2 1 32349 32369 33438 0001
2 1 32207 32267 33205 0001
2 1 32508 32500 33483 0001
2 1 32214 32231 33288 0001
2 1 32679 33592 33471 0001
2 1 32316 32301 33374 0001
2 1 32684 33593 33516 0001
2 1 32272 32219 33290 0001
2 1 32197 32204 33315 0001
2 1 32758 33594 33514 0001
2 1 32295 32398 33326 0001
2 1 32737 33595 33512 0001
2 1 32729 33596 33482 0001
2 1 32771 239 33511 0001
2 1 32085 32037 33486 0001
2 1 32338 32324 33461 0001
2 1 33597 33385 33417 0110
2 1 32308 32370 33362 0001
2 1 32519 32484 33468 0001
2 1 32263 32265 33284 0001
2 1 32682 33598 33470 0001
2 1 32385 32307 33268 0001
2 1 32384 32323 33403 0001
2 1 32351 32311 33292 0001
2 1 32761 33599 33489 0001
2 1 32356 32313 33249 0001
2 1 32380 32317 33452 0001
2 1 32704 33600 33503 0001
2 1 32736 33601 33490 0001
2 1 32124 32142 33479 0001
2 1 32005 32054 33506 0001
2 1 32300 32374 33324 0001
2 1 32305 32377 33227 0001
2 1 32383 32364 33299 0001
2 1 33602 33436 33406 0110
2 1 32765 33603 33485 0001
2 1 33604 33495 33475 0110
2 1 32670 33605 33523 0001
2 1 32692 33606 33480 0001
2 1 32368 32339 33454 0001
2 1 32140 32134 33499 0001
2 1 32185 32224 33251 0001
2 1 32063 32030 33481 0001
2 1 32337 32347 33348 0001
2 1 32773 247 33507 0001
2 1 33607 33522 33501 0110
2 1 32381 32332 33420 0001
2 1 32126 32018 33478 0001
2 1 32456 32477 33494 0001
2 1 32329 32319 33207 0001
2 1 32396 32331 33199 0001
2 1 32357 32336 33330 0001
2 1 32264 32245 33278 0001
2 1 32328 32309 33392 0001
2 1 32103 32122 33496 0001
2 1 32661 33608 33517 0001
2 1 32203 32217 33307 0001
2 1 32257 32230 33264 0001
2 1 32348 32289 33446 0001
2 1 32253 32249 33221 0001
2 1 32043 32053 33487 0001
2 1 32177 32281 33319 0001
2 1 32055 32020 33497 0001
2 1 32022 32065 33474 0001
2 1 32387 32399 33245 0001
2 1 33609 33368 33343 0110
2 1 32346 32297 33203 0001
2 1 32691 33610 33477 0001
2 1 33611 33484 33472 0110
2 1 32128 32045 33515 0001
2 1 32222 32180 33215 0110
2 1 32531 32339 32550 0110
2 1 32247 32273 33328 0110
2 1 32775 32770 33189 0110
2 1 32579 32370 32577 0110
2 1 32680 32205 32520 0110
2 1 32768 32779 33103 0110
2 1 32609 32309 32613 0110
2 1 32287 32190 33254 0110
2 1 32610 32347 32559 0110
2 1 32694 32201 32514 0110
2 1 32582 32342 32543 0110
2 1 32283 32255 33258 0110
2 1 32774 32777 33147 0110
2 1 32732 32254 32491 0110
2 1 32733 32210 32479 0110
2 1 32696 32225 32489 0110
2 1 32188 32225 33237 0110
2 1 32757 32255 32521 0110
2 1 32589 32323 32538 0110
2 1 32561 32361 32525 0110
2 1 32282 32211 33333 0110
2 1 32194 32205 33197 0110
2 1 32583 32301 32594 0110
2 1 32671 32285 32495 0110
2 1 32585 32314 32564 0110
2 1 32695 32240 32517 0110
2 1 32551 32317 32557 0110
2 1 32767 32273 32509 0110
2 1 32734 32220 32483 0110
2 1 32698 32256 32486 0110
2 1 32563 32333 32595 0110
2 1 32611 32332 32554 0110
2 1 32547 32324 32612 0110
2 1 32241 32192 33213 0110
2 1 32274 32210 33260 0110
2 1 32570 32369 32606 0110
2 1 32221 32240 33297 0110
2 1 32270 32201 33201 0110
2 1 32776 32772 33171 0110
2 1 32724 32212 32476 0110
2 1 32766 32211 32510 0110
2 1 32533 32289 32614 0110
2 1 32526 32388 32573 0110
2 1 32239 32220 33272 0110
2 1 32662 32190 32494 0110
2 1 32242 32256 33274 0110
2 1 32191 32285 33233 0110
2 1 32674 32180 32512 0110
2 1 32227 32212 33243 0110
2 1 32252 32254 33321 0110
2 1 32683 32192 32490 0110
2 1 33468 33469 33247 0110
2 1 33470 33249 33336 0110
2 1 33471 33292 33234 0110
2 1 32274 32210 33391 0001
2 1 32664 32735 33426 0001
2 1 33472 33473 33416 0110
2 1 33474 33414 33412 0110
2 1 33475 33476 33407 0110
2 1 33477 33207 33338 0110
2 1 33478 33392 33360 0110
2 1 33479 33452 33394 0110
2 1 33480 33231 33293 0110
2 1 32191 32285 33373 0001
2 1 32779 32768 33435 0001
2 1 32227 32212 33451 0001
2 1 32609 32532 33465 0001
2 1 32551 32601 33353 0001
2 1 32247 32273 33437 0001
2 1 33481 33446 33431 0110
2 1 32283 32255 33361 0001
2 1 33482 33330 33238 0110
2 1 32287 32190 33347 0001
2 1 33483 33484 33211 0110
2 1 33485 33245 33275 0110
2 1 33486 33403 33421 0110
2 1 33487 33454 33341 0110
2 1 32714 32660 33432 0001
2 1 33488 33388 33425 0110
2 1 33489 33203 33316 0110
2 1 32526 32586 33398 0001
2 1 32713 32719 33400 0001
2 1 33490 33299 33240 0110
2 1 32194 32205 33402 0001
2 1 32563 32576 33346 0001
2 1 33491 33374 33377 0110
2 1 33492 33493 33418 0110
2 1 33494 33495 33303 0110
2 1 33496 33356 33381 0110
2 1 32547 32587 33354 0001
2 1 32533 32578 33458 0001
2 1 32222 32180 33419 0001
2 1 33497 33362 33371 0110
2 1 33498 33472 33286 0110
2 1 33499 33364 33350 0110
2 1 32239 32220 33460 0001
2 1 32561 32524 33349 0001
2 1 33500 33475 33219 0110
2 1 33501 33502 33344 0110
2 1 32770 32775 33408 0001
2 1 32585 32536 33379 0001
2 1 33503 33209 33308 0110
2 1 33504 33358 33404 0110
2 1 33505 33227 33300 0110
2 1 32610 32565 33345 0001
2 1 32579 32602 33369 0001
2 1 33506 33348 33442 0110
2 1 33507 33433 33428 0110
2 1 33508 33492 33311 0110
2 1 32589 32598 33423 0001
2 1 33509 33270 33265 0110
2 1 32681 32665 33357 0001
2 1 33510 33366 33390 0110
2 1 33511 33427 33448 0110
2 1 33512 33326 33228 0110
2 1 33513 33420 33455 0110
2 1 32270 32201 33387 0001
2 1 33514 33282 33255 0110
2 1 33515 33461 33382 0110
2 1 32772 32776 33367 0001
2 1 33516 33324 33222 0110
2 1 33517 33199 33304 0110
2 1 32531 32603 33447 0001
2 1 33518 33438 33395 0110
2 1 32252 32254 33363 0001
2 1 32570 32534 33370 0001
2 1 32221 32240 33365 0001
2 1 32282 32211 33355 0001
2 1 33519 33401 33439 0110
2 1 32241 32192 33413 0001
2 1 32188 32225 33453 0001
2 1 32582 32558 33386 0001
2 1 32777 32774 33384 0001
2 1 33520 33501 33225 0110
2 1 33521 33522 33193 0110
2 1 32611 32540 33352 0001
2 1 32583 32527 33342 0001
2 1 32242 32256 33445 0001
2 1 33523 33268 33194 0110
2 1 32557 32569 33063 0110
2 1 32525 32535 33059 0110
2 1 32577 32539 33040 0110
2 1 32606 32571 33025 0110
2 1 32550 32553 33080 0110
2 1 32564 32588 33091 0110
2 1 32538 32607 33017 0110
2 1 32614 32581 33083 0110
2 1 32573 32590 33046 0110
2 1 32613 32600 33038 0110
2 1 32595 32591 33020 0110
2 1 32554 32566 33088 0110
2 1 32543 32555 33077 0110
2 1 32559 32560 33085 0110
2 1 32594 32584 33070 0110
2 1 32612 32562 33042 0110
2 1 33340 33341 33109 0110
2 1 32483 32482 33283 0001
2 1 33342 33205 33232 0110
2 1 32525 32535 33291 0001
2 1 33343 33344 33065 0110
2 1 32517 32469 33318 0001
2 1 33345 33280 33253 0110
2 1 33346 33319 33296 0110
2 1 32486 32480 33277 0001
2 1 33347 33348 33134 0110
2 1 33349 33221 33212 0110
2 1 33350 33351 33339 0110
2 1 33352 33315 33214 0110
2 1 33353 33335 33242 0110
2 1 33354 33284 33271 0110
2 1 33355 33356 33150 0110
2 1 33357 33358 33224 0110
2 1 32489 32518 33306 0001
2 1 33359 33360 33163 0110
2 1 33361 33362 33181 0110
2 1 33363 33364 33105 0110
2 1 33365 33366 33176 0110
2 1 33367 33368 33252 0110
2 1 33369 33313 33257 0110
2 1 33370 33290 33327 0110
2 1 33371 33372 33309 0110
2 1 33373 33374 33167 0110
2 1 33360 33375 33266 0110
2 1 33376 33350 33113 0110
2 1 33377 33378 33337 0110
2 1 33379 33251 33332 0110
2 1 33380 33381 33136 0110
2 1 32476 32493 33334 0001
2 1 33382 33383 33317 0110
2 1 33384 33385 33246 0110
2 1 33386 33217 33320 0110
2 1 33387 33388 33158 0110
2 1 32573 32590 33267 0001
2 1 32557 32569 33244 0001
2 1 33389 33390 33156 0110
2 1 32491 32498 33216 0001
2 1 33391 33392 33143 0110
2 1 32559 32560 33281 0001
2 1 33393 33394 33173 0110
2 1 33395 33396 33301 0110
2 1 33341 33397 33229 0110
2 1 33398 33264 33200 0110
2 1 32612 32562 33202 0001
2 1 33399 33395 33121 0110
2 1 32509 32503 33289 0001
2 1 33400 33401 33310 0110
2 1 32490 32478 33220 0001
2 1 32550 32553 33325 0001
2 1 32564 32588 33198 0001
2 1 32520 32515 33261 0001
2 1 32495 32523 33204 0001
2 1 32595 32591 33230 0001
2 1 33402 33403 33129 0110
2 1 33404 33405 33192 0110
2 1 33406 33407 33050 0110
2 1 33408 33409 33322 0110
2 1 33410 33371 33119 0110
2 1 33411 33412 33097 0110
2 1 32514 32507 33263 0001
2 1 33413 33414 33145 0110
2 1 32554 32566 33323 0001
2 1 33415 33416 33064 0110
2 1 33417 33418 33060 0110
2 1 33419 33420 33117 0110
2 1 33421 33422 33239 0110
2 1 32543 32555 33206 0001
2 1 33423 33262 33196 0110
2 1 33424 33425 33187 0110
2 1 33426 33427 33218 0110
2 1 32613 32600 33269 0001
2 1 33428 33429 33210 0110
2 1 33430 33431 33179 0110
2 1 32521 32485 33312 0001
2 1 33432 33433 33285 0110
2 1 33390 33434 33294 0110
2 1 33435 33436 33331 0110
2 1 33437 33438 33099 0110
2 1 33439 33440 33295 0110
2 1 33381 33441 33305 0110
2 1 33442 33443 33256 0110
2 1 32538 32607 33329 0001
2 1 32614 32581 33298 0001
2 1 33444 33442 33111 0110
2 1 32510 32505 33250 0001
2 1 32494 32511 33279 0001
2 1 33445 33446 33115 0110
2 1 33447 33307 33236 0110
2 1 33448 33449 33302 0110
2 1 33425 33450 33195 0110
2 1 33451 33452 33123 0110
2 1 33453 33454 33132 0110
2 1 33455 33456 33223 0110
2 1 33431 33457 33241 0110
2 1 32577 32539 33208 0001
2 1 32606 32571 33226 0001
2 1 33458 33278 33273 0110
2 1 33394 33459 33276 0110
2 1 33460 33461 33126 0110
2 1 33462 33382 33185 0110
2 1 33463 33377 33138 0110
2 1 33412 33464 33235 0110
2 1 32594 32584 33248 0001
2 1 33465 33288 33259 0110
2 1 33466 33455 33160 0110
2 1 32512 32497 33314 0001
2 1 32479 32513 33287 0001
2 1 33467 33421 33153 0110
2 1 33192 33193 32898 0110
2 1 33194 33195 32931 0110
2 1 33196 33197 33169 0110
2 1 33198 33199 33151 0110
2 1 33200 33201 33157 0110
2 1 33202 33203 33125 0110
2 1 33204 33205 33137 0110
2 1 33206 33207 33174 0110
2 1 33208 33209 33180 0110
2 1 33210 33211 32888 0110
2 1 33212 33213 33144 0110
2 1 33214 33215 33116 0110
2 1 33216 33217 33112 0110
2 1 33218 33219 33100 0110
2 1 33220 33221 33096 0110
2 1 33222 33223 32945 0110
2 1 33224 33225 33140 0110
2 1 33226 33227 33098 0110
2 1 33228 33229 32934 0110
2 1 33230 33231 33177 0110
2 1 33232 33233 33166 0110
2 1 33234 33235 32966 0110
2 1 33236 33237 33131 0110
2 1 33238 33239 32926 0110
2 1 33240 33241 32978 0110
2 1 33242 33243 33122 0110
2 1 33244 33245 33127 0110
2 1 33246 33247 33146 0110
2 1 33248 33249 33190 0110
2 1 33250 33251 33135 0110
2 1 33252 33193 33170 0110
2 1 33253 33254 33133 0110
2 1 33255 33256 32948 0110
2 1 33257 33258 33182 0110
2 1 33259 33260 33142 0110
2 1 33261 33262 33152 0110
2 1 33263 33264 33186 0110
2 1 33265 33266 32967 0110
2 1 33267 33268 33183 0110
2 1 33269 332
gitextract_g4ee05bk/
├── .dockerignore
├── .github/
│ └── ISSUE_TEMPLATE/
│ └── bug-report.md
├── .gitignore
├── .travis.yml
├── CMakeLists.txt
├── LICENSE
├── README.md
├── assets/
│ └── circuits/
│ ├── arithmetic/
│ │ └── StatisticCircuit/
│ │ ├── ArithmeticStatistics1PairsAnd200SamplesFor4Parties.txt
│ │ └── inputs400.txt
│ └── boolean/
│ ├── ADD32/
│ │ ├── ADDPartyOneInputs.txt
│ │ ├── ADDPartyTwoInputs.txt
│ │ ├── multiparty/
│ │ │ └── NigelAdd32.txt
│ │ └── twoparty/
│ │ └── NigelAdd32.txt
│ ├── AES/
│ │ ├── AESPartyOneInputs.txt
│ │ ├── AESPartyTwoInputs.txt
│ │ ├── multiparty/
│ │ │ └── NigelAes.txt
│ │ └── twoparty/
│ │ └── NigelAes.txt
│ ├── MULT16/
│ │ ├── MULTPartyOneInputs.txt
│ │ ├── MULTPartyTwoInputs.txt
│ │ └── twoparty/
│ │ └── Mult16.txt
│ ├── SHA1/
│ │ ├── SHA1PartyOneInputs.txt
│ │ ├── SHA1PartyTwoInputs.txt
│ │ ├── multiparty/
│ │ │ └── NigelSHA1.txt
│ │ └── twoparty/
│ │ └── NigelSHA1.txt
│ └── SHA256/
│ ├── SHA256PartyOneInputs.txt
│ ├── SHA256PartyTwoInputs.txt
│ ├── multiparty/
│ │ └── NigelSHA256.txt
│ └── twoparty/
│ └── NigelSHA256.txt
├── build_scripts/
│ ├── INSTALL.md
│ ├── LICENSE.md
│ ├── build.sh
│ ├── copyright.sh
│ ├── copyright.txt
│ ├── do
│ ├── docker_clean.sh
│ ├── merge_git.sh
│ ├── rebuild.sh
│ ├── rebuildBase.sh
│ ├── rebuildLibs.sh
│ ├── rebuildProtocols.sh
│ └── rebuild_docker_image.sh
├── dockerfiles/
│ ├── Dockerfile
│ ├── DockerfileLibs
│ ├── DockerfileProtocols
│ └── PrerequisitesDockerfie
├── docs/
│ ├── make.bat
│ ├── requirements.txt
│ └── source/
│ ├── circuits.rst
│ ├── communication.rst
│ ├── conf.py
│ ├── index.rst
│ ├── install.rst
│ ├── interactive_layer/
│ │ ├── commitments.rst
│ │ ├── ot.rst
│ │ ├── sigma_protocols.rst
│ │ └── zk.rst
│ ├── interactive_layer.rst
│ ├── intro.rst
│ ├── license.rst
│ ├── mid_layer/
│ │ ├── asymmetric_enc.rst
│ │ ├── mac.rst
│ │ └── symmetric_enc.rst
│ ├── mid_layer.rst
│ ├── primitives/
│ │ ├── cryptographic_hash.rst
│ │ ├── dlog.rst
│ │ ├── kdf.rst
│ │ ├── pseudorandom_function.rst
│ │ ├── pseudorandom_generator.rst
│ │ ├── pseudorandom_permutation.rst
│ │ └── trapdoor_permutation.rst
│ ├── primitives.rst
│ ├── quickstart.rst
│ └── security_levels.rst
├── examples/
│ ├── CMakeLists.txt
│ ├── Comm/
│ │ ├── CommConfig.txt
│ │ └── comm_example.cpp
│ ├── Commitment/
│ │ ├── CommitmentConfig.txt
│ │ ├── CommitmentExample.cpp
│ │ └── CommitmentExample.hpp
│ ├── OT/
│ │ ├── OTConfig.txt
│ │ ├── OTExample.cpp
│ │ └── OTExample.h
│ ├── OTExtensionBristol/
│ │ └── OTExtensionBristolExample.cpp
│ ├── SigmaProtocols/
│ │ ├── SigmaConfig.txt
│ │ ├── SigmaProtocolExample.cpp
│ │ └── SigmaProtocolExample.hpp
│ ├── Simple/
│ │ ├── simple_dlog.cpp
│ │ ├── simple_gmac.cpp
│ │ └── simple_sha1.cpp
│ ├── assets/
│ │ ├── circuits/
│ │ │ ├── ADD/
│ │ │ │ ├── ADDPartyOneInputs.txt
│ │ │ │ ├── ADDPartyTwoInputs.txt
│ │ │ │ └── NigelAdd32.txt
│ │ │ ├── AES/
│ │ │ │ ├── AESPartyOneInputs.txt
│ │ │ │ ├── AESPartyTwoInputs.txt
│ │ │ │ ├── AES_Final-2.txt
│ │ │ │ └── NigelAes.txt
│ │ │ ├── AESMULT/
│ │ │ │ ├── AESPartyInputs1.txt
│ │ │ │ ├── AESPartyOneInputs.txt
│ │ │ │ ├── AESPartyOneInputs96.txt
│ │ │ │ ├── AESPartyTwoInputs.txt
│ │ │ │ ├── AesExpandedMultPartyOneInputs.txt
│ │ │ │ ├── AesExpandedPartyOneInputs.txt
│ │ │ │ ├── AesExpandedPartyOneInputs16.txt
│ │ │ │ ├── AesExpandedPartyTwoInputs.txt
│ │ │ │ ├── NigelAesExpanded.txt
│ │ │ │ ├── NigelAesExpandedMultiple.txt
│ │ │ │ ├── NigelAesExpandedMultiple96.txt
│ │ │ │ ├── NigelAesMultiple.txt
│ │ │ │ └── NigelAesMultiple96.txt
│ │ │ ├── CheatingRecovery/
│ │ │ │ ├── UnlockP1Input.txt
│ │ │ │ ├── UnlockP1InputASha1.txt
│ │ │ │ ├── UnlockP1InputAdd.txt
│ │ │ │ ├── UnlockP1InputMinCut.txt
│ │ │ │ ├── UnlockP1InputSHA256.txt
│ │ │ │ └── UnlockP1InputSha1.txt
│ │ │ ├── SHA1/
│ │ │ │ ├── NigelSHA1.txt
│ │ │ │ ├── SHA1PartyOneInputs.txt
│ │ │ │ └── SHA1PartyTwoInputs.txt
│ │ │ └── SHA256/
│ │ │ ├── NigelSHA256.txt
│ │ │ ├── SHA256PartyOneInputs.txt
│ │ │ └── SHA256PartyTwoInputs.txt
│ │ ├── conf/
│ │ │ ├── Parties0.properties
│ │ │ └── Parties1.properties
│ │ └── ssl_keys/
│ │ ├── dh512.pem
│ │ ├── server.crt
│ │ ├── server.csr
│ │ ├── server.key
│ │ └── server.key.secure
│ ├── examples_main.cpp
│ └── examples_main.hpp
├── include/
│ ├── circuits/
│ │ ├── ArithmeticCircuit.hpp
│ │ ├── BooleanCircuits.hpp
│ │ ├── Compat.h
│ │ ├── Config.h
│ │ ├── FourToTwoGarbledBoleanCircuitNoAssumptions.h
│ │ ├── FreeXorGarbledBooleanCircuit.h
│ │ ├── GarbledBooleanCircuit.h
│ │ ├── GarbledBooleanCircuitFixedKey.h
│ │ ├── GarbledBooleanCircuitNoFixedKey.h
│ │ ├── GarbledBooleanCircuitNoIntrinsics.h
│ │ ├── GarbledCircuitFactory.hpp
│ │ ├── GarbledGate.h
│ │ ├── HalfGatesGarbledBoleanCircuitNoFixedKey.h
│ │ ├── HalfGatesGarbledBooleanCircuit.h
│ │ ├── RowReductionGarbledBooleanCircuit.h
│ │ ├── StandardGarbledBooleanCircuit.h
│ │ ├── TGate.hpp
│ │ ├── TedKrovetzAesNiWrapperC.h
│ │ └── intrinsic.h
│ ├── comm/
│ │ ├── Comm.hpp
│ │ ├── CommBF.hpp
│ │ ├── CommUDP.hpp
│ │ ├── MPCCommunication.hpp
│ │ ├── MPCCommunicationBF.hpp
│ │ ├── Message.hpp
│ │ ├── Network.h
│ │ ├── PeerInfo.h
│ │ └── utils.h
│ ├── configFiles/
│ │ └── NISTEC.txt
│ ├── cryptoInfra/
│ │ ├── Key.hpp
│ │ ├── PlainText.hpp
│ │ ├── Protocol.hpp
│ │ └── SecurityLevel.hpp
│ ├── infra/
│ │ ├── Common.hpp
│ │ ├── ConfigFile.hpp
│ │ ├── File.hpp
│ │ ├── Log.hpp
│ │ ├── MathAlgorithms.hpp
│ │ ├── Measurement.hpp
│ │ ├── Scanner.hpp
│ │ ├── aes_arm.h
│ │ ├── json.hpp
│ │ └── sse2neon.h
│ ├── interactive_mid_protocols/
│ │ ├── CommitmentScheme.hpp
│ │ ├── CommitmentSchemeElGamal.hpp
│ │ ├── CommitmentSchemeElGamalHash.hpp
│ │ ├── CommitmentSchemeEquivocal.hpp
│ │ ├── CommitmentSchemePedersen.hpp
│ │ ├── CommitmentSchemePedersenHash.hpp
│ │ ├── CommitmentSchemePedersenTrapdoor.hpp
│ │ ├── CommitmentSchemeSimpleHash.hpp
│ │ ├── OT.hpp
│ │ ├── OTBatch.hpp
│ │ ├── OTExtensionBristol.hpp
│ │ ├── OTExtensionEncrypto.hpp
│ │ ├── OTFullSimulation.hpp
│ │ ├── OTFullSimulationROM.hpp
│ │ ├── OTOneSidedSimulation.hpp
│ │ ├── OTPrivacyOnly.hpp
│ │ ├── OTSemiHonest.hpp
│ │ ├── OTUC.hpp
│ │ ├── RandomValue.hpp
│ │ ├── SigmaProtocol.hpp
│ │ ├── SigmaProtocolAnd.hpp
│ │ ├── SigmaProtocolCramerShoupEncryptedValue.hpp
│ │ ├── SigmaProtocolDH.hpp
│ │ ├── SigmaProtocolDHExtended.hpp
│ │ ├── SigmaProtocolDamgardJurikEncryptedValue.hpp
│ │ ├── SigmaProtocolDamgardJurikEncryptedZero.hpp
│ │ ├── SigmaProtocolDamgardJurikProduct.hpp
│ │ ├── SigmaProtocolDlog.hpp
│ │ ├── SigmaProtocolElGamalCmtKnowledge.hpp
│ │ ├── SigmaProtocolElGamalCommittedValue.hpp
│ │ ├── SigmaProtocolElGamalEncryptedValue.hpp
│ │ ├── SigmaProtocolElGamalPrivateKey.hpp
│ │ ├── SigmaProtocolOrMultiple.hpp
│ │ ├── SigmaProtocolOrTwo.hpp
│ │ ├── SigmaProtocolPedersenCmtKnowledge.hpp
│ │ ├── SigmaProtocolPedersenCommittedValue.hpp
│ │ └── ZeroKnowledge.hpp
│ ├── mid_layer/
│ │ ├── AsymmetricEnc.hpp
│ │ ├── BiLinearMaps.hpp
│ │ ├── CramerShoupEnc.hpp
│ │ ├── DamgardJurikEnc.hpp
│ │ ├── ElGamalEnc.hpp
│ │ ├── Mac.hpp
│ │ ├── OpenSSLMac.h
│ │ ├── OpenSSLSymmetricEnc.hpp
│ │ └── SymmetricEnc.hpp
│ └── primitives/
│ ├── Dlog.hpp
│ ├── DlogOpenSSL.hpp
│ ├── Hash.hpp
│ ├── HashBlake2.hpp
│ ├── HashOpenSSL.hpp
│ ├── Kdf.hpp
│ ├── Matrix.hpp
│ ├── Mersenne.hpp
│ ├── Prf.hpp
│ ├── PrfOpenSSL.hpp
│ ├── Prg.hpp
│ ├── RandomOracle.hpp
│ ├── TrapdoorPermutation.hpp
│ └── TrapdoorPermutationOpenSSL.hpp
├── lib/
│ ├── BLAKE2/
│ │ ├── .gitignore
│ │ ├── Blake2/
│ │ │ ├── Blake2/
│ │ │ │ ├── Blake2.vcxproj
│ │ │ │ ├── Blake2.vcxproj.filters
│ │ │ │ └── Blake2.vcxproj.user
│ │ │ ├── Blake2.sln
│ │ │ └── testBlake2/
│ │ │ ├── test.cpp
│ │ │ ├── testBlake2.vcxproj
│ │ │ └── testBlake2.vcxproj.filters
│ │ ├── COPYING
│ │ ├── README.md
│ │ └── sse/
│ │ ├── blake2-config.h
│ │ ├── blake2-impl.h
│ │ ├── blake2.h
│ │ ├── blake2b-load-sse2.h
│ │ ├── blake2b-load-sse41.h
│ │ ├── blake2b-round.h
│ │ ├── blake2b.c
│ │ ├── blake2bp.c
│ │ ├── blake2s-load-sse2.h
│ │ ├── blake2s-load-sse41.h
│ │ ├── blake2s-load-xop.h
│ │ ├── blake2s-round.h
│ │ ├── blake2sp.c
│ │ ├── genkat-c.c
│ │ ├── genkat-json.c
│ │ └── makefile
│ ├── COTShortKeys/
│ │ ├── COTSK.cpp
│ │ ├── COTSK.h
│ │ ├── COTSK_Prg.h
│ │ ├── COTSK_Receiver_impl.h
│ │ ├── COTSK_Sender_impl.h
│ │ ├── COTSK_Test
│ │ ├── COTSK_Test.cpp
│ │ ├── COTSK_impl.h
│ │ ├── COTSK_types.h
│ │ ├── MPCCommunicationEX.hpp
│ │ ├── args.hxx
│ │ ├── gf2x_util.h
│ │ ├── makefile
│ │ └── transpose.h
│ ├── KCP/
│ │ ├── ikcp.c
│ │ └── ikcp.h
│ ├── NTL/
│ │ ├── README
│ │ ├── doc/
│ │ │ ├── BasicThreadPool.cpp.html
│ │ │ ├── BasicThreadPool.txt
│ │ │ ├── GF2.cpp.html
│ │ │ ├── GF2.txt
│ │ │ ├── GF2E.cpp.html
│ │ │ ├── GF2E.txt
│ │ │ ├── GF2EX.cpp.html
│ │ │ ├── GF2EX.txt
│ │ │ ├── GF2EXFactoring.cpp.html
│ │ │ ├── GF2EXFactoring.txt
│ │ │ ├── GF2X.cpp.html
│ │ │ ├── GF2X.txt
│ │ │ ├── GF2XFactoring.cpp.html
│ │ │ ├── GF2XFactoring.txt
│ │ │ ├── GF2XVec.cpp.html
│ │ │ ├── GF2XVec.txt
│ │ │ ├── HNF.cpp.html
│ │ │ ├── HNF.txt
│ │ │ ├── LLL.cpp.html
│ │ │ ├── LLL.txt
│ │ │ ├── Lazy.cpp.html
│ │ │ ├── Lazy.txt
│ │ │ ├── LazyTable.cpp.html
│ │ │ ├── LazyTable.txt
│ │ │ ├── RR.cpp.html
│ │ │ ├── RR.txt
│ │ │ ├── SmartPtr.cpp.html
│ │ │ ├── SmartPtr.txt
│ │ │ ├── ZZ.cpp.html
│ │ │ ├── ZZ.txt
│ │ │ ├── ZZVec.cpp.html
│ │ │ ├── ZZVec.txt
│ │ │ ├── ZZX.cpp.html
│ │ │ ├── ZZX.txt
│ │ │ ├── ZZXFactoring.cpp.html
│ │ │ ├── ZZXFactoring.txt
│ │ │ ├── ZZ_limbs.cpp.html
│ │ │ ├── ZZ_limbs.txt
│ │ │ ├── ZZ_p.cpp.html
│ │ │ ├── ZZ_p.txt
│ │ │ ├── ZZ_pE.cpp.html
│ │ │ ├── ZZ_pE.txt
│ │ │ ├── ZZ_pEX.cpp.html
│ │ │ ├── ZZ_pEX.txt
│ │ │ ├── ZZ_pEXFactoring.cpp.html
│ │ │ ├── ZZ_pEXFactoring.txt
│ │ │ ├── ZZ_pX.cpp.html
│ │ │ ├── ZZ_pX.txt
│ │ │ ├── ZZ_pXFactoring.cpp.html
│ │ │ ├── ZZ_pXFactoring.txt
│ │ │ ├── config.txt
│ │ │ ├── conversions.txt
│ │ │ ├── copying.txt
│ │ │ ├── flags.txt
│ │ │ ├── lzz_p.cpp.html
│ │ │ ├── lzz_p.txt
│ │ │ ├── lzz_pE.cpp.html
│ │ │ ├── lzz_pE.txt
│ │ │ ├── lzz_pEX.cpp.html
│ │ │ ├── lzz_pEX.txt
│ │ │ ├── lzz_pEXFactoring.cpp.html
│ │ │ ├── lzz_pEXFactoring.txt
│ │ │ ├── lzz_pX.cpp.html
│ │ │ ├── lzz_pX.txt
│ │ │ ├── lzz_pXFactoring.cpp.html
│ │ │ ├── lzz_pXFactoring.txt
│ │ │ ├── mat_GF2.cpp.html
│ │ │ ├── mat_GF2.txt
│ │ │ ├── mat_GF2E.cpp.html
│ │ │ ├── mat_GF2E.txt
│ │ │ ├── mat_RR.cpp.html
│ │ │ ├── mat_RR.txt
│ │ │ ├── mat_ZZ.cpp.html
│ │ │ ├── mat_ZZ.txt
│ │ │ ├── mat_ZZ_p.cpp.html
│ │ │ ├── mat_ZZ_p.txt
│ │ │ ├── mat_ZZ_pE.cpp.html
│ │ │ ├── mat_ZZ_pE.txt
│ │ │ ├── mat_lzz_p.cpp.html
│ │ │ ├── mat_lzz_p.txt
│ │ │ ├── mat_lzz_pE.cpp.html
│ │ │ ├── mat_lzz_pE.txt
│ │ │ ├── mat_poly_ZZ.cpp.html
│ │ │ ├── mat_poly_ZZ.txt
│ │ │ ├── mat_poly_ZZ_p.cpp.html
│ │ │ ├── mat_poly_ZZ_p.txt
│ │ │ ├── mat_poly_lzz_p.cpp.html
│ │ │ ├── mat_poly_lzz_p.txt
│ │ │ ├── matrix.cpp.html
│ │ │ ├── matrix.txt
│ │ │ ├── names.txt
│ │ │ ├── pair.cpp.html
│ │ │ ├── pair.txt
│ │ │ ├── quad_float.cpp.html
│ │ │ ├── quad_float.txt
│ │ │ ├── sedscript.txt
│ │ │ ├── tools.cpp.html
│ │ │ ├── tools.txt
│ │ │ ├── tour-ack.html
│ │ │ ├── tour-changes.html
│ │ │ ├── tour-ex1.html
│ │ │ ├── tour-ex2.html
│ │ │ ├── tour-ex3.html
│ │ │ ├── tour-ex4.html
│ │ │ ├── tour-ex5.html
│ │ │ ├── tour-ex6.html
│ │ │ ├── tour-ex7.html
│ │ │ ├── tour-examples.html
│ │ │ ├── tour-gf2x.html
│ │ │ ├── tour-gmp.html
│ │ │ ├── tour-impl.html
│ │ │ ├── tour-intro.html
│ │ │ ├── tour-modules.html
│ │ │ ├── tour-roadmap.html
│ │ │ ├── tour-struct.html
│ │ │ ├── tour-time.html
│ │ │ ├── tour-tips.html
│ │ │ ├── tour-unix.html
│ │ │ ├── tour-win.html
│ │ │ ├── tour.html
│ │ │ ├── vec_GF2.cpp.html
│ │ │ ├── vec_GF2.txt
│ │ │ ├── vec_GF2E.cpp.html
│ │ │ ├── vec_GF2E.txt
│ │ │ ├── vec_RR.cpp.html
│ │ │ ├── vec_RR.txt
│ │ │ ├── vec_ZZ.cpp.html
│ │ │ ├── vec_ZZ.txt
│ │ │ ├── vec_ZZ_p.cpp.html
│ │ │ ├── vec_ZZ_p.txt
│ │ │ ├── vec_ZZ_pE.cpp.html
│ │ │ ├── vec_ZZ_pE.txt
│ │ │ ├── vec_lzz_p.cpp.html
│ │ │ ├── vec_lzz_p.txt
│ │ │ ├── vec_lzz_pE.cpp.html
│ │ │ ├── vec_lzz_pE.txt
│ │ │ ├── vector.cpp.html
│ │ │ ├── vector.txt
│ │ │ ├── version.cpp.html
│ │ │ ├── version.txt
│ │ │ ├── xdouble.cpp.html
│ │ │ └── xdouble.txt
│ │ ├── include/
│ │ │ └── NTL/
│ │ │ ├── ALL_FEATURES.h
│ │ │ ├── BasicThreadPool.h
│ │ │ ├── FFT.h
│ │ │ ├── FacVec.h
│ │ │ ├── GF2.h
│ │ │ ├── GF2E.h
│ │ │ ├── GF2EX.h
│ │ │ ├── GF2EXFactoring.h
│ │ │ ├── GF2X.h
│ │ │ ├── GF2XFactoring.h
│ │ │ ├── GF2XVec.h
│ │ │ ├── HAVE_ALIGNED_ARRAY.h
│ │ │ ├── HAVE_AVX.h
│ │ │ ├── HAVE_AVX2.h
│ │ │ ├── HAVE_BUILTIN_CLZL.h
│ │ │ ├── HAVE_CHRONO_TIME.h
│ │ │ ├── HAVE_COPY_TRAITS1.h
│ │ │ ├── HAVE_COPY_TRAITS2.h
│ │ │ ├── HAVE_FMA.h
│ │ │ ├── HAVE_LL_TYPE.h
│ │ │ ├── HAVE_MACOS_TIME.h
│ │ │ ├── HAVE_PCLMUL.h
│ │ │ ├── HAVE_POSIX_TIME.h
│ │ │ ├── HAVE_SSSE3.h
│ │ │ ├── HNF.h
│ │ │ ├── LLL.h
│ │ │ ├── Lazy.h
│ │ │ ├── LazyTable.h
│ │ │ ├── MatPrime.h
│ │ │ ├── PackageInfo.h
│ │ │ ├── REPORT_ALL_FEATURES.h
│ │ │ ├── RR.h
│ │ │ ├── SmartPtr.h
│ │ │ ├── WordVector.h
│ │ │ ├── ZZ.h
│ │ │ ├── ZZVec.h
│ │ │ ├── ZZX.h
│ │ │ ├── ZZXFactoring.h
│ │ │ ├── ZZ_limbs.h
│ │ │ ├── ZZ_p.h
│ │ │ ├── ZZ_pE.h
│ │ │ ├── ZZ_pEX.h
│ │ │ ├── ZZ_pEXFactoring.h
│ │ │ ├── ZZ_pX.h
│ │ │ ├── ZZ_pXFactoring.h
│ │ │ ├── config.h
│ │ │ ├── ctools.h
│ │ │ ├── fileio.h
│ │ │ ├── lip.h
│ │ │ ├── lzz_p.h
│ │ │ ├── lzz_pE.h
│ │ │ ├── lzz_pEX.h
│ │ │ ├── lzz_pEXFactoring.h
│ │ │ ├── lzz_pX.h
│ │ │ ├── lzz_pXFactoring.h
│ │ │ ├── mat_GF2.h
│ │ │ ├── mat_GF2E.h
│ │ │ ├── mat_RR.h
│ │ │ ├── mat_ZZ.h
│ │ │ ├── mat_ZZ_p.h
│ │ │ ├── mat_ZZ_pE.h
│ │ │ ├── mat_lzz_p.h
│ │ │ ├── mat_lzz_pE.h
│ │ │ ├── mat_poly_ZZ.h
│ │ │ ├── mat_poly_ZZ_p.h
│ │ │ ├── mat_poly_lzz_p.h
│ │ │ ├── matrix.h
│ │ │ ├── new.h
│ │ │ ├── pair.h
│ │ │ ├── pair_GF2EX_long.h
│ │ │ ├── pair_GF2X_long.h
│ │ │ ├── pair_ZZX_long.h
│ │ │ ├── pair_ZZ_pEX_long.h
│ │ │ ├── pair_ZZ_pX_long.h
│ │ │ ├── pair_lzz_pEX_long.h
│ │ │ ├── pair_lzz_pX_long.h
│ │ │ ├── quad_float.h
│ │ │ ├── sp_arith.h
│ │ │ ├── thread.h
│ │ │ ├── tools.h
│ │ │ ├── vec_GF2.h
│ │ │ ├── vec_GF2E.h
│ │ │ ├── vec_GF2XVec.h
│ │ │ ├── vec_RR.h
│ │ │ ├── vec_ZZ.h
│ │ │ ├── vec_ZZVec.h
│ │ │ ├── vec_ZZ_p.h
│ │ │ ├── vec_ZZ_pE.h
│ │ │ ├── vec_double.h
│ │ │ ├── vec_long.h
│ │ │ ├── vec_lzz_p.h
│ │ │ ├── vec_lzz_pE.h
│ │ │ ├── vec_quad_float.h
│ │ │ ├── vec_ulong.h
│ │ │ ├── vec_vec_GF2.h
│ │ │ ├── vec_vec_GF2E.h
│ │ │ ├── vec_vec_RR.h
│ │ │ ├── vec_vec_ZZ.h
│ │ │ ├── vec_vec_ZZ_p.h
│ │ │ ├── vec_vec_ZZ_pE.h
│ │ │ ├── vec_vec_long.h
│ │ │ ├── vec_vec_lzz_p.h
│ │ │ ├── vec_vec_lzz_pE.h
│ │ │ ├── vec_vec_ulong.h
│ │ │ ├── vec_xdouble.h
│ │ │ ├── vector.h
│ │ │ ├── version.h
│ │ │ └── xdouble.h
│ │ └── src/
│ │ ├── BasicThreadPool.cpp
│ │ ├── BerlekampTest.cpp
│ │ ├── BerlekampTestIn
│ │ ├── BerlekampTestOut
│ │ ├── BitMatTest.cpp
│ │ ├── CanZassTest.cpp
│ │ ├── CanZassTestIn
│ │ ├── CanZassTestOut
│ │ ├── CharPolyTest.cpp
│ │ ├── CharPolyTestIn
│ │ ├── CharPolyTestOut
│ │ ├── CheckALIGNED_ARRAY.cpp
│ │ ├── CheckAVX.cpp
│ │ ├── CheckAVX2.cpp
│ │ ├── CheckBUILTIN_CLZL.cpp
│ │ ├── CheckCHRONO_TIME.cpp
│ │ ├── CheckCOPY_TRAITS1.cpp
│ │ ├── CheckCOPY_TRAITS2.cpp
│ │ ├── CheckCompile.cpp
│ │ ├── CheckContract.cpp
│ │ ├── CheckContractAux.cpp
│ │ ├── CheckFMA.cpp
│ │ ├── CheckLL_TYPE.cpp
│ │ ├── CheckMACOS_TIME.cpp
│ │ ├── CheckPCLMUL.cpp
│ │ ├── CheckPOSIX_TIME.cpp
│ │ ├── CheckSSSE3.cpp
│ │ ├── CheckThreads.cpp
│ │ ├── CopyFeatures
│ │ ├── DIRNAME
│ │ ├── DispSettings.cpp
│ │ ├── DoConfig
│ │ ├── ExceptionTest.cpp
│ │ ├── FFT.cpp
│ │ ├── FacVec.cpp
│ │ ├── GF2.cpp
│ │ ├── GF2E.cpp
│ │ ├── GF2EX.cpp
│ │ ├── GF2EXFactoring.cpp
│ │ ├── GF2EXTest.cpp
│ │ ├── GF2X.cpp
│ │ ├── GF2X1.cpp
│ │ ├── GF2XFactoring.cpp
│ │ ├── GF2XTest.cpp
│ │ ├── GF2XTimeTest.cpp
│ │ ├── GF2XVec.cpp
│ │ ├── G_LLL_FP.cpp
│ │ ├── G_LLL_QP.cpp
│ │ ├── G_LLL_RR.cpp
│ │ ├── G_LLL_XD.cpp
│ │ ├── GenConfigInfo.cpp
│ │ ├── GetPID1.cpp
│ │ ├── GetPID2.cpp
│ │ ├── GetTime0.cpp
│ │ ├── GetTime1.cpp
│ │ ├── GetTime2.cpp
│ │ ├── GetTime3.cpp
│ │ ├── GetTime4.cpp
│ │ ├── GetTime5.cpp
│ │ ├── HNF.cpp
│ │ ├── InitSettings.cpp
│ │ ├── LLL.cpp
│ │ ├── LLLTest.cpp
│ │ ├── LLLTestIn
│ │ ├── LLLTestOut
│ │ ├── LLL_FP.cpp
│ │ ├── LLL_QP.cpp
│ │ ├── LLL_RR.cpp
│ │ ├── LLL_XD.cpp
│ │ ├── MakeCheckFeatures
│ │ ├── MakeDesc.cpp
│ │ ├── MakeDescAux.cpp
│ │ ├── MakeGetPID
│ │ ├── MakeGetTime
│ │ ├── MatPrime.cpp
│ │ ├── MatrixTest.cpp
│ │ ├── MatrixTestIn
│ │ ├── MatrixTestOut
│ │ ├── MoreFacTest.cpp
│ │ ├── MoreFacTestIn
│ │ ├── NOTES
│ │ ├── Poly1TimeTest.cpp
│ │ ├── Poly2TimeTest.cpp
│ │ ├── Poly3TimeTest.cpp
│ │ ├── QuadTest.cpp
│ │ ├── QuadTestIn
│ │ ├── QuadTestOut
│ │ ├── QuickTest.cpp
│ │ ├── RR.cpp
│ │ ├── RRTest.cpp
│ │ ├── RRTestIn
│ │ ├── RRTestOut
│ │ ├── RemoveProg
│ │ ├── ResetFeatures
│ │ ├── TestGetPID.cpp
│ │ ├── TestGetTime.cpp
│ │ ├── TestScript
│ │ ├── ThreadTest.cpp
│ │ ├── Timing.cpp
│ │ ├── VERSION_INFO
│ │ ├── WINDIR
│ │ ├── Wizard
│ │ ├── WizardAux
│ │ ├── WordVector.cpp
│ │ ├── ZZ.cpp
│ │ ├── ZZTest.cpp
│ │ ├── ZZVec.cpp
│ │ ├── ZZX.cpp
│ │ ├── ZZX1.cpp
│ │ ├── ZZXCharPoly.cpp
│ │ ├── ZZXFacTest.cpp
│ │ ├── ZZXFacTestIn
│ │ ├── ZZXFacTestOut
│ │ ├── ZZXFactoring.cpp
│ │ ├── ZZ_p.cpp
│ │ ├── ZZ_pE.cpp
│ │ ├── ZZ_pEX.cpp
│ │ ├── ZZ_pEXFactoring.cpp
│ │ ├── ZZ_pEXTest.cpp
│ │ ├── ZZ_pX.cpp
│ │ ├── ZZ_pX1.cpp
│ │ ├── ZZ_pXCharPoly.cpp
│ │ ├── ZZ_pXFactoring.cpp
│ │ ├── ZZ_pXTest.cpp
│ │ ├── cfile
│ │ ├── configure
│ │ ├── ctools.cpp
│ │ ├── dosify
│ │ ├── fileio.cpp
│ │ ├── gen_gmp_aux.cpp
│ │ ├── gf2x_version_1_2_or_later_required.cpp
│ │ ├── libtool-origin/
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── aclocal.m4
│ │ │ ├── config.guess
│ │ │ ├── config.sub
│ │ │ ├── configure
│ │ │ ├── configure.ac
│ │ │ ├── install-sh
│ │ │ ├── ltmain.sh
│ │ │ └── missing
│ │ ├── libtool-seed/
│ │ │ ├── Makefile.am
│ │ │ └── configure.ac
│ │ ├── lip.cpp
│ │ ├── lzz_p.cpp
│ │ ├── lzz_pE.cpp
│ │ ├── lzz_pEX.cpp
│ │ ├── lzz_pEXFactoring.cpp
│ │ ├── lzz_pEXTest.cpp
│ │ ├── lzz_pX.cpp
│ │ ├── lzz_pX1.cpp
│ │ ├── lzz_pXCharPoly.cpp
│ │ ├── lzz_pXFactoring.cpp
│ │ ├── lzz_pXTest.cpp
│ │ ├── mach_desc.win
│ │ ├── mat_GF2.cpp
│ │ ├── mat_GF2E.cpp
│ │ ├── mat_RR.cpp
│ │ ├── mat_ZZ.cpp
│ │ ├── mat_ZZ_p.cpp
│ │ ├── mat_ZZ_pE.cpp
│ │ ├── mat_lzz_p.cpp
│ │ ├── mat_lzz_pE.cpp
│ │ ├── mat_lzz_pTest.cpp
│ │ ├── mat_poly_ZZ.cpp
│ │ ├── mat_poly_ZZ_p.cpp
│ │ ├── mat_poly_lzz_p.cpp
│ │ ├── mfile
│ │ ├── newnames.cpp
│ │ ├── ppscript
│ │ ├── quad_float.cpp
│ │ ├── subset.cpp
│ │ ├── thread.cpp
│ │ ├── tools.cpp
│ │ ├── unixify
│ │ ├── vec_GF2.cpp
│ │ ├── vec_GF2E.cpp
│ │ ├── vec_RR.cpp
│ │ ├── vec_ZZ.cpp
│ │ ├── vec_ZZ_p.cpp
│ │ ├── vec_ZZ_pE.cpp
│ │ ├── vec_lzz_p.cpp
│ │ ├── vec_lzz_pE.cpp
│ │ └── xdouble.cpp
│ ├── OTExtensionBristol/
│ │ ├── CONFIG
│ │ ├── Exceptions/
│ │ │ └── Exceptions.h
│ │ ├── LICENSE.txt
│ │ ├── Networking/
│ │ │ ├── Player.cpp
│ │ │ ├── Player.h
│ │ │ ├── data.cpp
│ │ │ ├── data.h
│ │ │ ├── sockets.cpp
│ │ │ └── sockets.h
│ │ ├── OT/
│ │ │ ├── BaseOT.cpp
│ │ │ ├── BaseOT.h
│ │ │ ├── BitMatrix.cpp
│ │ │ ├── BitMatrix.h
│ │ │ ├── BitVector.cpp
│ │ │ ├── BitVector.h
│ │ │ ├── OTExtension.cpp
│ │ │ ├── OTExtension.h
│ │ │ ├── OTExtensionWithMatrix.cpp
│ │ │ ├── OTExtensionWithMatrix.h
│ │ │ ├── Tools.cpp
│ │ │ └── Tools.h
│ │ ├── README
│ │ ├── SimpleOT/
│ │ │ ├── Keccak-simple-settings.h
│ │ │ ├── Keccak-simple.c
│ │ │ ├── README.md
│ │ │ ├── consts.s
│ │ │ ├── consts4x.s
│ │ │ ├── cpucycles.c
│ │ │ ├── cpucycles.h
│ │ │ ├── crypto_hash.h
│ │ │ ├── fe25519.h
│ │ │ ├── fe25519_add.c
│ │ │ ├── fe25519_freeze.s
│ │ │ ├── fe25519_getparity.c
│ │ │ ├── fe25519_invert.c
│ │ │ ├── fe25519_iseq_vartime.c
│ │ │ ├── fe25519_mul.s
│ │ │ ├── fe25519_neg.c
│ │ │ ├── fe25519_nsquare.s
│ │ │ ├── fe25519_pack.c
│ │ │ ├── fe25519_pow2523.c
│ │ │ ├── fe25519_setint.c
│ │ │ ├── fe25519_square.s
│ │ │ ├── fe25519_sub.c
│ │ │ ├── fe25519_unpack.c
│ │ │ ├── ge25519.data
│ │ │ ├── ge25519.h
│ │ │ ├── ge25519_add.c
│ │ │ ├── ge25519_add_p1p1.s
│ │ │ ├── ge25519_dbl_p1p1.s
│ │ │ ├── ge25519_double.c
│ │ │ ├── ge25519_lookup.s
│ │ │ ├── ge25519_lookup_niels.s
│ │ │ ├── ge25519_nielsadd2.s
│ │ │ ├── ge25519_p1p1_to_p2.s
│ │ │ ├── ge25519_p1p1_to_p3.s
│ │ │ ├── ge25519_pack.c
│ │ │ ├── ge25519_scalarmult.c
│ │ │ ├── ge25519_scalarmult_base.c
│ │ │ ├── ge25519_setneutral.c
│ │ │ ├── ge25519_unpack.c
│ │ │ ├── ge4x.c
│ │ │ ├── ge4x.data
│ │ │ ├── ge4x.h
│ │ │ ├── ge4x_add_p1p1.s
│ │ │ ├── ge4x_double_p1p1.s
│ │ │ ├── ge4x_lookup.s
│ │ │ ├── ge4x_lookup_niels.s
│ │ │ ├── ge4x_niels_add_p1p1.s
│ │ │ ├── ge4x_pack.c
│ │ │ ├── ge4x_unpack_vartime.c
│ │ │ ├── gfe4x.c
│ │ │ ├── gfe4x.h
│ │ │ ├── gfe4x_add.s
│ │ │ ├── gfe4x_getparity.c
│ │ │ ├── gfe4x_iseq_vartime.c
│ │ │ ├── gfe4x_mul.s
│ │ │ ├── gfe4x_nsquare.c
│ │ │ ├── gfe4x_pow2523.c
│ │ │ ├── gfe4x_square.s
│ │ │ ├── gfe4x_sub.s
│ │ │ ├── network.c
│ │ │ ├── network.h
│ │ │ ├── ot_config.h
│ │ │ ├── ot_receiver.c
│ │ │ ├── ot_receiver.h
│ │ │ ├── ot_receiver_test.c
│ │ │ ├── ot_sender.c
│ │ │ ├── ot_sender.h
│ │ │ ├── ot_sender_test.c
│ │ │ ├── randombytes.c
│ │ │ ├── randombytes.h
│ │ │ ├── sc25519.h
│ │ │ ├── sc25519_from32bytes.c
│ │ │ ├── sc25519_random.c
│ │ │ ├── sc25519_window4.c
│ │ │ └── to_4x.h
│ │ ├── Test/
│ │ │ ├── BitMatrixTest.cpp
│ │ │ ├── OutputCheck.cpp
│ │ │ └── OutputCheck.h
│ │ ├── Tools/
│ │ │ ├── CBC-MAC.cpp
│ │ │ ├── CBC-MAC.h
│ │ │ ├── Commit.cpp
│ │ │ ├── Commit.h
│ │ │ ├── MMO.cpp
│ │ │ ├── MMO.h
│ │ │ ├── RO.h
│ │ │ ├── aes-ni.cpp
│ │ │ ├── aes.h
│ │ │ ├── int.h
│ │ │ ├── octetStream.cpp
│ │ │ ├── octetStream.h
│ │ │ ├── random.cpp
│ │ │ ├── random.h
│ │ │ ├── sha1.cpp
│ │ │ ├── sha1.h
│ │ │ ├── time-func.cpp
│ │ │ └── time-func.h
│ │ └── ezOption/
│ │ ├── MIT-LICENSE
│ │ └── ezOptionParser.h
│ ├── OTExtensionEncrypto/
│ │ ├── .travis.yml
│ │ ├── CMakeLists.txt
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── cmake/
│ │ │ └── OTExtensionConfig.cmake.in
│ │ ├── extern/
│ │ │ └── ENCRYPTO_utils/
│ │ │ ├── .travis.yml
│ │ │ ├── CMakeLists.txt
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── cmake/
│ │ │ │ ├── ENCRYPTO_utilsConfig.cmake.in
│ │ │ │ ├── FindGMP.cmake
│ │ │ │ └── FindGMPXX.cmake
│ │ │ ├── extern/
│ │ │ │ └── googletest/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── BUILD.bazel
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── CONTRIBUTING.md
│ │ │ │ ├── LICENSE
│ │ │ │ ├── Makefile.am
│ │ │ │ ├── README.md
│ │ │ │ ├── WORKSPACE
│ │ │ │ ├── appveyor.yml
│ │ │ │ ├── ci/
│ │ │ │ │ ├── build-linux-autotools.sh
│ │ │ │ │ ├── build-linux-bazel.sh
│ │ │ │ │ ├── env-linux.sh
│ │ │ │ │ ├── env-osx.sh
│ │ │ │ │ ├── get-nprocessors.sh
│ │ │ │ │ ├── install-linux.sh
│ │ │ │ │ ├── install-osx.sh
│ │ │ │ │ ├── log-config.sh
│ │ │ │ │ └── travis.sh
│ │ │ │ ├── configure.ac
│ │ │ │ ├── googlemock/
│ │ │ │ │ ├── CHANGES
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── CONTRIBUTORS
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── Makefile.am
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── cmake/
│ │ │ │ │ │ ├── gmock.pc.in
│ │ │ │ │ │ └── gmock_main.pc.in
│ │ │ │ │ ├── configure.ac
│ │ │ │ │ ├── docs/
│ │ │ │ │ │ ├── CheatSheet.md
│ │ │ │ │ │ ├── CookBook.md
│ │ │ │ │ │ ├── DesignDoc.md
│ │ │ │ │ │ ├── Documentation.md
│ │ │ │ │ │ ├── ForDummies.md
│ │ │ │ │ │ ├── FrequentlyAskedQuestions.md
│ │ │ │ │ │ └── KnownIssues.md
│ │ │ │ │ ├── include/
│ │ │ │ │ │ └── gmock/
│ │ │ │ │ │ ├── gmock-actions.h
│ │ │ │ │ │ ├── gmock-cardinalities.h
│ │ │ │ │ │ ├── gmock-generated-actions.h
│ │ │ │ │ │ ├── gmock-generated-actions.h.pump
│ │ │ │ │ │ ├── gmock-generated-function-mockers.h
│ │ │ │ │ │ ├── gmock-generated-function-mockers.h.pump
│ │ │ │ │ │ ├── gmock-generated-matchers.h
│ │ │ │ │ │ ├── gmock-generated-matchers.h.pump
│ │ │ │ │ │ ├── gmock-generated-nice-strict.h
│ │ │ │ │ │ ├── gmock-generated-nice-strict.h.pump
│ │ │ │ │ │ ├── gmock-matchers.h
│ │ │ │ │ │ ├── gmock-more-actions.h
│ │ │ │ │ │ ├── gmock-more-matchers.h
│ │ │ │ │ │ ├── gmock-spec-builders.h
│ │ │ │ │ │ ├── gmock.h
│ │ │ │ │ │ └── internal/
│ │ │ │ │ │ ├── custom/
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── gmock-generated-actions.h
│ │ │ │ │ │ │ ├── gmock-generated-actions.h.pump
│ │ │ │ │ │ │ ├── gmock-matchers.h
│ │ │ │ │ │ │ └── gmock-port.h
│ │ │ │ │ │ ├── gmock-generated-internal-utils.h
│ │ │ │ │ │ ├── gmock-generated-internal-utils.h.pump
│ │ │ │ │ │ ├── gmock-internal-utils.h
│ │ │ │ │ │ └── gmock-port.h
│ │ │ │ │ ├── msvc/
│ │ │ │ │ │ ├── 2005/
│ │ │ │ │ │ │ ├── gmock.sln
│ │ │ │ │ │ │ ├── gmock.vcproj
│ │ │ │ │ │ │ ├── gmock_config.vsprops
│ │ │ │ │ │ │ ├── gmock_main.vcproj
│ │ │ │ │ │ │ └── gmock_test.vcproj
│ │ │ │ │ │ ├── 2010/
│ │ │ │ │ │ │ ├── gmock.sln
│ │ │ │ │ │ │ ├── gmock.vcxproj
│ │ │ │ │ │ │ ├── gmock_config.props
│ │ │ │ │ │ │ ├── gmock_main.vcxproj
│ │ │ │ │ │ │ └── gmock_test.vcxproj
│ │ │ │ │ │ └── 2015/
│ │ │ │ │ │ ├── gmock.sln
│ │ │ │ │ │ ├── gmock.vcxproj
│ │ │ │ │ │ ├── gmock_config.props
│ │ │ │ │ │ ├── gmock_main.vcxproj
│ │ │ │ │ │ └── gmock_test.vcxproj
│ │ │ │ │ ├── scripts/
│ │ │ │ │ │ ├── fuse_gmock_files.py
│ │ │ │ │ │ ├── generator/
│ │ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ │ ├── README
│ │ │ │ │ │ │ ├── README.cppclean
│ │ │ │ │ │ │ ├── cpp/
│ │ │ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ │ │ ├── ast.py
│ │ │ │ │ │ │ │ ├── gmock_class.py
│ │ │ │ │ │ │ │ ├── gmock_class_test.py
│ │ │ │ │ │ │ │ ├── keywords.py
│ │ │ │ │ │ │ │ ├── tokenize.py
│ │ │ │ │ │ │ │ └── utils.py
│ │ │ │ │ │ │ └── gmock_gen.py
│ │ │ │ │ │ ├── gmock-config.in
│ │ │ │ │ │ ├── gmock_doctor.py
│ │ │ │ │ │ ├── upload.py
│ │ │ │ │ │ └── upload_gmock.py
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── gmock-all.cc
│ │ │ │ │ │ ├── gmock-cardinalities.cc
│ │ │ │ │ │ ├── gmock-internal-utils.cc
│ │ │ │ │ │ ├── gmock-matchers.cc
│ │ │ │ │ │ ├── gmock-spec-builders.cc
│ │ │ │ │ │ ├── gmock.cc
│ │ │ │ │ │ └── gmock_main.cc
│ │ │ │ │ └── test/
│ │ │ │ │ ├── BUILD.bazel
│ │ │ │ │ ├── gmock-actions_test.cc
│ │ │ │ │ ├── gmock-cardinalities_test.cc
│ │ │ │ │ ├── gmock-generated-actions_test.cc
│ │ │ │ │ ├── gmock-generated-function-mockers_test.cc
│ │ │ │ │ ├── gmock-generated-internal-utils_test.cc
│ │ │ │ │ ├── gmock-generated-matchers_test.cc
│ │ │ │ │ ├── gmock-internal-utils_test.cc
│ │ │ │ │ ├── gmock-matchers_test.cc
│ │ │ │ │ ├── gmock-more-actions_test.cc
│ │ │ │ │ ├── gmock-nice-strict_test.cc
│ │ │ │ │ ├── gmock-port_test.cc
│ │ │ │ │ ├── gmock-spec-builders_test.cc
│ │ │ │ │ ├── gmock_all_test.cc
│ │ │ │ │ ├── gmock_ex_test.cc
│ │ │ │ │ ├── gmock_leak_test.py
│ │ │ │ │ ├── gmock_leak_test_.cc
│ │ │ │ │ ├── gmock_link2_test.cc
│ │ │ │ │ ├── gmock_link_test.cc
│ │ │ │ │ ├── gmock_link_test.h
│ │ │ │ │ ├── gmock_output_test.py
│ │ │ │ │ ├── gmock_output_test_.cc
│ │ │ │ │ ├── gmock_output_test_golden.txt
│ │ │ │ │ ├── gmock_stress_test.cc
│ │ │ │ │ ├── gmock_test.cc
│ │ │ │ │ └── gmock_test_utils.py
│ │ │ │ └── googletest/
│ │ │ │ ├── CHANGES
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── CONTRIBUTORS
│ │ │ │ ├── LICENSE
│ │ │ │ ├── Makefile.am
│ │ │ │ ├── README.md
│ │ │ │ ├── cmake/
│ │ │ │ │ ├── gtest.pc.in
│ │ │ │ │ ├── gtest_main.pc.in
│ │ │ │ │ └── internal_utils.cmake
│ │ │ │ ├── codegear/
│ │ │ │ │ ├── gtest.cbproj
│ │ │ │ │ ├── gtest.groupproj
│ │ │ │ │ ├── gtest_all.cc
│ │ │ │ │ ├── gtest_link.cc
│ │ │ │ │ ├── gtest_main.cbproj
│ │ │ │ │ └── gtest_unittest.cbproj
│ │ │ │ ├── configure.ac
│ │ │ │ ├── docs/
│ │ │ │ │ ├── Pkgconfig.md
│ │ │ │ │ ├── PumpManual.md
│ │ │ │ │ ├── XcodeGuide.md
│ │ │ │ │ ├── advanced.md
│ │ │ │ │ ├── faq.md
│ │ │ │ │ ├── primer.md
│ │ │ │ │ └── samples.md
│ │ │ │ ├── include/
│ │ │ │ │ └── gtest/
│ │ │ │ │ ├── gtest-death-test.h
│ │ │ │ │ ├── gtest-message.h
│ │ │ │ │ ├── gtest-param-test.h
│ │ │ │ │ ├── gtest-param-test.h.pump
│ │ │ │ │ ├── gtest-printers.h
│ │ │ │ │ ├── gtest-spi.h
│ │ │ │ │ ├── gtest-test-part.h
│ │ │ │ │ ├── gtest-typed-test.h
│ │ │ │ │ ├── gtest.h
│ │ │ │ │ ├── gtest_pred_impl.h
│ │ │ │ │ ├── gtest_prod.h
│ │ │ │ │ └── internal/
│ │ │ │ │ ├── custom/
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── gtest-port.h
│ │ │ │ │ │ ├── gtest-printers.h
│ │ │ │ │ │ └── gtest.h
│ │ │ │ │ ├── gtest-death-test-internal.h
│ │ │ │ │ ├── gtest-filepath.h
│ │ │ │ │ ├── gtest-internal.h
│ │ │ │ │ ├── gtest-linked_ptr.h
│ │ │ │ │ ├── gtest-param-util-generated.h
│ │ │ │ │ ├── gtest-param-util-generated.h.pump
│ │ │ │ │ ├── gtest-param-util.h
│ │ │ │ │ ├── gtest-port-arch.h
│ │ │ │ │ ├── gtest-port.h
│ │ │ │ │ ├── gtest-string.h
│ │ │ │ │ ├── gtest-tuple.h
│ │ │ │ │ ├── gtest-tuple.h.pump
│ │ │ │ │ ├── gtest-type-util.h
│ │ │ │ │ └── gtest-type-util.h.pump
│ │ │ │ ├── m4/
│ │ │ │ │ ├── acx_pthread.m4
│ │ │ │ │ └── gtest.m4
│ │ │ │ ├── msvc/
│ │ │ │ │ └── 2010/
│ │ │ │ │ ├── gtest-md.sln
│ │ │ │ │ ├── gtest-md.vcxproj
│ │ │ │ │ ├── gtest-md.vcxproj.filters
│ │ │ │ │ ├── gtest.sln
│ │ │ │ │ ├── gtest.vcxproj
│ │ │ │ │ ├── gtest.vcxproj.filters
│ │ │ │ │ ├── gtest_main-md.vcxproj
│ │ │ │ │ ├── gtest_main-md.vcxproj.filters
│ │ │ │ │ ├── gtest_main.vcxproj
│ │ │ │ │ ├── gtest_main.vcxproj.filters
│ │ │ │ │ ├── gtest_prod_test-md.vcxproj
│ │ │ │ │ ├── gtest_prod_test-md.vcxproj.filters
│ │ │ │ │ ├── gtest_prod_test.vcxproj
│ │ │ │ │ ├── gtest_prod_test.vcxproj.filters
│ │ │ │ │ ├── gtest_unittest-md.vcxproj
│ │ │ │ │ ├── gtest_unittest-md.vcxproj.filters
│ │ │ │ │ ├── gtest_unittest.vcxproj
│ │ │ │ │ └── gtest_unittest.vcxproj.filters
│ │ │ │ ├── samples/
│ │ │ │ │ ├── prime_tables.h
│ │ │ │ │ ├── sample1.cc
│ │ │ │ │ ├── sample1.h
│ │ │ │ │ ├── sample10_unittest.cc
│ │ │ │ │ ├── sample1_unittest.cc
│ │ │ │ │ ├── sample2.cc
│ │ │ │ │ ├── sample2.h
│ │ │ │ │ ├── sample2_unittest.cc
│ │ │ │ │ ├── sample3-inl.h
│ │ │ │ │ ├── sample3_unittest.cc
│ │ │ │ │ ├── sample4.cc
│ │ │ │ │ ├── sample4.h
│ │ │ │ │ ├── sample4_unittest.cc
│ │ │ │ │ ├── sample5_unittest.cc
│ │ │ │ │ ├── sample6_unittest.cc
│ │ │ │ │ ├── sample7_unittest.cc
│ │ │ │ │ ├── sample8_unittest.cc
│ │ │ │ │ └── sample9_unittest.cc
│ │ │ │ ├── scripts/
│ │ │ │ │ ├── common.py
│ │ │ │ │ ├── fuse_gtest_files.py
│ │ │ │ │ ├── gen_gtest_pred_impl.py
│ │ │ │ │ ├── gtest-config.in
│ │ │ │ │ ├── pump.py
│ │ │ │ │ ├── release_docs.py
│ │ │ │ │ ├── upload.py
│ │ │ │ │ └── upload_gtest.py
│ │ │ │ ├── src/
│ │ │ │ │ ├── gtest-all.cc
│ │ │ │ │ ├── gtest-death-test.cc
│ │ │ │ │ ├── gtest-filepath.cc
│ │ │ │ │ ├── gtest-internal-inl.h
│ │ │ │ │ ├── gtest-port.cc
│ │ │ │ │ ├── gtest-printers.cc
│ │ │ │ │ ├── gtest-test-part.cc
│ │ │ │ │ ├── gtest-typed-test.cc
│ │ │ │ │ ├── gtest.cc
│ │ │ │ │ └── gtest_main.cc
│ │ │ │ ├── test/
│ │ │ │ │ ├── BUILD.bazel
│ │ │ │ │ ├── googletest-break-on-failure-unittest.py
│ │ │ │ │ ├── googletest-break-on-failure-unittest_.cc
│ │ │ │ │ ├── googletest-catch-exceptions-test.py
│ │ │ │ │ ├── googletest-catch-exceptions-test_.cc
│ │ │ │ │ ├── googletest-color-test.py
│ │ │ │ │ ├── googletest-color-test_.cc
│ │ │ │ │ ├── googletest-death-test-test.cc
│ │ │ │ │ ├── googletest-death-test_ex_test.cc
│ │ │ │ │ ├── googletest-env-var-test.py
│ │ │ │ │ ├── googletest-env-var-test_.cc
│ │ │ │ │ ├── googletest-filepath-test.cc
│ │ │ │ │ ├── googletest-filter-unittest.py
│ │ │ │ │ ├── googletest-filter-unittest_.cc
│ │ │ │ │ ├── googletest-json-outfiles-test.py
│ │ │ │ │ ├── googletest-json-output-unittest.py
│ │ │ │ │ ├── googletest-linked-ptr-test.cc
│ │ │ │ │ ├── googletest-list-tests-unittest.py
│ │ │ │ │ ├── googletest-list-tests-unittest_.cc
│ │ │ │ │ ├── googletest-listener-test.cc
│ │ │ │ │ ├── googletest-message-test.cc
│ │ │ │ │ ├── googletest-options-test.cc
│ │ │ │ │ ├── googletest-output-test-golden-lin.txt
│ │ │ │ │ ├── googletest-output-test.py
│ │ │ │ │ ├── googletest-output-test_.cc
│ │ │ │ │ ├── googletest-param-test-invalid-name1-test.py
│ │ │ │ │ ├── googletest-param-test-invalid-name1-test_.cc
│ │ │ │ │ ├── googletest-param-test-invalid-name2-test.py
│ │ │ │ │ ├── googletest-param-test-invalid-name2-test_.cc
│ │ │ │ │ ├── googletest-param-test-test.cc
│ │ │ │ │ ├── googletest-param-test-test.h
│ │ │ │ │ ├── googletest-param-test2-test.cc
│ │ │ │ │ ├── googletest-port-test.cc
│ │ │ │ │ ├── googletest-printers-test.cc
│ │ │ │ │ ├── googletest-shuffle-test.py
│ │ │ │ │ ├── googletest-shuffle-test_.cc
│ │ │ │ │ ├── googletest-test-part-test.cc
│ │ │ │ │ ├── googletest-test2_test.cc
│ │ │ │ │ ├── googletest-throw-on-failure-test.py
│ │ │ │ │ ├── googletest-throw-on-failure-test_.cc
│ │ │ │ │ ├── googletest-tuple-test.cc
│ │ │ │ │ ├── googletest-uninitialized-test.py
│ │ │ │ │ ├── googletest-uninitialized-test_.cc
│ │ │ │ │ ├── gtest-typed-test2_test.cc
│ │ │ │ │ ├── gtest-typed-test_test.cc
│ │ │ │ │ ├── gtest-typed-test_test.h
│ │ │ │ │ ├── gtest-unittest-api_test.cc
│ │ │ │ │ ├── gtest_all_test.cc
│ │ │ │ │ ├── gtest_assert_by_exception_test.cc
│ │ │ │ │ ├── gtest_environment_test.cc
│ │ │ │ │ ├── gtest_help_test.py
│ │ │ │ │ ├── gtest_help_test_.cc
│ │ │ │ │ ├── gtest_json_test_utils.py
│ │ │ │ │ ├── gtest_main_unittest.cc
│ │ │ │ │ ├── gtest_no_test_unittest.cc
│ │ │ │ │ ├── gtest_pred_impl_unittest.cc
│ │ │ │ │ ├── gtest_premature_exit_test.cc
│ │ │ │ │ ├── gtest_prod_test.cc
│ │ │ │ │ ├── gtest_repeat_test.cc
│ │ │ │ │ ├── gtest_sole_header_test.cc
│ │ │ │ │ ├── gtest_stress_test.cc
│ │ │ │ │ ├── gtest_test_macro_stack_footprint_test.cc
│ │ │ │ │ ├── gtest_test_utils.py
│ │ │ │ │ ├── gtest_testbridge_test.py
│ │ │ │ │ ├── gtest_testbridge_test_.cc
│ │ │ │ │ ├── gtest_throw_on_failure_ex_test.cc
│ │ │ │ │ ├── gtest_unittest.cc
│ │ │ │ │ ├── gtest_xml_outfile1_test_.cc
│ │ │ │ │ ├── gtest_xml_outfile2_test_.cc
│ │ │ │ │ ├── gtest_xml_outfiles_test.py
│ │ │ │ │ ├── gtest_xml_output_unittest.py
│ │ │ │ │ ├── gtest_xml_output_unittest_.cc
│ │ │ │ │ ├── gtest_xml_test_utils.py
│ │ │ │ │ ├── production.cc
│ │ │ │ │ └── production.h
│ │ │ │ └── xcode/
│ │ │ │ ├── Config/
│ │ │ │ │ ├── DebugProject.xcconfig
│ │ │ │ │ ├── FrameworkTarget.xcconfig
│ │ │ │ │ ├── General.xcconfig
│ │ │ │ │ ├── ReleaseProject.xcconfig
│ │ │ │ │ ├── StaticLibraryTarget.xcconfig
│ │ │ │ │ └── TestTarget.xcconfig
│ │ │ │ ├── Resources/
│ │ │ │ │ └── Info.plist
│ │ │ │ ├── Samples/
│ │ │ │ │ └── FrameworkSample/
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── WidgetFramework.xcodeproj/
│ │ │ │ │ │ └── project.pbxproj
│ │ │ │ │ ├── runtests.sh
│ │ │ │ │ ├── widget.cc
│ │ │ │ │ ├── widget.h
│ │ │ │ │ └── widget_test.cc
│ │ │ │ ├── Scripts/
│ │ │ │ │ ├── runtests.sh
│ │ │ │ │ └── versiongenerate.py
│ │ │ │ └── gtest.xcodeproj/
│ │ │ │ └── project.pbxproj
│ │ │ ├── src/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── ENCRYPTO_utils/
│ │ │ │ ├── cbitvector.cpp
│ │ │ │ ├── cbitvector.h
│ │ │ │ ├── channel.cpp
│ │ │ │ ├── channel.h
│ │ │ │ ├── circular_queue.cpp
│ │ │ │ ├── circular_queue.h
│ │ │ │ ├── codewords.cpp
│ │ │ │ ├── codewords.h
│ │ │ │ ├── connection.cpp
│ │ │ │ ├── connection.h
│ │ │ │ ├── constants.h
│ │ │ │ ├── crypto/
│ │ │ │ │ ├── Config.h
│ │ │ │ │ ├── TedKrovetzAesNiWrapperC.cpp
│ │ │ │ │ ├── TedKrovetzAesNiWrapperC.h
│ │ │ │ │ ├── crypto.cpp
│ │ │ │ │ ├── crypto.h
│ │ │ │ │ ├── dgk.cpp
│ │ │ │ │ ├── dgk.h
│ │ │ │ │ ├── djn.cpp
│ │ │ │ │ ├── djn.h
│ │ │ │ │ ├── ecc-pk-crypto.cpp
│ │ │ │ │ ├── ecc-pk-crypto.h
│ │ │ │ │ ├── gmp-pk-crypto.cpp
│ │ │ │ │ ├── gmp-pk-crypto.h
│ │ │ │ │ ├── intrin_sequential_enc8.cpp
│ │ │ │ │ ├── intrin_sequential_enc8.h
│ │ │ │ │ └── pk-crypto.h
│ │ │ │ ├── parse_options.cpp
│ │ │ │ ├── parse_options.h
│ │ │ │ ├── powmod.cpp
│ │ │ │ ├── powmod.h
│ │ │ │ ├── rcvthread.cpp
│ │ │ │ ├── rcvthread.h
│ │ │ │ ├── sndthread.cpp
│ │ │ │ ├── sndthread.h
│ │ │ │ ├── socket.cpp
│ │ │ │ ├── socket.h
│ │ │ │ ├── thread.cpp
│ │ │ │ ├── thread.h
│ │ │ │ ├── timer.cpp
│ │ │ │ ├── timer.h
│ │ │ │ ├── typedefs.h
│ │ │ │ ├── utils.cpp
│ │ │ │ └── utils.h
│ │ │ └── test/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── test_cbitvector.cpp
│ │ │ └── test_main.cpp
│ │ ├── mains/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── otmain.cpp
│ │ │ ├── otmain.h
│ │ │ ├── test.cpp
│ │ │ └── test.h
│ │ └── ot/
│ │ ├── OTconstants.h
│ │ ├── alsz-ot-ext-rec.cpp
│ │ ├── alsz-ot-ext-rec.h
│ │ ├── alsz-ot-ext-snd.cpp
│ │ ├── alsz-ot-ext-snd.h
│ │ ├── asharov-lindell.cpp
│ │ ├── asharov-lindell.h
│ │ ├── baseOT.h
│ │ ├── iknp-ot-ext-rec.cpp
│ │ ├── iknp-ot-ext-rec.h
│ │ ├── iknp-ot-ext-snd.cpp
│ │ ├── iknp-ot-ext-snd.h
│ │ ├── kk-ot-ext-rec.cpp
│ │ ├── kk-ot-ext-rec.h
│ │ ├── kk-ot-ext-snd.cpp
│ │ ├── kk-ot-ext-snd.h
│ │ ├── kk-ot-ext.h
│ │ ├── maskingfunction.h
│ │ ├── naor-pinkas.cpp
│ │ ├── naor-pinkas.h
│ │ ├── naor-pinkas_noro.cpp
│ │ ├── naor-pinkas_noro.h
│ │ ├── nnob-ot-ext-rec.cpp
│ │ ├── nnob-ot-ext-rec.h
│ │ ├── nnob-ot-ext-snd.cpp
│ │ ├── nnob-ot-ext-snd.h
│ │ ├── ot-ext-rec.cpp
│ │ ├── ot-ext-rec.h
│ │ ├── ot-ext-snd.cpp
│ │ ├── ot-ext-snd.h
│ │ ├── ot-ext.cpp
│ │ ├── ot-ext.h
│ │ ├── pvwddh.cpp
│ │ ├── pvwddh.h
│ │ ├── simpleot.cpp
│ │ ├── simpleot.h
│ │ └── xormasking.h
│ └── libOTe/
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── KyberOT/
│ │ ├── CMakeLists.txt
│ │ ├── KyberOT.c
│ │ ├── KyberOT.h
│ │ ├── KyberOT.vcxproj
│ │ ├── KyberOT.vcxproj.filters
│ │ ├── Makefile_old
│ │ ├── PQCgenKAT_kem.c
│ │ ├── api.h
│ │ ├── cbd.h
│ │ ├── cbdeta4.s
│ │ ├── cbdref.c
│ │ ├── consts.c
│ │ ├── cpucycles.c
│ │ ├── cpucycles.h
│ │ ├── fips202.c
│ │ ├── fips202.h
│ │ ├── fips202x4.c
│ │ ├── fips202x4.h
│ │ ├── genmatrix.c
│ │ ├── genmatrix.h
│ │ ├── indcpa.c
│ │ ├── indcpa.h
│ │ ├── invntt.s
│ │ ├── keccak4x/
│ │ │ ├── KeccakP-1600-times4-SIMD256.c
│ │ │ ├── KeccakP-1600-times4-SnP.h
│ │ │ ├── KeccakP-1600-unrolling.macros
│ │ │ ├── SIMD256-config.h
│ │ │ ├── align.h
│ │ │ └── brg_endian.h
│ │ ├── kem.c
│ │ ├── kex.c
│ │ ├── kex.h
│ │ ├── ntt.h
│ │ ├── ntt.s
│ │ ├── params.h
│ │ ├── poly.c
│ │ ├── poly.h
│ │ ├── polyvec.c
│ │ ├── polyvec.h
│ │ ├── polyvec_pointwise_acc.s
│ │ ├── precomp.c
│ │ ├── randombytes.c
│ │ ├── randombytes.h
│ │ ├── reduce.c
│ │ ├── reduce.h
│ │ ├── rng.c
│ │ ├── rng.h
│ │ ├── speed.c
│ │ ├── test_kex.c
│ │ ├── test_kyber.c
│ │ ├── testvectors.c
│ │ ├── verify.c
│ │ └── verify.h
│ ├── README.md
│ ├── SimplestOT/
│ │ ├── CMakeLists.txt
│ │ ├── Keccak-simple-settings.h
│ │ ├── Keccak-simple.c
│ │ ├── LICENSE
│ │ ├── SimplestOT.vcxproj
│ │ ├── SimplestOT.vcxproj.filters
│ │ ├── consts.s
│ │ ├── consts4x.s
│ │ ├── cpucycles.c
│ │ ├── cpucycles.h
│ │ ├── crypto_hash.h
│ │ ├── fe25519.h
│ │ ├── fe25519_add.c
│ │ ├── fe25519_freeze.s
│ │ ├── fe25519_getparity.c
│ │ ├── fe25519_invert.c
│ │ ├── fe25519_iseq_vartime.c
│ │ ├── fe25519_mul.s
│ │ ├── fe25519_neg.c
│ │ ├── fe25519_nsquare.s
│ │ ├── fe25519_pack.c
│ │ ├── fe25519_pow2523.c
│ │ ├── fe25519_setint.c
│ │ ├── fe25519_square.s
│ │ ├── fe25519_sub.c
│ │ ├── fe25519_unpack.c
│ │ ├── ge25519.data
│ │ ├── ge25519.h
│ │ ├── ge25519_add.c
│ │ ├── ge25519_add_p1p1.s
│ │ ├── ge25519_dbl_p1p1.s
│ │ ├── ge25519_double.c
│ │ ├── ge25519_lookup.s
│ │ ├── ge25519_lookup_niels.s
│ │ ├── ge25519_nielsadd2.s
│ │ ├── ge25519_p1p1_to_p2.s
│ │ ├── ge25519_p1p1_to_p3.s
│ │ ├── ge25519_pack.c
│ │ ├── ge25519_scalarmult.c
│ │ ├── ge25519_scalarmult_base.c
│ │ ├── ge25519_setneutral.c
│ │ ├── ge25519_unpack.c
│ │ ├── ge4x.c
│ │ ├── ge4x.data
│ │ ├── ge4x.h
│ │ ├── ge4x_add_p1p1.s
│ │ ├── ge4x_double_p1p1.s
│ │ ├── ge4x_lookup.s
│ │ ├── ge4x_lookup_niels.s
│ │ ├── ge4x_niels_add_p1p1.s
│ │ ├── ge4x_pack.c
│ │ ├── ge4x_unpack_vartime.c
│ │ ├── gfe4x.c
│ │ ├── gfe4x.h
│ │ ├── gfe4x_add.s
│ │ ├── gfe4x_getparity.c
│ │ ├── gfe4x_iseq_vartime.c
│ │ ├── gfe4x_mul.s
│ │ ├── gfe4x_nsquare.c
│ │ ├── gfe4x_pow2523.c
│ │ ├── gfe4x_square.s
│ │ ├── gfe4x_sub.s
│ │ ├── network.c
│ │ ├── network.h
│ │ ├── ot_config.h
│ │ ├── ot_receiver.c
│ │ ├── ot_receiver.h
│ │ ├── ot_receiver_test.c
│ │ ├── ot_sender.c
│ │ ├── ot_sender.h
│ │ ├── ot_sender_test.c
│ │ ├── randombytes.c
│ │ ├── randombytes.h
│ │ ├── sc25519.h
│ │ ├── sc25519_from32bytes.c
│ │ ├── sc25519_random.c
│ │ ├── sc25519_window4.c
│ │ └── to_4x.h
│ ├── frontend/
│ │ ├── CMakeLists.txt
│ │ ├── frontend.vcxproj
│ │ ├── frontend.vcxproj.filters
│ │ ├── main.cpp
│ │ ├── util.cpp
│ │ └── util.h
│ ├── libOTe/
│ │ ├── Base/
│ │ │ ├── BaseOT.h
│ │ │ ├── MasnyRindal.cpp
│ │ │ ├── MasnyRindal.h
│ │ │ ├── MasnyRindalKyber.cpp
│ │ │ ├── MasnyRindalKyber.h
│ │ │ ├── SimplestOT.cpp
│ │ │ ├── SimplestOT.h
│ │ │ ├── naor-pinkas.cpp
│ │ │ └── naor-pinkas.h
│ │ ├── CMakeLists.txt
│ │ ├── DPF/
│ │ │ └── BgicksPprf.h
│ │ ├── NChooseK/
│ │ │ ├── AknOtReceiver.cpp
│ │ │ ├── AknOtReceiver.h
│ │ │ ├── AknOtSender.cpp
│ │ │ └── AknOtSender.h
│ │ ├── NChooseOne/
│ │ │ ├── Kkrt/
│ │ │ │ ├── KkrtDefines.h
│ │ │ │ ├── KkrtNcoOtReceiver.cpp
│ │ │ │ ├── KkrtNcoOtReceiver.h
│ │ │ │ ├── KkrtNcoOtSender.cpp
│ │ │ │ └── KkrtNcoOtSender.h
│ │ │ ├── NcoOtExt.cpp
│ │ │ ├── NcoOtExt.h
│ │ │ ├── Oos/
│ │ │ │ ├── OosDefines.h
│ │ │ │ ├── OosNcoOtReceiver.cpp
│ │ │ │ ├── OosNcoOtReceiver.h
│ │ │ │ ├── OosNcoOtSender.cpp
│ │ │ │ └── OosNcoOtSender.h
│ │ │ └── RR17/
│ │ │ ├── Rr17NcoOtReceiver.cpp
│ │ │ ├── Rr17NcoOtReceiver.h
│ │ │ ├── Rr17NcoOtSender.cpp
│ │ │ └── Rr17NcoOtSender.h
│ │ ├── Tools/
│ │ │ ├── LinearCode.cpp
│ │ │ ├── LinearCode.h
│ │ │ ├── SilentPprf.cpp
│ │ │ ├── SilentPprf.h
│ │ │ ├── Tools.cpp
│ │ │ ├── Tools.h
│ │ │ ├── bch511.h
│ │ │ ├── bch511.txt
│ │ │ ├── bitpolymul/
│ │ │ │ ├── bc.cpp
│ │ │ │ ├── bc.h
│ │ │ │ ├── bc_to_gen_code.h
│ │ │ │ ├── bc_to_lch_gen_code.cpp
│ │ │ │ ├── bc_to_mono_gen_code.cpp
│ │ │ │ ├── bitmat_prod.h
│ │ │ │ ├── bpmDefines.h
│ │ │ │ ├── btfy.cpp
│ │ │ │ ├── btfy.h
│ │ │ │ ├── encode.cpp
│ │ │ │ ├── encode.h
│ │ │ │ ├── gf2128_cantor_iso.h
│ │ │ │ ├── gf264_cantor_iso.h
│ │ │ │ ├── gfext_aesni.h
│ │ │ │ ├── ska.h
│ │ │ │ ├── transpose.h
│ │ │ │ ├── transpose_bit.h
│ │ │ │ ├── trunc_btfy_tab.h
│ │ │ │ └── trunc_btfy_tab_64.h
│ │ │ ├── bitpolymul.cpp
│ │ │ └── bitpolymul.h
│ │ ├── TwoChooseOne/
│ │ │ ├── IknpDotExtReceiver.cpp
│ │ │ ├── IknpDotExtReceiver.h
│ │ │ ├── IknpDotExtSender.cpp
│ │ │ ├── IknpDotExtSender.h
│ │ │ ├── IknpOtExtReceiver.cpp
│ │ │ ├── IknpOtExtReceiver.h
│ │ │ ├── IknpOtExtSender.cpp
│ │ │ ├── IknpOtExtSender.h
│ │ │ ├── KosDotExtReceiver.cpp
│ │ │ ├── KosDotExtReceiver.h
│ │ │ ├── KosDotExtSender.cpp
│ │ │ ├── KosDotExtSender.h
│ │ │ ├── KosOtExtReceiver.cpp
│ │ │ ├── KosOtExtReceiver.h
│ │ │ ├── KosOtExtSender.cpp
│ │ │ ├── KosOtExtSender.h
│ │ │ ├── OTExtInterface.cpp
│ │ │ ├── OTExtInterface.h
│ │ │ ├── SilentOtExtReceiver.cpp
│ │ │ ├── SilentOtExtReceiver.h
│ │ │ ├── SilentOtExtSender.cpp
│ │ │ ├── SilentOtExtSender.h
│ │ │ └── TcoOtDefines.h
│ │ ├── config.h
│ │ ├── config.h.in
│ │ ├── libOTe.vcxproj.filters
│ │ └── libOTe.vcxproj.vcxproj
│ ├── libOTe_Tests/
│ │ ├── AknOt_Tests.cpp
│ │ ├── AknOt_Tests.h
│ │ ├── BaseOT_Tests.cpp
│ │ ├── BaseOT_Tests.h
│ │ ├── BgciksOT_Tests.h
│ │ ├── CMakeLists.txt
│ │ ├── Common.cpp
│ │ ├── Common.h
│ │ ├── NcoOT_Tests.cpp
│ │ ├── NcoOT_Tests.h
│ │ ├── OT_Tests.cpp
│ │ ├── OT_Tests.h
│ │ ├── SilentOT_Tests.cpp
│ │ ├── SilentOT_Tests.h
│ │ ├── UnitTests.cpp
│ │ ├── UnitTests.h
│ │ ├── bitpolymul_Tests.cpp
│ │ ├── bitpolymul_Tests.h
│ │ ├── libOTe_Tests.vcxproj.filters
│ │ ├── libOTe_Tests.vcxproj.vcxproj
│ │ └── testData/
│ │ ├── code1280_BCH511.h
│ │ ├── code1280_BCH511.txt
│ │ ├── code128_BCH511.h
│ │ ├── code128_BCH511.txt
│ │ ├── code256_BCH511.h
│ │ ├── code256_BCH511.txt
│ │ ├── code384_BCH511.h
│ │ ├── code384_BCH511.txt
│ │ ├── code640_BCH511.h
│ │ └── code640_BCH511.txt
│ └── libOTe_TestsVS/
│ ├── OT_TestsVS.cpp
│ └── libOTe_TestsVS.vcxproj
├── makefile
├── makefile_libs
├── src/
│ ├── circuits/
│ │ ├── ArithmeticCircuit.cpp
│ │ ├── BooleanCircuits.cpp
│ │ ├── FourToTwoGarbledBoleanCircuitNoAssumptions.cpp
│ │ ├── FreeXorGarbledBooleanCircuit.cpp
│ │ ├── GarbledBooleanCircuit.cpp
│ │ ├── GarbledBooleanCircuitFixedKey.cpp
│ │ ├── GarbledBooleanCircuitNoFixedKey.cpp
│ │ ├── GarbledBooleanCircuitNoIntrinsics.cpp
│ │ ├── GarbledCircuitFactory.cpp
│ │ ├── HalfGatesGarbledBoleanCircuitNoFixedKey.cpp
│ │ ├── HalfGatesGarbledBooleanCircuit.cpp
│ │ ├── RowReductionGarbledBooleanCircuit.cpp
│ │ ├── StandardGarbledBooleanCircuit.cpp
│ │ └── TedKrovetzAesNiWrapperC.cpp
│ ├── circuits_c/
│ │ ├── intrin_sequential_ks1_enc1.c
│ │ ├── intrin_sequential_ks2_enc2.c
│ │ ├── intrin_sequential_ks4_enc4.c
│ │ └── intrin_sequential_ks4_enc8.c
│ ├── comm/
│ │ ├── Comm.cpp
│ │ ├── CommBF.cpp
│ │ ├── CommUDP.cpp
│ │ ├── MPCCommunication.cpp
│ │ ├── MPCCommunicationBF.cpp
│ │ ├── Network.cpp
│ │ ├── PeerInfo.cpp
│ │ └── utils.cpp
│ ├── cryptoInfra/
│ │ └── Protocol.cpp
│ ├── infra/
│ │ ├── Common.cpp
│ │ ├── ConfigFile.cpp
│ │ ├── MathAlgorithms.cpp
│ │ ├── Measurement.cpp
│ │ ├── Scanner.cpp
│ │ └── aes_arm.cpp
│ ├── interactive_mid_protocols/
│ │ ├── CommitmentSchemeElGamal.cpp
│ │ ├── CommitmentSchemeElGamalHash.cpp
│ │ ├── CommitmentSchemePedersen.cpp
│ │ ├── CommitmentSchemePedersenHash.cpp
│ │ ├── CommitmentSchemeSimpleHash.cpp
│ │ ├── OT.cpp
│ │ ├── OTExtensionBristol.cpp
│ │ ├── OTExtensionEncrypto.cpp
│ │ ├── OTFullSimulation.cpp
│ │ ├── OTFullSimulationROM.cpp
│ │ ├── OTOneSidedSimulation.cpp
│ │ ├── OTPrivacyOnly.cpp
│ │ ├── OTSemiHonest.cpp
│ │ ├── OTUC.cpp
│ │ ├── SigmaProtocol.cpp
│ │ ├── SigmaProtocolAnd.cpp
│ │ ├── SigmaProtocolCramerShoupEncryptedValue.cpp
│ │ ├── SigmaProtocolDH.cpp
│ │ ├── SigmaProtocolDHExtended.cpp
│ │ ├── SigmaProtocolDamgardJurikEncryptedValue.cpp
│ │ ├── SigmaProtocolDamgardJurikEncryptedZero.cpp
│ │ ├── SigmaProtocolDamgardJurikProduct.cpp
│ │ ├── SigmaProtocolDlog.cpp
│ │ ├── SigmaProtocolElGamalCmtKnowledge.cpp
│ │ ├── SigmaProtocolElGamalCommittedValue.cpp
│ │ ├── SigmaProtocolElGamalEncryptedValue.cpp
│ │ ├── SigmaProtocolElGamalPrivateKey.cpp
│ │ ├── SigmaProtocolOrMultiple.cpp
│ │ ├── SigmaProtocolOrTwo.cpp
│ │ ├── SigmaProtocolPedersenCmtKnowledge.cpp
│ │ ├── SigmaProtocolPedersenCommittedValue.cpp
│ │ └── ZeroKnowledge.cpp
│ ├── mid_layer/
│ │ ├── CramerShoupEnc.cpp
│ │ ├── DamgardJurikEnc.cpp
│ │ ├── ElGamalEnc.cpp
│ │ ├── OpenSSLMac.cpp
│ │ └── OpenSSLSymmetricEnc.cpp
│ └── primitives/
│ ├── Dlog.cpp
│ ├── DlogCryptopp.cpp
│ ├── DlogOpenSSL.cpp
│ ├── HashOpenSSL.cpp
│ ├── Kdf.cpp
│ ├── Mersenne.cpp
│ ├── PrfOpenSSL.cpp
│ ├── Prg.cpp
│ ├── RandomOracle.cpp
│ ├── TrapdoorPermutation.cpp
│ ├── TrapdoorPermutationOpenSSL.cpp
│ └── prf.cpp
├── tests/
│ ├── CMakeLists.txt
│ ├── NigelAes.txt
│ ├── NigelAesOutput.txt
│ ├── catch.hpp
│ ├── interactiveMidProtocolsTests.cpp
│ ├── testCircuit.txt
│ ├── testCircuitOutput.txt
│ └── tests.cpp
├── tools/
│ └── circuits/
│ ├── README.md
│ ├── javaSynteticCircuitGenerator/
│ │ ├── GenerateArithmeticCircuitForDepthAndGates.java
│ │ ├── GenerateArithmeticCircuitForStatistics.java
│ │ ├── README.md
│ │ ├── synteticDepthAndGatesCircuitGenerator.jar
│ │ └── synteticStatisticsCircuitGenerator.jar
│ ├── scapiBristolConverter/
│ │ ├── CircuitConverter.cpp
│ │ ├── CircuitConverter.hpp
│ │ ├── README.md
│ │ ├── ScapiBristolConverter.cpp
│ │ ├── makefile
│ │ └── scapiBristolConverter
│ └── scapiNecConverter/
│ ├── Circuit.cpp
│ ├── Circuit.h
│ ├── CircuitConverter.cpp
│ ├── CircuitConverter.h
│ ├── README.md
│ ├── ScapiNecConverter.cpp
│ ├── makefile
│ └── scapiNecConverter
└── tutorials/
└── spdz2.md
Showing preview only (9,346K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (15755 symbols across 885 files)
FILE: examples/Comm/comm_example.cpp
type CommConfig (line 35) | struct CommConfig {
method CommConfig (line 46) | CommConfig(string party_1_ip, string party_2_ip, int party_1_port, int...
function CommConfig (line 62) | CommConfig readCommConfig(string config_file) {
method CommConfig (line 46) | CommConfig(string party_1_ip, string party_2_ip, int party_1_port, int...
function print_send_message (line 83) | void print_send_message(const string &s, int i) {
function print_recv_message (line 86) | void print_recv_message(const string &s, int i) {
function send_messages (line 90) | void send_messages(CommParty* commParty, string * messages, int start, i...
function recv_messages (line 98) | void recv_messages(CommParty* commParty, string * messages, int start, i...
function commUsage (line 110) | int commUsage() {
function CommParty (line 115) | CommParty* getCommParty(CommConfig commConfig, string partyNumber, boost...
function mainComm (line 134) | int mainComm(string partyNumber, string filePath)
FILE: examples/Commitment/CommitmentExample.cpp
function CommitmentParams (line 31) | CommitmentParams readCommitmentConfig(string config_file) {
function CommitmentUsage (line 43) | void CommitmentUsage() {
function getCommitter (line 47) | shared_ptr<CmtCommitter> getCommitter(shared_ptr<CommParty> channel, Com...
function getReceiver (line 81) | shared_ptr<CmtReceiver> getReceiver(shared_ptr<CommParty> channel, Commi...
function mainCommitment (line 116) | int mainCommitment(string side, string configPath) {
FILE: examples/Commitment/CommitmentExample.hpp
type CommitmentParams (line 44) | struct CommitmentParams {
method CommitmentParams (line 51) | CommitmentParams(IpAddress committerIp, IpAddress receiverIp, int comm...
FILE: examples/OT/OTExample.cpp
function OTParams (line 3) | OTParams readOTConfig(string config_file) {
function OTUsage (line 38) | void OTUsage() {
function getSender (line 42) | shared_ptr<OTSender> getSender(const shared_ptr<CommParty> & channel, co...
function getReceiver (line 74) | shared_ptr<OTReceiver> getReceiver(const shared_ptr<CommParty> & channel...
function getInput (line 105) | shared_ptr<OTSInput> getInput(DlogGroup* dlog, OTParams params) {
function printOutput (line 132) | void printOutput(OTROutput* output, OTParams params) {
function mainOT (line 149) | int mainOT(string side, string configPath) {
FILE: examples/OT/OTExample.h
type OTParams (line 40) | struct OTParams {
FILE: examples/OTExtensionBristol/OTExtensionBristolExample.cpp
function mainBristol (line 7) | int mainBristol(string partyNum) {
FILE: examples/SigmaProtocols/SigmaProtocolExample.cpp
function run_prover (line 31) | void run_prover(std::shared_ptr<CommParty> server, SigmaDlogParams sdp, ...
function run_verifier (line 42) | void run_verifier(shared_ptr<CommParty> server, SigmaDlogParams sdp, Pro...
function mainSigma (line 58) | int mainSigma(string side, string configPath) {
FILE: examples/SigmaProtocols/SigmaProtocolExample.hpp
type SigmaDlogParams (line 39) | struct SigmaDlogParams {
method SigmaDlogParams (line 51) | SigmaDlogParams(biginteger w, biginteger p, biginteger q, biginteger g...
function SigmaDlogParams (line 67) | SigmaDlogParams readSigmaConfig(string config_file) {
method SigmaDlogParams (line 51) | SigmaDlogParams(biginteger w, biginteger p, biginteger q, biginteger g...
function SigmaUsage (line 85) | void SigmaUsage() {
class ProverVerifierExample (line 89) | class ProverVerifierExample {
class SimpleDlogSigma (line 103) | class SimpleDlogSigma : public ProverVerifierExample {
method prove (line 105) | virtual void prove(shared_ptr<CommParty> server,
method verify (line 113) | virtual bool verify(shared_ptr<CommParty> server,
class ZKFromSigma (line 127) | class ZKFromSigma : public ProverVerifierExample {
method prove (line 129) | virtual void prove(shared_ptr<CommParty> server,
method verify (line 139) | virtual bool verify(shared_ptr<CommParty> server,
class PedersenZKSigma (line 156) | class PedersenZKSigma : public ProverVerifierExample {
method prove (line 158) | virtual void prove(shared_ptr<CommParty> server,
method verify (line 166) | virtual bool verify(shared_ptr<CommParty> server,
class ZKPOKFiatShamir (line 181) | class ZKPOKFiatShamir : public ProverVerifierExample {
method prove (line 183) | virtual void prove(shared_ptr<CommParty> server,
method verify (line 193) | virtual bool verify(shared_ptr<CommParty> server,
function getProverVerifier (line 211) | shared_ptr<ProverVerifierExample> getProverVerifier(SigmaDlogParams sdp)
FILE: examples/Simple/simple_dlog.cpp
function mainDlog (line 32) | int mainDlog(){
FILE: examples/Simple/simple_gmac.cpp
function mainGmac (line 33) | int mainGmac()
FILE: examples/Simple/simple_sha1.cpp
function mainSha1 (line 32) | int mainSha1()
FILE: examples/examples_main.cpp
function exampleUsage (line 31) | int exampleUsage()
function main (line 52) | int main(int argc, char* argv[]) {
FILE: include/circuits/ArithmeticCircuit.hpp
class ArithmeticCircuit (line 21) | class ArithmeticCircuit
method getNrOfMultiplicationGates (line 53) | int getNrOfMultiplicationGates() { return nrOfMultiplicationGates; }
method getNrOfAdditionGates (line 54) | int getNrOfAdditionGates() { return nrOfAdditionGates; }
method getNrSubtractionGates (line 55) | int getNrSubtractionGates() {return nrOfSubtractionGates; }
method getNrOfRandomGates (line 56) | int getNrOfRandomGates() {return nrOfRandomGates; }
method getNrOfScalarMultGates (line 57) | int getNrOfScalarMultGates() {return nrOfScalarMultGates;}
method getNrOfInputGates (line 58) | int getNrOfInputGates() { return nrOfInputGates; }
method getNrOfOutputGates (line 59) | int getNrOfOutputGates() { return nrOfOutputGates; }
method getNrOfSumOfProductsGates (line 60) | int getNrOfSumOfProductsGates() { return nrOfSumProductsGates; }
method getNrOfGates (line 61) | int getNrOfGates() { return (nrOfMultiplicationGates +
FILE: include/circuits/BooleanCircuits.hpp
class NoSuchPartyException (line 36) | class NoSuchPartyException : public logic_error
method NoSuchPartyException (line 39) | NoSuchPartyException(const string & msg) : logic_error(msg) {}
class InvalidInputException (line 43) | class InvalidInputException : public logic_error
method InvalidInputException (line 46) | InvalidInputException(const string & msg) : logic_error(msg) {}
class NotAllInputsSetException (line 49) | class NotAllInputsSetException : public logic_error
method NotAllInputsSetException (line 52) | NotAllInputsSetException(const string & msg) : logic_error(msg) {}
class Wire (line 61) | class Wire {
method Wire (line 63) | Wire() {}
method Wire (line 69) | Wire(byte value) {
method byte (line 79) | byte getValue() const { return value; }
class Gate (line 93) | class Gate {
method Gate (line 95) | Gate() {}
method Gate (line 106) | Gate(const int gateNumber, const vector<bool> & truthTable, const vect...
method getInputWireIndices (line 130) | vector<int> getInputWireIndices() const { return inputWireIndices; }
method getOutputWireIndices (line 137) | vector<int> getOutputWireIndices() const { return outputWireIndices; }
method getTruthTable (line 142) | vector<bool> getTruthTable() const { return truthTable; }
method getGateNumber (line 188) | int getGateNumber() const { return gateNumber_; }
class BooleanCircuit (line 197) | class BooleanCircuit {
method BooleanCircuit (line 224) | BooleanCircuit(scannerpp::File * fp) : BooleanCircuit(scannerpp::Scann...
method BooleanCircuit (line 238) | BooleanCircuit(const vector<Gate> & gates, const vector<int> & outputW...
method BooleanCircuit (line 267) | BooleanCircuit(const vector<Gate> & gates, const vector<vector<int>> &...
method getGates (line 317) | vector<Gate> getGates() const { return gates; }
method getNumberOfParties (line 346) | int getNumberOfParties() { return numberOfParties; }
FILE: include/circuits/Compat.h
function _aligned_free (line 49) | inline void _aligned_free(void *memblock) {
FILE: include/circuits/Config.h
type __m128i (line 42) | typedef __m128i block;
FILE: include/circuits/FourToTwoGarbledBoleanCircuitNoAssumptions.h
function class (line 35) | class FourToTwoGarbledBoleanCircuitNoAssumptions :
FILE: include/circuits/FreeXorGarbledBooleanCircuit.h
function class (line 45) | class FreeXorGarbledBooleanCircuit :
FILE: include/circuits/GarbledBooleanCircuit.h
type GarbledGate (line 37) | struct GarbledGate
function class (line 52) | class GarbledBooleanCircuit
FILE: include/circuits/GarbledBooleanCircuitFixedKey.h
type GarbledGate (line 35) | struct GarbledGate
function class (line 50) | class GarbledBooleanCircuitFixedKey :
FILE: include/circuits/GarbledBooleanCircuitNoFixedKey.h
function class (line 31) | class GarbledBooleanCircuitNoFixedKey :
FILE: include/circuits/GarbledBooleanCircuitNoIntrinsics.h
type GarbledGate (line 8) | struct GarbledGate
function class (line 33) | class GarbledBooleanCircuitNoIntrinsics
FILE: include/circuits/GarbledCircuitFactory.hpp
class GarbledBooleanCircuit (line 32) | class GarbledBooleanCircuit
class GarbledCircuitFactory (line 35) | class GarbledCircuitFactory
type CircuitType (line 39) | enum CircuitType {
FILE: include/circuits/GarbledGate.h
type GarbledGate (line 38) | struct GarbledGate
FILE: include/circuits/HalfGatesGarbledBoleanCircuitNoFixedKey.h
function class (line 47) | class HalfGatesGarbledBoleanCircuitNoFixedKey :
FILE: include/circuits/HalfGatesGarbledBooleanCircuit.h
function class (line 47) | class HalfGatesGarbledBooleanCircuit :
FILE: include/circuits/RowReductionGarbledBooleanCircuit.h
function class (line 49) | class RowReductionGarbledBooleanCircuit : public GarbledBooleanCircuitFi...
FILE: include/circuits/StandardGarbledBooleanCircuit.h
function class (line 42) | class StandardGarbledBooleanCircuit :
FILE: include/circuits/TGate.hpp
type TGate (line 29) | struct TGate
FILE: include/circuits/TedKrovetzAesNiWrapperC.h
type AES_KEY (line 43) | typedef struct { block rd_key[15]; int rounds; } AES_KEY;
FILE: include/circuits/intrinsic.h
type ROUND_KEYS (line 35) | typedef struct KEY_SCHEDULE
FILE: include/comm/Comm.hpp
class TimeoutException (line 48) | class TimeoutException : public logic_error
method TimeoutException (line 51) | TimeoutException(const string & msg) : logic_error(msg) {}
class DuplicatePartyException (line 54) | class DuplicatePartyException : public logic_error
method DuplicatePartyException (line 57) | DuplicatePartyException(const string & msg) : logic_error(msg) {}
class PartyCommunicationException (line 60) | class PartyCommunicationException : public logic_error
method PartyCommunicationException (line 63) | PartyCommunicationException(const string & msg) : logic_error(msg) {}
class PartyData (line 69) | class PartyData{}
class SocketPartyData (line 75) | class SocketPartyData : public PartyData {
method SocketPartyData (line 81) | SocketPartyData() {}
method SocketPartyData (line 87) | SocketPartyData(IpAddress ip, int port) {
method IpAddress (line 91) | IpAddress getIpAddress() { return ipAddress; }
method getPort (line 92) | int getPort() { return port; }
method string (line 93) | string to_log_string() {
class CommParty (line 113) | class CommParty {
method write (line 132) | virtual void write(string s) { write((const byte *)s.c_str(), s.size()...
method writeWithSize (line 136) | virtual void writeWithSize(string s) { writeWithSize((const byte*)s.c_...
class CommPartyTCPSynced (line 144) | class CommPartyTCPSynced : public CommParty {
method CommPartyTCPSynced (line 147) | CommPartyTCPSynced(boost::asio::io_service& ioService, SocketPartyData...
method read (line 159) | size_t read(byte* data, int sizeToRead, int peer = -1, int protocol = ...
FILE: include/comm/CommBF.hpp
class CommPartyBF (line 38) | class CommPartyBF {
method write (line 56) | virtual void write(std::string s) { write((const unsigned char *)s.c_s...
method writeWithSize (line 60) | virtual void writeWithSize(std::string s) { writeWithSize((const unsig...
class CommPartyTCPSyncedBoostFree (line 64) | class CommPartyTCPSyncedBoostFree : public CommPartyBF {
type sockaddr_in (line 80) | struct sockaddr_in
FILE: include/comm/CommUDP.hpp
class CommUDP (line 42) | class CommUDP: public CommParty {
FILE: include/comm/MPCCommunication.hpp
class ProtocolPartyData (line 15) | class ProtocolPartyData {
method ProtocolPartyData (line 21) | ProtocolPartyData() {}
method ProtocolPartyData (line 22) | ProtocolPartyData(int id, shared_ptr<CommParty> channel)
method getID (line 26) | int getID() { return id; }
method getChannel (line 27) | shared_ptr<CommParty> getChannel() { return channel; }
class MPCCommunication (line 32) | class MPCCommunication {
FILE: include/comm/MPCCommunicationBF.hpp
class ProtocolPartyDataBF (line 8) | class ProtocolPartyDataBF {
method ProtocolPartyDataBF (line 14) | ProtocolPartyDataBF() {}
method ProtocolPartyDataBF (line 15) | ProtocolPartyDataBF(int id, std::shared_ptr<CommPartyBF> channel)
method getID (line 19) | int getID() { return id; }
method getChannel (line 20) | std::shared_ptr<CommPartyBF> getChannel() { return channel; }
class MPCCommunicationBF (line 23) | class MPCCommunicationBF {
FILE: include/comm/Message.hpp
class Message (line 35) | class Message
method Message (line 41) | Message()
method length (line 55) | size_t length() const
method body_length (line 70) | size_t body_length() const
method body_length (line 75) | void body_length(size_t length)
method decode_header (line 82) | bool decode_header()
method encode_header (line 96) | void encode_header()
FILE: include/comm/Network.h
function class (line 17) | class Network {
FILE: include/comm/PeerInfo.h
function class (line 12) | class PeerInfo {
FILE: include/cryptoInfra/Key.hpp
class Key (line 34) | class Key {
class SecretKey (line 44) | class SecretKey : Key {
method SecretKey (line 51) | SecretKey() {}
method SecretKey (line 52) | SecretKey(byte * keyBytes, int keyLen, string algorithm) {
method SecretKey (line 56) | SecretKey(const vector<byte> & key, string algorithm) {
method string (line 60) | string getAlgorithm() override { return algorithm; }
method getEncoded (line 61) | vector<byte> getEncoded() override { return key; }
method serialize (line 65) | void serialize(Archive & ar, const unsigned int version)
class PublicKey (line 72) | class PublicKey : public Key {}
class PrivateKey (line 73) | class PrivateKey : public Key {}
class KeySendableData (line 74) | class KeySendableData : public NetworkSerialized {}
class KeySpec (line 75) | class KeySpec {}
class KeyPair (line 77) | class KeyPair {
method KeyPair (line 82) | KeyPair(PublicKey * pubk, PrivateKey * pvk) {
method PublicKey (line 86) | PublicKey * GetPublic() { return publicKey; }
method PrivateKey (line 87) | PrivateKey * GetPrivate() { return privateKey; }
class RSAKey (line 90) | class RSAKey {
method RSAKey (line 94) | RSAKey(biginteger mod) { modulus = mod; }
method biginteger (line 95) | biginteger getModulus() { return modulus; }
class RSAPublicKey (line 98) | class RSAPublicKey : public RSAKey, public PublicKey {
method RSAPublicKey (line 102) | RSAPublicKey(biginteger mod, biginteger pubExp) : RSAKey(mod) { public...
method biginteger (line 103) | biginteger getPublicExponent() { return publicExponent; }
method string (line 104) | string getAlgorithm() override { return "RSA"; }
method getEncoded (line 105) | vector<byte> getEncoded() override { throw NotImplementedException(""); }
class RSAPrivateKey (line 108) | class RSAPrivateKey : public RSAKey, public PrivateKey {
method RSAPrivateKey (line 112) | RSAPrivateKey(biginteger mod, biginteger privExp) : RSAKey(mod) { priv...
method biginteger (line 113) | biginteger getPrivateExponent() { return privateExponent; }
method string (line 114) | string getAlgorithm() override { return "RSA"; }
method getEncoded (line 115) | vector<byte> getEncoded() override { throw NotImplementedException(""); }
class RSAPrivateCrtKey (line 118) | class RSAPrivateCrtKey : public RSAPrivateKey {
class AlgorithmParameterSpec (line 128) | class AlgorithmParameterSpec {
class RSAKeyGenParameterSpec (line 133) | class RSAKeyGenParameterSpec : public AlgorithmParameterSpec {}
FILE: include/cryptoInfra/PlainText.hpp
class PlaintextSendableData (line 37) | class PlaintextSendableData : public NetworkSerialized {}
class Plaintext (line 43) | class Plaintext {
class BigIntegerPlainText (line 61) | class BigIntegerPlainText : public Plaintext, public PlaintextSendableDa...
method biginteger (line 66) | biginteger getX() const { return x; }
method BigIntegerPlainText (line 67) | BigIntegerPlainText(biginteger x) { this->x = x; }
method BigIntegerPlainText (line 68) | BigIntegerPlainText(string s) { this->x = biginteger(s); }
method generateSendableData (line 76) | shared_ptr<PlaintextSendableData> generateSendableData() override {
method string (line 85) | string toString() override { return x.str(); }
method initFromString (line 86) | void initFromString(const string & raw) override { x = biginteger(raw); }
class ByteArrayPlaintext (line 92) | class ByteArrayPlaintext : public Plaintext, public PlaintextSendableData {
method ByteArrayPlaintext (line 96) | ByteArrayPlaintext(vector<byte> text) { this->text = text; }
method getText (line 97) | vector<byte> getText() const { return text; }
method getTextSize (line 98) | int getTextSize() const { return text.size(); }
method generateSendableData (line 113) | shared_ptr<PlaintextSendableData> generateSendableData() override {
method string (line 122) | string toString() override {
method initFromString (line 127) | void initFromString(const string & raw) override {
class GroupElementPlaintext (line 135) | class GroupElementPlaintext : public Plaintext {
method GroupElementPlaintext (line 140) | GroupElementPlaintext(shared_ptr<GroupElement> el) { element = el; }
method getElement (line 141) | shared_ptr<GroupElement> getElement() const { return element; }
method generateSendableData (line 149) | shared_ptr<PlaintextSendableData> generateSendableData() override {
class GroupElementPlaintextSendableData (line 155) | class GroupElementPlaintextSendableData : public PlaintextSendableData {
method GroupElementPlaintextSendableData (line 159) | GroupElementPlaintextSendableData(shared_ptr<GroupElementSendableDat...
method getGroupElement (line 163) | shared_ptr<GroupElementSendableData> getGroupElement() { return grou...
method string (line 165) | string toString() override {
method initFromString (line 169) | void initFromString(const string & row) override {
class AsymmetricCiphertextSendableData (line 181) | class AsymmetricCiphertextSendableData : public NetworkSerialized {}
class AsymmetricCiphertext (line 188) | class AsymmetricCiphertext {
class BigIntegerCiphertext (line 205) | class BigIntegerCiphertext : public AsymmetricCiphertext, public Asymmet...
method BigIntegerCiphertext (line 211) | BigIntegerCiphertext(biginteger cipher) {
method biginteger (line 215) | biginteger getCipher() { return cipher; }
method generateSendableData (line 224) | shared_ptr<AsymmetricCiphertextSendableData> generateSendableData() {
method string (line 237) | string toString() override { return cipher.str(); }
method initFromString (line 239) | void initFromString(const string & row) override { cipher = biginteger...
class SymmetricCiphertext (line 247) | class SymmetricCiphertext : public NetworkSerialized {
method serialize (line 260) | void serialize(Archive & ar, const unsigned int version) {}
class SymCiphertextDecorator (line 270) | class SymCiphertextDecorator : public SymmetricCiphertext{
method SymCiphertextDecorator (line 277) | SymCiphertextDecorator(){}
method SymCiphertextDecorator (line 282) | SymCiphertextDecorator(shared_ptr<SymmetricCiphertext> cipher) { this-...
method getCipher (line 288) | shared_ptr<SymmetricCiphertext> getCipher() { return cipher; }
method getBytes (line 293) | vector<byte> getBytes() override { return cipher->getBytes(); }
method getLength (line 298) | int getLength() override { return cipher->getLength(); }
method serialize (line 301) | void serialize(Archive & ar, const unsigned int version)
class ByteArraySymCiphertext (line 315) | class ByteArraySymCiphertext : public SymmetricCiphertext {
method ByteArraySymCiphertext (line 321) | ByteArraySymCiphertext(){}
method ByteArraySymCiphertext (line 326) | ByteArraySymCiphertext(vector<byte> data) { this->data = data; }
method getBytes (line 328) | vector<byte> getBytes() override { return data; }
method getLength (line 330) | int getLength() override { return data.size(); }
method string (line 332) | string toString() override {
method initFromString (line 337) | void initFromString(const string & s) override {
method serialize (line 342) | void serialize(Archive & ar, const unsigned int version)
class IVCiphertext (line 355) | class IVCiphertext : public SymCiphertextDecorator {
method IVCiphertext (line 361) | IVCiphertext(){}
method IVCiphertext (line 367) | IVCiphertext(shared_ptr<SymmetricCiphertext> cipher, vector<byte> iv) ...
method getIv (line 374) | vector<byte> getIv() { return iv; }
method string (line 376) | string toString() override {
method initFromString (line 381) | void initFromString(const string & s) override {
method serialize (line 389) | void serialize(Archive & ar, const unsigned int version)
FILE: include/cryptoInfra/Protocol.hpp
class CmdParser (line 42) | class CmdParser {
class Protocol (line 63) | class Protocol {
class MPCProtocol (line 88) | class MPCProtocol : public Protocol{
FILE: include/cryptoInfra/SecurityLevel.hpp
class SecurityLevel (line 45) | class SecurityLevel {}
class DlogSecLevel (line 50) | class DlogSecLevel : public SecurityLevel {}
class Dlog (line 55) | class Dlog : public DlogSecLevel {}
class CDH (line 60) | class CDH:public Dlog {}
class DDH (line 65) | class DDH : public CDH {}
class HashSecLevel (line 70) | class HashSecLevel : public SecurityLevel {}
class MacSignSecLevel (line 78) | class MacSignSecLevel : public SecurityLevel {}
class OneTime (line 83) | class OneTime : public MacSignSecLevel {}
class UnlimitedTimes (line 87) | class UnlimitedTimes : public OneTime {}
class EncSecLevel (line 98) | class EncSecLevel : public SecurityLevel {}
class Eav (line 106) | class Eav : public EncSecLevel {}
class Cpa (line 115) | class Cpa : public Eav {}
class Cca1 (line 124) | class Cca1 : public Cpa {}
class Indistinguishable (line 131) | class Indistinguishable : public EncSecLevel {}
class NonMalleable (line 139) | class NonMalleable : public Indistinguishable {}
class Cca2 (line 148) | class Cca2 : public Cca1, NonMalleable {}
class ProtocolSecLevel (line 157) | class ProtocolSecLevel : public SecurityLevel {}
class CommitSecLevel (line 159) | class CommitSecLevel : public SecurityLevel {}
class SecureCommit (line 160) | class SecureCommit : public CommitSecLevel {}
class StatisticallyHidingCmt (line 161) | class StatisticallyHidingCmt : public SecureCommit {}
class EquivocalCmt (line 162) | class EquivocalCmt : public SecureCommit {}
class PerfectlyHidingCmt (line 166) | class PerfectlyHidingCmt : public StatisticallyHidingCmt {}
class PerfectlyBindingCmt (line 171) | class PerfectlyBindingCmt : public SecureCommit {}
class SemiHonest (line 175) | class SemiHonest : public ProtocolSecLevel {}
class PrivacyOnly (line 177) | class PrivacyOnly : public ProtocolSecLevel {}
class StandAlone (line 182) | class StandAlone : public ProtocolSecLevel {}
class Covert (line 188) | class Covert : public SemiHonest {}
class OneSidedSimulation (line 190) | class OneSidedSimulation : public ProtocolSecLevel {}
class Malicious (line 196) | class Malicious :public Covert, OneSidedSimulation {}
class HonestMajority (line 198) | class HonestMajority : public Malicious {}
class DisHonestMajority (line 199) | class DisHonestMajority : public Malicious {}
class UC (line 201) | class UC :public StandAlone {}
FILE: include/infra/Common.hpp
class IllegalStateException (line 61) | class IllegalStateException : public logic_error
method IllegalStateException (line 64) | IllegalStateException(const string & msg) : logic_error(msg) {}
class NotImplementedException (line 67) | class NotImplementedException : public logic_error
method NotImplementedException (line 70) | NotImplementedException(const string & msg) : logic_error(msg) {}
class InvalidKeyException (line 73) | class InvalidKeyException : public logic_error
method InvalidKeyException (line 76) | InvalidKeyException(const string & msg) : logic_error(msg) {}
class KeyException (line 79) | class KeyException : public logic_error
method KeyException (line 82) | KeyException(const string & msg) : logic_error(msg) {}
class UnsupportedOperationException (line 85) | class UnsupportedOperationException : public logic_error
method UnsupportedOperationException (line 88) | UnsupportedOperationException(const string & msg) : logic_error(msg) {}
class SecurityLevelException (line 91) | class SecurityLevelException : public logic_error
method SecurityLevelException (line 94) | SecurityLevelException(const string & msg) : logic_error(msg) {}
class CheatAttemptException (line 97) | class CheatAttemptException : public logic_error
method CheatAttemptException (line 100) | CheatAttemptException(const string & msg) : logic_error(msg) {}
class PrgFromOpenSSLAES (line 124) | class PrgFromOpenSSLAES
class NetworkSerialized (line 181) | class NetworkSerialized {
method initFromByteVector (line 185) | virtual void initFromByteVector(const vector<byte> & byteVector) {
FILE: include/infra/ConfigFile.hpp
class ConfigFile (line 34) | class ConfigFile {
FILE: include/infra/File.hpp
type scannerpp (line 58) | namespace scannerpp
class FileNotFound (line 61) | class FileNotFound
method FileNotFound (line 66) | FileNotFound(string str) :
method string (line 70) | string getFile()
class File (line 76) | class File
method File (line 82) | File(string _filename)
method get (line 109) | int get()
method eof (line 114) | bool eof()
method close (line 119) | void close()
FILE: include/infra/Log.hpp
class Logger (line 47) | class Logger {
FILE: include/infra/MathAlgorithms.hpp
class MathAlgorithms (line 36) | class MathAlgorithms {
class SquareRootResults (line 71) | class SquareRootResults {
method SquareRootResults (line 75) | SquareRootResults(const biginteger & root1, const biginteger & root2) {
method biginteger (line 79) | biginteger getRoot1() {
method biginteger (line 82) | biginteger getRoot2() {
FILE: include/infra/Measurement.hpp
class Protocol (line 55) | class Protocol
class Measurement (line 61) | class Measurement {
method string (line 77) | string getcwdStr() {
FILE: include/infra/Scanner.hpp
type scannerpp (line 65) | namespace scannerpp
class ConversionError (line 68) | class ConversionError
method ConversionError (line 76) | ConversionError(std::string _type) :
method ConversionError (line 81) | ConversionError(std::string _what, std::string _type) :
method getType (line 86) | std::string getType() const
method getWhat (line 91) | std::string getWhat() const
method getMessage (line 96) | std::string getMessage() const
class Scanner (line 107) | class Scanner
method nextChar (line 120) | char nextChar(istream& _input) const
method put_back (line 130) | void put_back(istream** input, string back) const
method string (line 159) | string getDiscarded() const
method parseInt (line 205) | static int parseInt(string s)
method parseDouble (line 211) | static double parseDouble(string s)
method trimChar (line 217) | static bool trimChar(char c)
method string (line 222) | static string trim(string word)
method hasNextLine (line 275) | bool hasNextLine() const
method hasNextInt (line 280) | bool hasNextInt() const
method hasNextLong (line 292) | bool hasNextLong() const
method hasNextFloat (line 304) | bool hasNextFloat() const
method hasNextDouble (line 310) | bool hasNextDouble() const
method hasNextX (line 317) | inline bool hasNextX(X& x) const
FILE: include/infra/aes_arm.h
type uint (line 15) | typedef unsigned int uint;
type octet (line 16) | typedef unsigned char octet;
type uint8x16_t (line 17) | typedef uint8x16_t __mi128;
FILE: include/infra/json.hpp
type nlohmann (line 125) | namespace nlohmann
type adl_serializer (line 128) | struct adl_serializer
method from_json (line 6920) | static void from_json(BasicJsonType&& j, ValueType& val) noexcept(
method to_json (line 6936) | static void to_json(BasicJsonType& j, ValueType&& val) noexcept(
class basic_json (line 139) | class basic_json
type detail (line 166) | namespace detail
class exception (line 200) | class exception : public std::exception
method exception (line 213) | exception(int id_, const char* what_arg) : id(id_), m(what_arg) {}
method name (line 215) | static std::string name(const std::string& ename, int id_)
class parse_error (line 268) | class parse_error : public exception
method parse_error (line 279) | static parse_error create(int id_, std::size_t byte_, const std::s...
method parse_error (line 299) | parse_error(int id_, std::size_t byte_, const char* what_arg)
class invalid_iterator (line 340) | class invalid_iterator : public exception
method invalid_iterator (line 343) | static invalid_iterator create(int id_, const std::string& what_arg)
method invalid_iterator (line 350) | invalid_iterator(int id_, const char* what_arg)
class type_error (line 392) | class type_error : public exception
method type_error (line 395) | static type_error create(int id_, const std::string& what_arg)
method type_error (line 402) | type_error(int id_, const char* what_arg) : exception(id_, what_ar...
class out_of_range (line 435) | class out_of_range : public exception
method out_of_range (line 438) | static out_of_range create(int id_, const std::string& what_arg)
method out_of_range (line 445) | out_of_range(int id_, const char* what_arg) : exception(id_, what_...
class other_error (line 472) | class other_error : public exception
method other_error (line 475) | static other_error create(int id_, const std::string& what_arg)
method other_error (line 482) | other_error(int id_, const char* what_arg) : exception(id_, what_a...
type value_t (line 515) | enum class value_t : uint8_t
type is_basic_json (line 556) | struct is_basic_json : std::false_type {}
type index_sequence (line 571) | struct index_sequence
method size (line 575) | static constexpr std::size_t size() noexcept
type merge_and_renumber (line 582) | struct merge_and_renumber
type make_index_sequence (line 589) | struct make_index_sequence
type make_index_sequence<0> (line 593) | struct make_index_sequence<0> : index_sequence<> {}
type make_index_sequence<1> (line 594) | struct make_index_sequence<1> : index_sequence<0> {}
type conjunction (line 612) | struct conjunction : std::true_type {}
type conjunction<B1> (line 613) | struct conjunction<B1> : B1 {}
type negation (line 617) | struct negation : std::integral_constant<bool, not B::value> {}
type priority_tag (line 620) | struct priority_tag : priority_tag < N - 1 > {}
type priority_tag<0> (line 621) | struct priority_tag<0> {}
type external_constructor (line 628) | struct external_constructor
type external_constructor<value_t::boolean> (line 631) | struct external_constructor<value_t::boolean>
method construct (line 634) | static void construct(BasicJsonType& j, typename BasicJsonType::bo...
type external_constructor<value_t::string> (line 643) | struct external_constructor<value_t::string>
method construct (line 646) | static void construct(BasicJsonType& j, const typename BasicJsonTy...
method construct (line 654) | static void construct(BasicJsonType& j, typename BasicJsonType::st...
type external_constructor<value_t::number_float> (line 663) | struct external_constructor<value_t::number_float>
method construct (line 666) | static void construct(BasicJsonType& j, typename BasicJsonType::nu...
type external_constructor<value_t::number_unsigned> (line 675) | struct external_constructor<value_t::number_unsigned>
method construct (line 678) | static void construct(BasicJsonType& j, typename BasicJsonType::nu...
type external_constructor<value_t::number_integer> (line 687) | struct external_constructor<value_t::number_integer>
method construct (line 690) | static void construct(BasicJsonType& j, typename BasicJsonType::nu...
type external_constructor<value_t::array> (line 699) | struct external_constructor<value_t::array>
method construct (line 702) | static void construct(BasicJsonType& j, const typename BasicJsonTy...
method construct (line 710) | static void construct(BasicJsonType& j, typename BasicJsonType::ar...
method construct (line 720) | static void construct(BasicJsonType& j, const CompatibleArrayType&...
method construct (line 730) | static void construct(BasicJsonType& j, const std::vector<bool>& arr)
method construct (line 744) | static void construct(BasicJsonType& j, const std::valarray<T>& arr)
type external_constructor<value_t::object> (line 755) | struct external_constructor<value_t::object>
method construct (line 758) | static void construct(BasicJsonType& j, const typename BasicJsonTy...
method construct (line 766) | static void construct(BasicJsonType& j, typename BasicJsonType::ob...
method construct (line 775) | static void construct(BasicJsonType& j, const CompatibleObjectType...
type is_compatible_object_type_impl (line 821) | struct is_compatible_object_type_impl : std::false_type {}
type is_compatible_object_type_impl<true, RealType, CompatibleObjectType> (line 824) | struct is_compatible_object_type_impl<true, RealType, CompatibleObje...
type is_compatible_object_type (line 832) | struct is_compatible_object_type
type is_basic_json_nested_type (line 842) | struct is_basic_json_nested_type
type is_compatible_array_type (line 851) | struct is_compatible_array_type
type is_compatible_integer_type_impl (line 865) | struct is_compatible_integer_type_impl : std::false_type {}
type is_compatible_integer_type_impl<true, RealIntegerType, CompatibleNumberIntegerType> (line 868) | struct is_compatible_integer_type_impl<true, RealIntegerType, Compat...
type is_compatible_integer_type (line 881) | struct is_compatible_integer_type
type has_from_json (line 893) | struct has_from_json
type has_non_default_from_json (line 910) | struct has_non_default_from_json
type has_to_json (line 925) | struct has_to_json
function to_json (line 945) | void to_json(BasicJsonType& j, T b) noexcept
function to_json (line 952) | void to_json(BasicJsonType& j, const CompatibleString& s)
function to_json (line 958) | void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
function to_json (line 965) | void to_json(BasicJsonType& j, FloatType val) noexcept
function to_json (line 972) | void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noe...
function to_json (line 979) | void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noex...
function to_json (line 986) | void to_json(BasicJsonType& j, EnumType e) noexcept
function to_json (line 993) | void to_json(BasicJsonType& j, const std::vector<bool>& e)
function to_json (line 1002) | void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
function to_json (line 1009) | void to_json(BasicJsonType& j, std::valarray<T> arr)
function to_json (line 1015) | void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
function to_json (line 1022) | void to_json(BasicJsonType& j, const CompatibleObjectType& obj)
function to_json (line 1028) | void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
function to_json (line 1035) | void to_json(BasicJsonType& j, T (&arr)[N])
function to_json (line 1041) | void to_json(BasicJsonType& j, const std::pair<Args...>& p)
function to_json_tuple_impl (line 1047) | void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequ...
function to_json (line 1053) | void to_json(BasicJsonType& j, const std::tuple<Args...>& t)
function get_arithmetic_value (line 1067) | void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
function from_json (line 1093) | void from_json(const BasicJsonType& j, typename BasicJsonType::boole...
function from_json (line 1103) | void from_json(const BasicJsonType& j, typename BasicJsonType::strin...
function from_json (line 1113) | void from_json(const BasicJsonType& j, typename BasicJsonType::numbe...
function from_json (line 1119) | void from_json(const BasicJsonType& j, typename BasicJsonType::numbe...
function from_json (line 1125) | void from_json(const BasicJsonType& j, typename BasicJsonType::numbe...
function from_json (line 1132) | void from_json(const BasicJsonType& j, EnumType& e)
function from_json (line 1140) | void from_json(const BasicJsonType& j, typename BasicJsonType::array...
function from_json (line 1152) | void from_json(const BasicJsonType& j, std::forward_list<T, Allocato...
function from_json (line 1168) | void from_json(const BasicJsonType& j, std::valarray<T>& l)
function from_json_array_impl (line 1179) | void from_json_array_impl(const BasicJsonType& j, CompatibleArrayTyp...
function from_json_array_impl (line 1193) | auto from_json_array_impl(const BasicJsonType& j, CompatibleArrayTyp...
function from_json_array_impl (line 1211) | void from_json_array_impl(const BasicJsonType& j, std::array<T, N>& ...
function from_json (line 1223) | void from_json(const BasicJsonType& j, CompatibleArrayType& arr)
function from_json (line 1235) | void from_json(const BasicJsonType& j, CompatibleObjectType& obj)
function from_json (line 1265) | void from_json(const BasicJsonType& j, ArithmeticType& val)
function from_json (line 1296) | void from_json(const BasicJsonType& j, std::pair<A1, A2>& p)
function from_json_tuple_impl (line 1302) | void from_json_tuple_impl(const BasicJsonType& j, Tuple& t, index_se...
function from_json (line 1308) | void from_json(const BasicJsonType& j, std::tuple<Args...>& t)
type to_json_fn (line 1313) | struct to_json_fn
method call (line 1317) | auto call(BasicJsonType& j, T&& val, priority_tag<1> /*unused*/) c...
method call (line 1324) | void call(BasicJsonType& /*unused*/, T&& /*unused*/, priority_tag<...
type from_json_fn (line 1346) | struct from_json_fn
method call (line 1350) | auto call(const BasicJsonType& j, T& val, priority_tag<1> /*unused...
method call (line 1358) | void call(const BasicJsonType& /*unused*/, T& /*unused*/, priority...
type static_const (line 1381) | struct static_const
type input_adapter_protocol (line 1404) | struct input_adapter_protocol
class input_stream_adapter (line 1425) | class input_stream_adapter : public input_adapter_protocol
method input_stream_adapter (line 1435) | explicit input_stream_adapter(std::istream& i)
method input_stream_adapter (line 1467) | input_stream_adapter(const input_stream_adapter&) = delete;
method input_stream_adapter (line 1468) | input_stream_adapter& operator=(input_stream_adapter&) = delete;
method get_character (line 1473) | std::char_traits<char>::int_type get_character() override
method unget_character (line 1478) | void unget_character() override
class input_buffer_adapter (line 1490) | class input_buffer_adapter : public input_adapter_protocol
method input_buffer_adapter (line 1493) | input_buffer_adapter(const char* b, const std::size_t l)
method input_buffer_adapter (line 1504) | input_buffer_adapter(const input_buffer_adapter&) = delete;
method input_buffer_adapter (line 1505) | input_buffer_adapter& operator=(input_buffer_adapter&) = delete;
method get_character (line 1507) | std::char_traits<char>::int_type get_character() noexcept override
method unget_character (line 1517) | void unget_character() noexcept override
class input_adapter (line 1534) | class input_adapter
method input_adapter (line 1540) | input_adapter(std::istream& i)
method input_adapter (line 1544) | input_adapter(std::istream&& i)
method input_adapter (line 1554) | input_adapter(CharT b, std::size_t l)
method input_adapter (line 1566) | input_adapter(CharT b)
method input_adapter (line 1575) | input_adapter(IteratorType first, IteratorType last)
method input_adapter (line 1607) | input_adapter(T (&array)[N])
method input_adapter (line 1615) | input_adapter(const ContiguousContainer& c)
class lexer (line 1638) | class lexer
type token_type (line 1646) | enum class token_type
method lexer (line 1709) | explicit lexer(detail::input_adapter_t adapter)
method lexer (line 1713) | lexer(const lexer&) = delete;
method lexer (line 1714) | lexer& operator=(lexer&) = delete;
method get_decimal_point (line 1722) | static char get_decimal_point() noexcept
method get_codepoint (line 1748) | int get_codepoint()
method next_byte_in_range (line 1796) | bool next_byte_in_range(std::initializer_list<int> ranges)
method token_type (line 1832) | token_type scan_string()
method strtof (line 2263) | static void strtof(float& f, const char* str, char** endptr) noexcept
method strtof (line 2268) | static void strtof(double& f, const char* str, char** endptr) noex...
method strtof (line 2273) | static void strtof(long double& f, const char* str, char** endptr)...
method token_type (line 2318) | token_type scan_number()
method token_type (line 2650) | token_type scan_literal(const char* literal_text, const std::size_...
method reset (line 2670) | void reset() noexcept
method get (line 2687) | std::char_traits<char>::int_type get()
method unget (line 2699) | void unget()
method add (line 2711) | void add(int c)
method number_integer_t (line 2722) | constexpr number_integer_t get_number_integer() const noexcept
method number_unsigned_t (line 2728) | constexpr number_unsigned_t get_number_unsigned() const noexcept
method number_float_t (line 2734) | constexpr number_float_t get_number_float() const noexcept
method move_string (line 2740) | std::string move_string()
method get_position (line 2750) | constexpr std::size_t get_position() const noexcept
method get_token_string (line 2758) | std::string get_token_string() const
method token_type (line 2792) | token_type scan()
class parser (line 2890) | class parser
type parse_event_t (line 2899) | enum class parse_event_t : uint8_t
method parser (line 2919) | explicit parser(detail::input_adapter_t adapter,
method parse (line 2935) | void parse(const bool strict, BasicJsonType& result)
method accept (line 2971) | bool accept(const bool strict = true)
method parse_internal (line 2992) | void parse_internal(bool keep, BasicJsonType& result)
method accept_internal (line 3280) | bool accept_internal()
method token_type (line 3384) | token_type get_token()
method expect (line 3392) | bool expect(token_type t)
method throw_exception (line 3411) | [[noreturn]] void throw_exception() const
class primitive_iterator_t (line 3462) | class primitive_iterator_t
method difference_type (line 3467) | constexpr difference_type get_value() const noexcept
method set_begin (line 3473) | void set_begin() noexcept
method set_end (line 3479) | void set_end() noexcept
method is_begin (line 3485) | constexpr bool is_begin() const noexcept
method is_end (line 3491) | constexpr bool is_end() const noexcept
method primitive_iterator_t (line 3506) | primitive_iterator_t operator+(difference_type i)
method difference_type (line 3513) | constexpr difference_type operator-(primitive_iterator_t lhs, prim...
method primitive_iterator_t (line 3523) | primitive_iterator_t& operator++()
method primitive_iterator_t (line 3529) | primitive_iterator_t const operator++(int)
method primitive_iterator_t (line 3536) | primitive_iterator_t& operator--()
method primitive_iterator_t (line 3542) | primitive_iterator_t const operator--(int)
method primitive_iterator_t (line 3549) | primitive_iterator_t& operator+=(difference_type n)
method primitive_iterator_t (line 3555) | primitive_iterator_t& operator-=(difference_type n)
type internal_iterator (line 3575) | struct internal_iterator
class iteration_proxy (line 3585) | class iteration_proxy
class iteration_proxy_internal (line 4185) | class iteration_proxy_internal
method iteration_proxy_internal (line 4194) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 4197) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 4203) | iteration_proxy_internal& operator++()
method key (line 4218) | std::string key() const
method value (line 4239) | typename IteratorType::reference value() const
method iteration_proxy (line 4250) | explicit iteration_proxy(typename IteratorType::reference cont)
method iteration_proxy_internal (line 4254) | iteration_proxy_internal begin() noexcept
method iteration_proxy_internal (line 4194) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 4197) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 4203) | iteration_proxy_internal& operator++()
method key (line 4218) | std::string key() const
method value (line 4239) | typename IteratorType::reference value() const
method iteration_proxy_internal (line 4260) | iteration_proxy_internal end() noexcept
method iteration_proxy_internal (line 4194) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 4197) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 4203) | iteration_proxy_internal& operator++()
method key (line 4218) | std::string key() const
method value (line 4239) | typename IteratorType::reference value() const
class iter_impl (line 3608) | class iter_impl
method iter_impl (line 3645) | iter_impl() = default;
method iter_impl (line 3653) | explicit iter_impl(pointer object) noexcept : m_object(object)
method iter_impl (line 3693) | iter_impl(const iter_impl<typename std::remove_const<BasicJsonType...
method iter_impl (line 3702) | iter_impl& operator=(const iter_impl<typename std::remove_const<Ba...
method set_begin (line 3714) | void set_begin() noexcept
method set_end (line 3751) | void set_end() noexcept
method reference (line 3782) | reference operator*() const
method pointer (line 3819) | pointer operator->() const
method iter_impl (line 3853) | iter_impl const operator++(int)
method iter_impl (line 3864) | iter_impl& operator++()
method iter_impl (line 3896) | iter_impl const operator--(int)
method iter_impl (line 3907) | iter_impl& operator--()
method iter_impl (line 4029) | iter_impl& operator+=(difference_type i)
method iter_impl (line 4058) | iter_impl& operator-=(difference_type i)
method iter_impl (line 4067) | iter_impl operator+(difference_type i) const
method iter_impl (line 4078) | iter_impl operator+(difference_type i, const iter_impl& it)
method iter_impl (line 4089) | iter_impl operator-(difference_type i) const
method difference_type (line 4100) | difference_type operator-(const iter_impl& other) const
method reference (line 4121) | reference operator[](difference_type n) const
method key (line 4152) | typename object_t::key_type key() const
method reference (line 4168) | reference value() const
class iteration_proxy (line 4181) | class iteration_proxy
class iteration_proxy_internal (line 4185) | class iteration_proxy_internal
method iteration_proxy_internal (line 4194) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 4197) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 4203) | iteration_proxy_internal& operator++()
method key (line 4218) | std::string key() const
method value (line 4239) | typename IteratorType::reference value() const
method iteration_proxy (line 4250) | explicit iteration_proxy(typename IteratorType::reference cont)
method iteration_proxy_internal (line 4254) | iteration_proxy_internal begin() noexcept
method iteration_proxy_internal (line 4194) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 4197) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 4203) | iteration_proxy_internal& operator++()
method key (line 4218) | std::string key() const
method value (line 4239) | typename IteratorType::reference value() const
method iteration_proxy_internal (line 4260) | iteration_proxy_internal end() noexcept
method iteration_proxy_internal (line 4194) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 4197) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 4203) | iteration_proxy_internal& operator++()
method key (line 4218) | std::string key() const
method value (line 4239) | typename IteratorType::reference value() const
class json_reverse_iterator (line 4285) | class json_reverse_iterator : public std::reverse_iterator<Base>
method json_reverse_iterator (line 4295) | json_reverse_iterator(const typename base_iterator::iterator_type&...
method json_reverse_iterator (line 4299) | json_reverse_iterator(const base_iterator& it) noexcept : base_ite...
method json_reverse_iterator (line 4302) | json_reverse_iterator const operator++(int)
method json_reverse_iterator (line 4308) | json_reverse_iterator& operator++()
method json_reverse_iterator (line 4314) | json_reverse_iterator const operator--(int)
method json_reverse_iterator (line 4320) | json_reverse_iterator& operator--()
method json_reverse_iterator (line 4326) | json_reverse_iterator& operator+=(difference_type i)
method json_reverse_iterator (line 4332) | json_reverse_iterator operator+(difference_type i) const
method json_reverse_iterator (line 4338) | json_reverse_iterator operator-(difference_type i) const
method difference_type (line 4344) | difference_type operator-(const json_reverse_iterator& other) const
method reference (line 4350) | reference operator[](difference_type n) const
method key (line 4356) | auto key() const -> decltype(std::declval<Base>().key())
method reference (line 4363) | reference value() const
type output_adapter_protocol (line 4375) | struct output_adapter_protocol
class output_vector_adapter (line 4388) | class output_vector_adapter : public output_adapter_protocol<CharType>
method output_vector_adapter (line 4391) | explicit output_vector_adapter(std::vector<CharType>& vec) : v(vec...
method write_character (line 4393) | void write_character(CharType c) override
method write_characters (line 4398) | void write_characters(const CharType* s, std::size_t length) override
class output_stream_adapter (line 4409) | class output_stream_adapter : public output_adapter_protocol<CharType>
method output_stream_adapter (line 4412) | explicit output_stream_adapter(std::basic_ostream<CharType>& s) : ...
method write_character (line 4414) | void write_character(CharType c) override
method write_characters (line 4419) | void write_characters(const CharType* s, std::size_t length) override
class output_string_adapter (line 4430) | class output_string_adapter : public output_adapter_protocol<CharType>
method output_string_adapter (line 4433) | explicit output_string_adapter(std::basic_string<CharType>& s) : s...
method write_character (line 4435) | void write_character(CharType c) override
method write_characters (line 4440) | void write_characters(const CharType* s, std::size_t length) override
class output_adapter (line 4450) | class output_adapter
method output_adapter (line 4453) | output_adapter(std::vector<CharType>& vec)
method output_adapter (line 4456) | output_adapter(std::basic_ostream<CharType>& s)
method output_adapter (line 4459) | output_adapter(std::basic_string<CharType>& s)
class binary_reader (line 4479) | class binary_reader
method binary_reader (line 4490) | explicit binary_reader(input_adapter_t adapter) : ia(std::move(ada...
method BasicJsonType (line 4505) | BasicJsonType parse_cbor(const bool strict)
method BasicJsonType (line 4526) | BasicJsonType parse_msgpack(const bool strict)
method little_endianess (line 4544) | static constexpr bool little_endianess(int num = 1) noexcept
method BasicJsonType (line 4555) | BasicJsonType parse_cbor_internal(const bool get_char = true)
method BasicJsonType (line 4873) | BasicJsonType parse_msgpack_internal()
method get (line 5207) | int get()
method NumberType (line 5226) | NumberType get_number()
method get_string (line 5266) | std::string get_string(const NumberType len)
method get_cbor_string (line 5290) | std::string get_cbor_string()
method BasicJsonType (line 5366) | BasicJsonType get_cbor_array(const NumberType len)
method BasicJsonType (line 5377) | BasicJsonType get_cbor_object(const NumberType len)
method get_msgpack_string (line 5403) | std::string get_msgpack_string()
method BasicJsonType (line 5472) | BasicJsonType get_msgpack_array(const NumberType len)
method BasicJsonType (line 5483) | BasicJsonType get_msgpack_object(const NumberType len)
method check_eof (line 5502) | void check_eof(const bool expect_eof = false) const
class binary_writer (line 5538) | class binary_writer
method binary_writer (line 5546) | explicit binary_writer(output_adapter_t<CharType> adapter) : oa(ad...
method write_cbor (line 5554) | void write_cbor(const BasicJsonType& j)
method write_msgpack (line 5798) | void write_msgpack(const BasicJsonType& j)
method write_number (line 6045) | void write_number(NumberType n)
class serializer (line 6074) | class serializer
method serializer (line 6085) | serializer(output_adapter_t<char> s, const char ichar)
method serializer (line 6092) | serializer(const serializer&) = delete;
method serializer (line 6093) | serializer& operator=(const serializer&) = delete;
method dump (line 6112) | void dump(const BasicJsonType& val, const bool pretty_print,
method bytes_following (line 6311) | static constexpr std::size_t bytes_following(const uint8_t u)
method extra_space (line 6329) | static std::size_t extra_space(const string_t& s,
method escape_codepoint (line 6419) | static void escape_codepoint(int codepoint, string_t& result, std:...
method dump_escaped (line 6484) | void dump_escaped(const string_t& s, const bool ensure_ascii) const
method dump_integer (line 6638) | void dump_integer(NumberType x)
method dump_float (line 6679) | void dump_float(number_float_t x)
method decode (line 6755) | static void decode(uint8_t& state, const uint8_t byte)
method throw_if_invalid_utf8 (line 6789) | static void throw_if_invalid_utf8(const std::string& str)
class json_ref (line 6838) | class json_ref
method json_ref (line 6843) | json_ref(value_type&& value)
method json_ref (line 6847) | json_ref(const value_type& value)
method json_ref (line 6851) | json_ref(std::initializer_list<json_ref> init)
method json_ref (line 6856) | json_ref(Args&& ... args)
method json_ref (line 6861) | json_ref(json_ref&&) = default;
method json_ref (line 6862) | json_ref(const json_ref&) = delete;
method json_ref (line 6863) | json_ref& operator=(const json_ref&) = delete;
method value_type (line 6865) | value_type moved_or_copied() const
method value_type (line 6874) | value_type const& operator*() const
method value_type (line 6879) | value_type const* operator->() const
type adl_serializer (line 6908) | struct adl_serializer
method from_json (line 6920) | static void from_json(BasicJsonType&& j, ValueType& val) noexcept(
method to_json (line 6936) | static void to_json(BasicJsonType& j, ValueType&& val) noexcept(
class json_pointer (line 6954) | class json_pointer
class basic_json (line 6958) | class basic_json
method json_pointer (line 6982) | explicit json_pointer(const std::string& s = "") : reference_tokens(...
method to_string (line 6999) | std::string to_string() const noexcept
method array_index (line 7022) | static int array_index(const std::string& s)
method pop_back (line 7041) | std::string pop_back()
method is_root (line 7054) | bool is_root() const
method json_pointer (line 7059) | json_pointer top() const
method split (line 7147) | static std::vector<std::string> split(const std::string& reference_s...
method replace_substring (line 7222) | static void replace_substring(std::string& s, const std::string& f,
method escape (line 7234) | static std::string escape(std::string s)
method unescape (line 7242) | static void unescape(std::string& s)
function NLOHMANN_BASIC_JSON_TPL_DECLARATION (line 7365) | NLOHMANN_BASIC_JSON_TPL_DECLARATION
function value_t (line 9127) | constexpr value_t type() const noexcept
function is_primitive (line 9157) | constexpr bool is_primitive() const noexcept
function is_structured (line 9184) | constexpr bool is_structured() const noexcept
function is_null (line 9206) | constexpr bool is_null() const noexcept
function is_boolean (line 9228) | constexpr bool is_boolean() const noexcept
function is_number (line 9258) | constexpr bool is_number() const noexcept
function is_number_integer (line 9287) | constexpr bool is_number_integer() const noexcept
function is_number_unsigned (line 9315) | constexpr bool is_number_unsigned() const noexcept
function is_number_float (line 9343) | constexpr bool is_number_float() const noexcept
function is_object (line 9365) | constexpr bool is_object() const noexcept
function is_array (line 9387) | constexpr bool is_array() const noexcept
function is_string (line 9409) | constexpr bool is_string() const noexcept
function is_discarded (line 9436) | constexpr bool is_discarded() const noexcept
type merge_and_renumber<index_sequence<I1...>, index_sequence<I2...>> (line 585) | struct merge_and_renumber<index_sequence<I1...>, index_sequence<I2...>>
type conjunction<B1, Bn...> (line 615) | struct conjunction<B1, Bn...> : std::conditional<bool(B1::value), conjun...
function object_t (line 9486) | object_t* get_impl_ptr(object_t* /*unused*/) noexcept
function object_t (line 9492) | constexpr const object_t* get_impl_ptr(const object_t* /*unused*/) const...
function array_t (line 9498) | array_t* get_impl_ptr(array_t* /*unused*/) noexcept
function array_t (line 9504) | constexpr const array_t* get_impl_ptr(const array_t* /*unused*/) const n...
function string_t (line 9510) | string_t* get_impl_ptr(string_t* /*unused*/) noexcept
function string_t (line 9516) | constexpr const string_t* get_impl_ptr(const string_t* /*unused*/) const...
function boolean_t (line 9522) | boolean_t* get_impl_ptr(boolean_t* /*unused*/) noexcept
function boolean_t (line 9528) | constexpr const boolean_t* get_impl_ptr(const boolean_t* /*unused*/) con...
function number_integer_t (line 9534) | number_integer_t* get_impl_ptr(number_integer_t* /*unused*/) noexcept
function number_integer_t (line 9540) | constexpr const number_integer_t* get_impl_ptr(const number_integer_t* /...
function number_unsigned_t (line 9546) | number_unsigned_t* get_impl_ptr(number_unsigned_t* /*unused*/) noexcept
function number_unsigned_t (line 9552) | constexpr const number_unsigned_t* get_impl_ptr(const number_unsigned_t*...
function number_float_t (line 9558) | number_float_t* get_impl_ptr(number_float_t* /*unused*/) noexcept
function number_float_t (line 9564) | constexpr const number_float_t* get_impl_ptr(const number_float_t* /*unu...
function ReferenceType (line 9581) | static ReferenceType get_ref_impl(ThisType& obj)
function ValueType (line 9666) | ValueType get() const noexcept(noexcept(
function ValueType (line 9717) | ValueType get() const noexcept(noexcept(
function PointerType (line 9754) | PointerType get() noexcept
function PointerType (line 9766) | constexpr const PointerType get() const noexcept
function PointerType (line 9800) | PointerType get_ptr() noexcept
function PointerType (line 9828) | constexpr const PointerType get_ptr() const noexcept
function ReferenceType (line 9877) | ReferenceType get_ref()
function ReferenceType (line 9890) | ReferenceType get_ref() const
function reference (line 9979) | reference at(size_type idx)
function const_reference (line 10026) | const_reference at(size_type idx) const
function reference (line 10077) | reference at(const typename object_t::key_type& key)
function const_reference (line 10128) | const_reference at(const typename object_t::key_type& key) const
function reference (line 10174) | reference operator[](size_type idx)
function const_reference (line 10220) | const_reference operator[](size_type idx) const
function reference (line 10258) | reference operator[](const typename object_t::key_type& key)
function const_reference (line 10307) | const_reference operator[](const typename object_t::key_type& key) const
function reference (line 10347) | reference operator[](T* key)
function const_reference (line 10397) | const_reference operator[](T* key) const
function ValueType (line 10459) | ValueType value(const typename object_t::key_type& key, const ValueType&...
function string_t (line 10481) | string_t value(const typename object_t::key_type& key, const char* defau...
function ValueType (line 10529) | ValueType value(const json_pointer& ptr, const ValueType& default_value)...
function string_t (line 10552) | string_t value(const json_pointer& ptr, const char* default_value) const
function reference (line 10582) | reference front()
function const_reference (line 10590) | const_reference front() const
function reference (line 10626) | reference back()
function const_reference (line 10636) | const_reference back() const
function IteratorType (line 10693) | IteratorType erase(IteratorType pos)
function IteratorType (line 10798) | IteratorType erase(IteratorType first, IteratorType last)
function size_type (line 10885) | size_type erase(const typename object_t::key_type& key)
function erase (line 10920) | void erase(const size_type idx)
function iterator (line 10971) | iterator find(KeyT&& key)
function const_iterator (line 10988) | const_iterator find(KeyT&& key) const
function size_type (line 11022) | size_type count(KeyT&& key) const
function iterator (line 11062) | iterator begin() noexcept
function const_iterator (line 11072) | const_iterator begin() const noexcept
function const_iterator (line 11102) | const_iterator cbegin() const noexcept
function iterator (line 11133) | iterator end() noexcept
function const_iterator (line 11143) | const_iterator end() const noexcept
function const_iterator (line 11173) | const_iterator cend() const noexcept
function reverse_iterator (line 11203) | reverse_iterator rbegin() noexcept
function const_reverse_iterator (line 11211) | const_reverse_iterator rbegin() const noexcept
function reverse_iterator (line 11240) | reverse_iterator rend() noexcept
function const_reverse_iterator (line 11248) | const_reverse_iterator rend() const noexcept
function const_reverse_iterator (line 11277) | const_reverse_iterator crbegin() const noexcept
function const_reverse_iterator (line 11306) | const_reverse_iterator crend() const noexcept
function iterator_wrapper (line 11373) | static iteration_proxy<const_iterator> iterator_wrapper(const_reference ...
function empty (line 11429) | bool empty() const noexcept
function size_type (line 11501) | size_type size() const noexcept
function size_type (line 11571) | size_type max_size() const noexcept
function clear (line 11641) | void clear() noexcept
function push_back (line 11712) | void push_back(basic_json&& val)
function reference (line 11738) | reference operator+=(basic_json&& val)
function push_back (line 11748) | void push_back(const basic_json& val)
function reference (line 11772) | reference operator+=(const basic_json& val)
function push_back (line 11798) | void push_back(const typename object_t::value_type& val)
function reference (line 11822) | reference operator+=(const typename object_t::value_type& val)
function push_back (line 11853) | void push_back(initializer_list_t init)
function reference (line 11871) | reference operator+=(initializer_list_t init)
function emplace_back (line 11899) | void emplace_back(Args&& ... args)
function emplace (line 11947) | std::pair<iterator, bool> emplace(Args&& ... args)
function iterator (line 11995) | iterator insert(const_iterator pos, const basic_json& val)
function iterator (line 12019) | iterator insert(const_iterator pos, basic_json&& val)
function iterator (line 12048) | iterator insert(const_iterator pos, size_type cnt, const basic_json& val)
function iterator (line 12098) | iterator insert(const_iterator pos, const_iterator first, const_iterator...
function iterator (line 12156) | iterator insert(const_iterator pos, initializer_list_t ilist)
function insert (line 12199) | void insert(const_iterator first, const_iterator last)
function update (line 12241) | void update(const_reference j)
function update (line 12292) | void update(const_iterator first, const_iterator last)
function swap (line 12343) | void swap(reference other) noexcept (
function swap (line 12375) | void swap(array_t& other)
function swap (line 12408) | void swap(object_t& other)
function swap (line 12441) | void swap(string_t& other)
function friend (line 12608) | friend bool operator!=(const_reference lhs, const_reference rhs) noexcept
function friend (line 12661) | friend bool operator<(const_reference lhs, const_reference rhs) noexcept
function friend (line 12770) | friend bool operator<=(const_reference lhs, const_reference rhs) noexcept
function friend (line 12816) | friend bool operator>(const_reference lhs, const_reference rhs) noexcept
function friend (line 12862) | friend bool operator>=(const_reference lhs, const_reference rhs) noexcept
function friend (line 12929) | friend std::ostream& operator<<(std::ostream& o, const basic_json& j)
function JSON_DEPRECATED (line 12952) | JSON_DEPRECATED
function basic_json (line 13030) | static basic_json parse(detail::input_adapter i,
function basic_json (line 13042) | static basic_json parse(detail::input_adapter& i,
function accept (line 13051) | static bool accept(detail::input_adapter i)
function accept (line 13056) | static bool accept(detail::input_adapter& i)
function basic_json (line 13112) | static basic_json parse(IteratorType first, IteratorType last,
function accept (line 13125) | static bool accept(IteratorType first, IteratorType last)
function JSON_DEPRECATED (line 13138) | JSON_DEPRECATED
function friend (line 13169) | friend std::istream& operator>>(std::istream& i, basic_json& j)
function to_cbor (line 13347) | static void to_cbor(const basic_json& j, detail::output_adapter<uint8_t> o)
function to_cbor (line 13352) | static void to_cbor(const basic_json& j, detail::output_adapter<char> o)
function to_msgpack (line 13435) | static std::vector<uint8_t> to_msgpack(const basic_json& j)
function to_msgpack (line 13442) | static void to_msgpack(const basic_json& j, detail::output_adapter<uint8...
function to_msgpack (line 13447) | static void to_msgpack(const basic_json& j, detail::output_adapter<char> o)
function basic_json (line 13543) | static basic_json from_cbor(detail::input_adapter i,
function basic_json (line 13554) | static basic_json from_cbor(A1 && a1, A2 && a2, const bool strict = true)
function basic_json (line 13630) | static basic_json from_msgpack(detail::input_adapter i,
function basic_json (line 13641) | static basic_json from_msgpack(A1 && a1, A2 && a2, const bool strict = t...
function reference (line 13688) | reference operator[](const json_pointer& ptr)
function const_reference (line 13716) | const_reference operator[](const json_pointer& ptr) const
function reference (line 13759) | reference at(const json_pointer& ptr)
function const_reference (line 13802) | const_reference at(const json_pointer& ptr) const
function basic_json (line 13829) | basic_json flatten() const
function basic_json (line 13866) | basic_json unflatten() const
function basic_json (line 13927) | basic_json patch(const basic_json& json_patch) const
function basic_json (line 14224) | static basic_json diff(const basic_json& source, const basic_json& target,
function NLOHMANN_BASIC_JSON_TPL_DECLARATION (line 14370) | NLOHMANN_BASIC_JSON_TPL_DECLARATION
function NLOHMANN_BASIC_JSON_TPL_DECLARATION (line 14433) | NLOHMANN_BASIC_JSON_TPL_DECLARATION
function NLOHMANN_BASIC_JSON_TPL_DECLARATION (line 14505) | NLOHMANN_BASIC_JSON_TPL_DECLARATION
function NLOHMANN_BASIC_JSON_TPL_DECLARATION (line 14559) | NLOHMANN_BASIC_JSON_TPL_DECLARATION
function NLOHMANN_BASIC_JSON_TPL_DECLARATION (line 14614) | NLOHMANN_BASIC_JSON_TPL_DECLARATION
function NLOHMANN_BASIC_JSON_TPL_DECLARATION (line 14668) | NLOHMANN_BASIC_JSON_TPL_DECLARATION
function NLOHMANN_BASIC_JSON_TPL_DECLARATION (line 14721) | NLOHMANN_BASIC_JSON_TPL_DECLARATION
type std (line 14767) | namespace std
function swap (line 14775) | inline void swap(nlohmann::json& j1,
type hash<nlohmann::json> (line 14786) | struct hash<nlohmann::json>
type less< ::nlohmann::detail::value_t> (line 14805) | struct less< ::nlohmann::detail::value_t>
FILE: include/infra/sse2neon.h
type float32x2_t (line 101) | typedef float32x2_t __m64;
type float32x4_t (line 102) | typedef float32x4_t __m128;
type int32x4_t (line 103) | typedef int32x4_t __m128i;
function FORCE_INLINE (line 188) | FORCE_INLINE void _mm_prefetch(const void *p, int i)
function FORCE_INLINE (line 195) | FORCE_INLINE float _mm_cvtss_f32(__m128 a)
function FORCE_INLINE (line 202) | FORCE_INLINE __m128i _mm_setzero_si128(void)
function FORCE_INLINE (line 209) | FORCE_INLINE __m128 _mm_setzero_ps(void)
function FORCE_INLINE (line 219) | FORCE_INLINE __m128 _mm_set1_ps(float _w)
function FORCE_INLINE (line 226) | FORCE_INLINE __m128 _mm_set_ps1(float _w)
function FORCE_INLINE (line 233) | FORCE_INLINE __m128 _mm_set_ps(float w, float z, float y, float x)
function FORCE_INLINE (line 242) | FORCE_INLINE __m128 _mm_setr_ps(float w, float z, float y, float x)
function FORCE_INLINE (line 255) | FORCE_INLINE __m128i _mm_setr_epi16(short w0,
function FORCE_INLINE (line 271) | FORCE_INLINE __m128i _mm_setr_epi32(int i3, int i2, int i1, int i0)
function FORCE_INLINE (line 285) | FORCE_INLINE __m128i _mm_set1_epi8(char w)
function FORCE_INLINE (line 298) | FORCE_INLINE __m128i _mm_set1_epi16(short w)
function FORCE_INLINE (line 305) | FORCE_INLINE __m128i _mm_set_epi8(char b15,
function FORCE_INLINE (line 332) | FORCE_INLINE __m128i _mm_set_epi16(short i7,
function FORCE_INLINE (line 348) | FORCE_INLINE __m128i _mm_setr_epi8(char b0,
function FORCE_INLINE (line 381) | FORCE_INLINE __m128i _mm_set1_epi32(int _i)
function FORCE_INLINE (line 388) | FORCE_INLINE __m128i _mm_set1_epi64(int64_t _i)
function FORCE_INLINE (line 395) | FORCE_INLINE __m128i _mm_set_epi32(int i3, int i2, int i1, int i0)
function FORCE_INLINE (line 404) | FORCE_INLINE __m128i _mm_set_epi64x(int64_t i1, int64_t i2)
function FORCE_INLINE (line 412) | FORCE_INLINE void _mm_store_ps(float *p, __m128 a)
function FORCE_INLINE (line 419) | FORCE_INLINE void _mm_storeu_ps(float *p, __m128 a)
function FORCE_INLINE (line 426) | FORCE_INLINE void _mm_store_si128(__m128i *p, __m128i a)
function FORCE_INLINE (line 433) | FORCE_INLINE void _mm_storeu_si128(__m128i *p, __m128i a)
function FORCE_INLINE (line 440) | FORCE_INLINE void _mm_store_ss(float *p, __m128 a)
function FORCE_INLINE (line 447) | FORCE_INLINE void _mm_storel_epi64(__m128i *a, __m128i b)
function FORCE_INLINE (line 461) | FORCE_INLINE void _mm_storel_pi(__m64 *p, __m128 a)
function FORCE_INLINE (line 469) | FORCE_INLINE __m128 _mm_load1_ps(const float *p)
function FORCE_INLINE (line 486) | FORCE_INLINE __m128 _mm_loadl_pi(__m128 a, __m64 const *b)
function FORCE_INLINE (line 494) | FORCE_INLINE __m128 _mm_load_ps(const float *p)
function FORCE_INLINE (line 501) | FORCE_INLINE __m128 _mm_loadu_ps(const float *p)
function FORCE_INLINE (line 511) | FORCE_INLINE __m128 _mm_load_ss(const float *p)
function FORCE_INLINE (line 516) | FORCE_INLINE __m128i _mm_loadl_epi64(__m128i const *p)
function FORCE_INLINE (line 530) | FORCE_INLINE __m128 _mm_cmpneq_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 545) | FORCE_INLINE __m128 _mm_andnot_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 558) | FORCE_INLINE __m128i _mm_andnot_si128(__m128i a, __m128i b)
function FORCE_INLINE (line 571) | FORCE_INLINE __m128i _mm_and_si128(__m128i a, __m128i b)
function FORCE_INLINE (line 586) | FORCE_INLINE __m128 _mm_and_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 595) | FORCE_INLINE __m128 _mm_or_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 604) | FORCE_INLINE __m128 _mm_xor_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 615) | FORCE_INLINE __m128i _mm_or_si128(__m128i a, __m128i b)
function FORCE_INLINE (line 623) | FORCE_INLINE __m128i _mm_xor_si128(__m128i a, __m128i b)
function FORCE_INLINE (line 635) | FORCE_INLINE __m128 _mm_movehl_ps(__m128 __A, __m128 __B)
function FORCE_INLINE (line 648) | FORCE_INLINE __m128 _mm_movelh_ps(__m128 __A, __m128 __B)
function FORCE_INLINE (line 659) | FORCE_INLINE int _mm_movemask_ps(__m128 a)
function FORCE_INLINE (line 676) | FORCE_INLINE __m128i _mm_abs_epi32(__m128i a)
function FORCE_INLINE (line 681) | FORCE_INLINE __m128i _mm_abs_epi16(__m128i a)
function FORCE_INLINE (line 688) | FORCE_INLINE __m128 _mm_shuffle_ps_1032(__m128 a, __m128 b)
function FORCE_INLINE (line 698) | FORCE_INLINE __m128 _mm_shuffle_ps_2301(__m128 a, __m128 b)
function FORCE_INLINE (line 705) | FORCE_INLINE __m128 _mm_shuffle_ps_0321(__m128 a, __m128 b)
function FORCE_INLINE (line 714) | FORCE_INLINE __m128 _mm_shuffle_ps_2103(__m128 a, __m128 b)
function FORCE_INLINE (line 723) | FORCE_INLINE __m128 _mm_shuffle_ps_1010(__m128 a, __m128 b)
function FORCE_INLINE (line 730) | FORCE_INLINE __m128 _mm_shuffle_ps_1001(__m128 a, __m128 b)
function FORCE_INLINE (line 737) | FORCE_INLINE __m128 _mm_shuffle_ps_0101(__m128 a, __m128 b)
function FORCE_INLINE (line 746) | FORCE_INLINE __m128 _mm_shuffle_ps_3210(__m128 a, __m128 b)
function FORCE_INLINE (line 753) | FORCE_INLINE __m128 _mm_shuffle_ps_0011(__m128 a, __m128 b)
function FORCE_INLINE (line 760) | FORCE_INLINE __m128 _mm_shuffle_ps_0022(__m128 a, __m128 b)
function FORCE_INLINE (line 768) | FORCE_INLINE __m128 _mm_shuffle_ps_2200(__m128 a, __m128 b)
function FORCE_INLINE (line 776) | FORCE_INLINE __m128 _mm_shuffle_ps_3202(__m128 a, __m128 b)
function FORCE_INLINE (line 786) | FORCE_INLINE __m128 _mm_shuffle_ps_1133(__m128 a, __m128 b)
function FORCE_INLINE (line 794) | FORCE_INLINE __m128 _mm_shuffle_ps_2010(__m128 a, __m128 b)
function FORCE_INLINE (line 803) | FORCE_INLINE __m128 _mm_shuffle_ps_2001(__m128 a, __m128 b)
function FORCE_INLINE (line 812) | FORCE_INLINE __m128 _mm_shuffle_ps_2032(__m128 a, __m128 b)
function FORCE_INLINE (line 826) | FORCE_INLINE __m128 _mm_shuffle_ps_default(__m128 a,
function FORCE_INLINE (line 921) | FORCE_INLINE __m128i _mm_shuffle_epi_1032(__m128i a)
function FORCE_INLINE (line 931) | FORCE_INLINE __m128i _mm_shuffle_epi_2301(__m128i a)
function FORCE_INLINE (line 940) | FORCE_INLINE __m128i _mm_shuffle_epi_0321(__m128i a)
function FORCE_INLINE (line 948) | FORCE_INLINE __m128i _mm_shuffle_epi_2103(__m128i a)
function FORCE_INLINE (line 956) | FORCE_INLINE __m128i _mm_shuffle_epi_1010(__m128i a)
function FORCE_INLINE (line 964) | FORCE_INLINE __m128i _mm_shuffle_epi_1001(__m128i a)
function FORCE_INLINE (line 974) | FORCE_INLINE __m128i _mm_shuffle_epi_0101(__m128i a)
function FORCE_INLINE (line 980) | FORCE_INLINE __m128i _mm_shuffle_epi_2211(__m128i a)
function FORCE_INLINE (line 987) | FORCE_INLINE __m128i _mm_shuffle_epi_0122(__m128i a)
function FORCE_INLINE (line 994) | FORCE_INLINE __m128i _mm_shuffle_epi_3332(__m128i a)
function FORCE_INLINE (line 1004) | FORCE_INLINE __m128i _mm_shuffle_epi8(__m128i a, __m128i b)
function FORCE_INLINE (line 1047) | FORCE_INLINE __m128i _mm_shuffle_epi32_default(__m128i a,
function FORCE_INLINE (line 1199) | FORCE_INLINE __m128i _mm_srai_epi32(__m128i a, int count)
function FORCE_INLINE (line 1211) | FORCE_INLINE __m128i _mm_srai_epi16(__m128i a, int count)
function FORCE_INLINE (line 1399) | FORCE_INLINE int _mm_movemask_epi8(__m128i _a)
function FORCE_INLINE (line 1430) | FORCE_INLINE int _mm_test_all_zeros(__m128i a, __m128i mask)
function FORCE_INLINE (line 1450) | FORCE_INLINE __m128 _mm_sub_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 1465) | FORCE_INLINE __m128i _mm_sub_epi32(__m128i a, __m128i b)
function FORCE_INLINE (line 1471) | FORCE_INLINE __m128i _mm_sub_epi16(__m128i a, __m128i b)
function FORCE_INLINE (line 1477) | FORCE_INLINE __m128i _mm_sub_epi8(__m128i a, __m128i b)
function FORCE_INLINE (line 1486) | FORCE_INLINE __m128i _mm_subs_epu16(__m128i a, __m128i b)
function FORCE_INLINE (line 1501) | FORCE_INLINE __m128i _mm_subs_epu8(__m128i a, __m128i b)
function FORCE_INLINE (line 1514) | FORCE_INLINE __m128i _mm_subs_epi16(__m128i a, __m128i b)
function FORCE_INLINE (line 1520) | FORCE_INLINE __m128i _mm_adds_epu16(__m128i a, __m128i b)
function FORCE_INLINE (line 1526) | FORCE_INLINE __m128i _mm_sign_epi32(__m128i a, __m128i b)
function FORCE_INLINE (line 1536) | FORCE_INLINE __m128i _mm_sign_epi16(__m128i a, __m128i b)
function FORCE_INLINE (line 1556) | FORCE_INLINE __m128 _mm_add_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 1564) | FORCE_INLINE __m128 _mm_add_ss(__m128 a, __m128 b)
function FORCE_INLINE (line 1575) | FORCE_INLINE __m128i _mm_add_epi64(__m128i a, __m128i b)
function FORCE_INLINE (line 1590) | FORCE_INLINE __m128i _mm_add_epi32(__m128i a, __m128i b)
function FORCE_INLINE (line 1599) | FORCE_INLINE __m128i _mm_add_epi16(__m128i a, __m128i b)
function FORCE_INLINE (line 1608) | FORCE_INLINE __m128i _mm_add_epi8(__m128i a, __m128i b)
function FORCE_INLINE (line 1623) | FORCE_INLINE __m128i _mm_adds_epi16(__m128i a, __m128i b)
function FORCE_INLINE (line 1632) | FORCE_INLINE __m128i _mm_adds_epu8(__m128i a, __m128i b)
function FORCE_INLINE (line 1647) | FORCE_INLINE __m128i _mm_mullo_epi16(__m128i a, __m128i b)
function FORCE_INLINE (line 1656) | FORCE_INLINE __m128i _mm_mullo_epi32(__m128i a, __m128i b)
function FORCE_INLINE (line 1670) | FORCE_INLINE __m128 _mm_mul_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 1684) | FORCE_INLINE __m128i _mm_madd_epi16(__m128i a, __m128i b)
function FORCE_INLINE (line 1713) | FORCE_INLINE __m128i _mm_sad_epu8(__m128i a, __m128i b)
function FORCE_INLINE (line 1730) | FORCE_INLINE __m128 _mm_div_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 1740) | FORCE_INLINE __m128 _mm_div_ss(__m128 a, __m128 b)
function FORCE_INLINE (line 1752) | FORCE_INLINE __m128 recipq_newton(__m128 in, int n)
function FORCE_INLINE (line 1766) | FORCE_INLINE __m128 _mm_rcp_ps(__m128 in)
function FORCE_INLINE (line 1783) | FORCE_INLINE __m128 _mm_sqrt_ps(__m128 in)
function FORCE_INLINE (line 1794) | FORCE_INLINE __m128 _mm_sqrt_ss(__m128 in)
function FORCE_INLINE (line 1805) | FORCE_INLINE __m128 _mm_rsqrt_ps(__m128 in)
function FORCE_INLINE (line 1813) | FORCE_INLINE __m128 _mm_max_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 1822) | FORCE_INLINE __m128 _mm_min_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 1831) | FORCE_INLINE __m128 _mm_max_ss(__m128 a, __m128 b)
function FORCE_INLINE (line 1842) | FORCE_INLINE __m128 _mm_min_ss(__m128 a, __m128 b)
function FORCE_INLINE (line 1853) | FORCE_INLINE __m128i _mm_max_epu8(__m128i a, __m128i b)
function FORCE_INLINE (line 1862) | FORCE_INLINE __m128i _mm_min_epu8(__m128i a, __m128i b)
function FORCE_INLINE (line 1871) | FORCE_INLINE __m128i _mm_min_epi16(__m128i a, __m128i b)
function FORCE_INLINE (line 1880) | FORCE_INLINE __m128i _mm_max_epi16(__m128i a, __m128i b)
function FORCE_INLINE (line 1897) | FORCE_INLINE __m128i _mm_max_epi32(__m128i a, __m128i b)
function FORCE_INLINE (line 1913) | FORCE_INLINE __m128i _mm_min_epi32(__m128i a, __m128i b)
function FORCE_INLINE (line 1928) | FORCE_INLINE __m128i _mm_mulhi_epi16(__m128i a, __m128i b)
function FORCE_INLINE (line 1948) | FORCE_INLINE __m128 _mm_hadd_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 1969) | FORCE_INLINE __m128 _mm_cmplt_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 1983) | FORCE_INLINE __m128 _mm_cmpgt_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 1991) | FORCE_INLINE __m128 _mm_cmpge_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 2005) | FORCE_INLINE __m128 _mm_cmple_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 2013) | FORCE_INLINE __m128 _mm_cmpeq_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 2022) | FORCE_INLINE __m128i _mm_cmpeq_epi8(__m128i a, __m128i b)
function FORCE_INLINE (line 2031) | FORCE_INLINE __m128i _mm_cmpeq_epi16(__m128i a, __m128i b)
function FORCE_INLINE (line 2039) | FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i a, __m128i b)
function FORCE_INLINE (line 2048) | FORCE_INLINE __m128i _mm_cmplt_epi8(__m128i a, __m128i b)
function FORCE_INLINE (line 2063) | FORCE_INLINE __m128i _mm_cmpgt_epi8(__m128i a, __m128i b)
function FORCE_INLINE (line 2078) | FORCE_INLINE __m128i _mm_cmpgt_epi16(__m128i a, __m128i b)
function FORCE_INLINE (line 2088) | FORCE_INLINE __m128i _mm_cmplt_epi32(__m128i a, __m128i b)
function FORCE_INLINE (line 2097) | FORCE_INLINE __m128i _mm_cmpgt_epi32(__m128i a, __m128i b)
function FORCE_INLINE (line 2110) | FORCE_INLINE __m128 _mm_cmpord_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 2127) | FORCE_INLINE int _mm_comilt_ss(__m128 a, __m128 b)
function FORCE_INLINE (line 2142) | FORCE_INLINE int _mm_comigt_ss(__m128 a, __m128 b)
function FORCE_INLINE (line 2159) | FORCE_INLINE int _mm_comile_ss(__m128 a, __m128 b)
function FORCE_INLINE (line 2176) | FORCE_INLINE int _mm_comige_ss(__m128 a, __m128 b)
function FORCE_INLINE (line 2193) | FORCE_INLINE int _mm_comieq_ss(__m128 a, __m128 b)
function FORCE_INLINE (line 2210) | FORCE_INLINE int _mm_comineq_ss(__m128 a, __m128 b)
function FORCE_INLINE (line 2241) | FORCE_INLINE __m128i _mm_cvttps_epi32(__m128 a)
function FORCE_INLINE (line 2249) | FORCE_INLINE __m128 _mm_cvtepi32_ps(__m128i a)
function FORCE_INLINE (line 2257) | FORCE_INLINE __m128i _mm_cvtepu8_epi32(__m128i a)
function FORCE_INLINE (line 2268) | FORCE_INLINE __m128i _mm_cvtepi16_epi32(__m128i a)
function FORCE_INLINE (line 2285) | FORCE_INLINE __m128i _mm_cvtps_epi32(__m128 a)
function FORCE_INLINE (line 2311) | FORCE_INLINE int _mm_cvtsi128_si32(__m128i a)
function FORCE_INLINE (line 2318) | FORCE_INLINE uint64_t _mm_cvtsi128_si64(__m128i a)
function FORCE_INLINE (line 2332) | FORCE_INLINE __m128i _mm_cvtsi32_si128(int a)
function FORCE_INLINE (line 2340) | FORCE_INLINE __m128i _mm_castps_si128(__m128 a)
function FORCE_INLINE (line 2348) | FORCE_INLINE __m128 _mm_castsi128_ps(__m128i a)
function FORCE_INLINE (line 2355) | FORCE_INLINE __m128i _mm_load_si128(const __m128i *p)
function FORCE_INLINE (line 2362) | FORCE_INLINE __m128i _mm_loadu_si128(const __m128i *p)
function FORCE_INLINE (line 2374) | FORCE_INLINE __m128i _mm_packs_epi16(__m128i a, __m128i b)
function FORCE_INLINE (line 2394) | FORCE_INLINE __m128i _mm_packus_epi16(const __m128i a, const __m128i b)
function FORCE_INLINE (line 2414) | FORCE_INLINE __m128i _mm_packs_epi32(__m128i a, __m128i b)
function FORCE_INLINE (line 2433) | FORCE_INLINE __m128i _mm_unpacklo_epi8(__m128i a, __m128i b)
function FORCE_INLINE (line 2454) | FORCE_INLINE __m128i _mm_unpacklo_epi16(__m128i a, __m128i b)
function FORCE_INLINE (line 2471) | FORCE_INLINE __m128i _mm_unpacklo_epi32(__m128i a, __m128i b)
function FORCE_INLINE (line 2479) | FORCE_INLINE __m128i _mm_unpacklo_epi64(__m128i a, __m128i b)
function FORCE_INLINE (line 2495) | FORCE_INLINE __m128 _mm_unpacklo_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 2512) | FORCE_INLINE __m128 _mm_unpackhi_ps(__m128 a, __m128 b)
function FORCE_INLINE (line 2532) | FORCE_INLINE __m128i _mm_unpackhi_epi8(__m128i a, __m128i b)
function FORCE_INLINE (line 2555) | FORCE_INLINE __m128i _mm_unpackhi_epi16(__m128i a, __m128i b)
function FORCE_INLINE (line 2566) | FORCE_INLINE __m128i _mm_unpackhi_epi32(__m128i a, __m128i b)
function FORCE_INLINE (line 2579) | FORCE_INLINE __m128i _mm_unpackhi_epi64(__m128i a, __m128i b)
function FORCE_INLINE (line 2617) | FORCE_INLINE void _mm_sfence(void)
function FORCE_INLINE (line 2626) | FORCE_INLINE void _mm_stream_si128(__m128i *p, __m128i a)
function FORCE_INLINE (line 2631) | FORCE_INLINE __m128i _mm_clmulepi64_si128 (__m128i a, __m128i b, const i...
function FORCE_INLINE (line 2646) | FORCE_INLINE void _mm_clflush(void const *p)
FILE: include/interactive_mid_protocols/CommitmentScheme.hpp
class CmtRCommitPhaseOutput (line 37) | class CmtRCommitPhaseOutput: public NetworkSerialized {
class CmtRBasicCommitPhaseOutput (line 49) | class CmtRBasicCommitPhaseOutput : public CmtRCommitPhaseOutput {
method CmtRBasicCommitPhaseOutput (line 56) | CmtRBasicCommitPhaseOutput(long commitmentId) { this->commitmentId = c...
method getCommitmentId (line 60) | long getCommitmentId() override { return commitmentId; }
method string (line 62) | string toString() override { return to_string(commitmentId); }
method initFromString (line 63) | void initFromString(const string & s) { commitmentId = stol(s); }
class CmtRTrapdoorCommitPhaseOutput (line 70) | class CmtRTrapdoorCommitPhaseOutput : public CmtRBasicCommitPhaseOutput {
method CmtRTrapdoorCommitPhaseOutput (line 74) | CmtRTrapdoorCommitPhaseOutput() : CmtRTrapdoorCommitPhaseOutput(0, 0) {}
method CmtRTrapdoorCommitPhaseOutput (line 80) | CmtRTrapdoorCommitPhaseOutput(const biginteger & trapdoor, long commit...
method biginteger (line 87) | biginteger getTrap() { return trap; }
method string (line 90) | string toString() override {
method initFromString (line 93) | void initFromString(const string & raw) override {
class CmtCommitValue (line 105) | class CmtCommitValue {
class CmtGroupElementCommitValue (line 126) | class CmtGroupElementCommitValue : public CmtCommitValue {
method CmtGroupElementCommitValue (line 133) | CmtGroupElementCommitValue(const shared_ptr<GroupElement> & x) { this-...
method getX (line 137) | shared_ptr<void> getX() override { return x; }
method convertToPlaintext (line 141) | shared_ptr<Plaintext> convertToPlaintext() override {
method string (line 154) | string toString() override { return x->generateSendableData()->toStrin...
class CmtCommitmentPhaseValues (line 162) | class CmtCommitmentPhaseValues {
method CmtCommitmentPhaseValues (line 170) | CmtCommitmentPhaseValues() {}
method CmtCommitmentPhaseValues (line 171) | CmtCommitmentPhaseValues(const shared_ptr<RandomValue> & r, const shar...
method getR (line 176) | shared_ptr<RandomValue> getR() { return r; }
method getX (line 181) | shared_ptr<CmtCommitValue> getX() { return x; }
class CmtBigIntegerCommitValue (line 193) | class CmtBigIntegerCommitValue : public CmtCommitValue {
method CmtBigIntegerCommitValue (line 202) | CmtBigIntegerCommitValue(const shared_ptr<biginteger> & x) { this->x =...
method getX (line 207) | shared_ptr<void> getX() override { return x; }
method convertToPlaintext (line 212) | shared_ptr<Plaintext> convertToPlaintext() override {
method string (line 225) | string toString() override { return (*x).str(); }
class CmtByteArrayCommitValue (line 231) | class CmtByteArrayCommitValue : public CmtCommitValue {
method CmtByteArrayCommitValue (line 238) | CmtByteArrayCommitValue(const shared_ptr<vector<byte>> & x) { this->x ...
method getX (line 242) | shared_ptr<void> getX() override{ return x; }
method getXVector (line 243) | shared_ptr<vector<byte>> getXVector() { return x; }
method convertToPlaintext (line 247) | shared_ptr<Plaintext> convertToPlaintext() override {
method string (line 260) | string toString() override {
class CmtCCommitmentMsg (line 274) | class CmtCCommitmentMsg : public NetworkSerialized {
method serialize (line 289) | void serialize(Archive & ar, const unsigned int version){}
class CmtCDecommitmentMessage (line 295) | class CmtCDecommitmentMessage : public NetworkSerialized{
method serialize (line 306) | void serialize(Archive & ar, const unsigned int version) {}
class CmtCommitter (line 314) | class CmtCommitter {
method commit (line 374) | virtual void commit(const shared_ptr<CmtCommitValue> & input, long id) {
method decommit (line 423) | virtual void decommit(long id) {
method CmtCommitmentPhaseValues (line 468) | CmtCommitmentPhaseValues* getCommitmentPhaseValues(long id) {
class CmtReceiver (line 479) | class CmtReceiver {
method getCommitmentPhaseValues (line 552) | virtual shared_ptr<void> getCommitmentPhaseValues(long id) {
class CmtWithProofsCommitter (line 571) | class CmtWithProofsCommitter : public virtual CmtCommitter{
class CmtWithProofsReceiver (line 592) | class CmtWithProofsReceiver : public virtual CmtReceiver {
class CmtOnBigInteger (line 612) | class CmtOnBigInteger {}
class CmtOnByteArray (line 619) | class CmtOnByteArray {}
class CmtOnGroupElement (line 626) | class CmtOnGroupElement {}
FILE: include/interactive_mid_protocols/CommitmentSchemeElGamal.hpp
class CmtElGamalCommitmentPhaseValues (line 43) | class CmtElGamalCommitmentPhaseValues : public CmtCommitmentPhaseValues {
method CmtElGamalCommitmentPhaseValues (line 56) | CmtElGamalCommitmentPhaseValues(const shared_ptr<RandomValue> & r, con...
method getComputedCommitment (line 66) | shared_ptr<void> getComputedCommitment() override { return computedCom...
class CmtElGamalCommitmentMessage (line 73) | class CmtElGamalCommitmentMessage : public CmtCCommitmentMsg {
method CmtElGamalCommitmentMessage (line 87) | CmtElGamalCommitmentMessage(const shared_ptr<AsymmetricCiphertextSenda...
method getCommitment (line 95) | shared_ptr<void> getCommitment() { return cipherData; }
method getId (line 100) | long getId() { return id; }
method initFromString (line 103) | void initFromString(const string & s) override {
method string (line 113) | string toString() override { return to_string(id) + ":" + cipherData->...
class CmtElGamalDecommitmentMessage (line 121) | class CmtElGamalDecommitmentMessage : public CmtCDecommitmentMessage {
method CmtElGamalDecommitmentMessage (line 136) | CmtElGamalDecommitmentMessage(const shared_ptr<string> & x = NULL, con...
method getX (line 144) | shared_ptr<void> getX() override { return x; }
method string (line 145) | string getXValue() { return *x; }
method getR (line 150) | shared_ptr<RandomValue> getR() override { return r; }
method initFromString (line 153) | void initFromString(const string & s) override {
method string (line 164) | string toString() override { return *x + ":" + r->getR().str(); }
class CmtElGamalCommitterCore (line 174) | class CmtElGamalCommitterCore : public virtual CmtCommitter {
class CmtElGamalOnGroupElementCommitter (line 246) | class CmtElGamalOnGroupElementCommitter : public CmtElGamalCommitterCore...
method CmtElGamalOnGroupElementCommitter (line 255) | CmtElGamalOnGroupElementCommitter(const shared_ptr<CommParty> & channe...
method sampleRandomCommitValue (line 264) | shared_ptr<CmtCommitValue> sampleRandomCommitValue() override {
method generateCommitValue (line 268) | shared_ptr<CmtCommitValue> generateCommitValue(const vector<byte> & x)...
class CmtElGamalReceiverCore (line 288) | class CmtElGamalReceiverCore : public virtual CmtReceiver {
method CmtElGamalReceiverCore (line 337) | CmtElGamalReceiverCore(const shared_ptr<CommParty> & channel, const sh...
class CmtElGamalOnGroupElementReceiver (line 380) | class CmtElGamalOnGroupElementReceiver : public CmtElGamalReceiverCore, ...
method CmtElGamalOnGroupElementReceiver (line 392) | CmtElGamalOnGroupElementReceiver(const shared_ptr<CommParty> & channel...
class CmtElGamalOnByteArrayCommitter (line 431) | class CmtElGamalOnByteArrayCommitter : public CmtElGamalCommitterCore, p...
method CmtElGamalOnByteArrayCommitter (line 445) | CmtElGamalOnByteArrayCommitter(const shared_ptr<CommParty> & channel, ...
method generateCommitValue (line 457) | shared_ptr<CmtCommitValue> generateCommitValue(const vector<byte> & x)...
class CmtElGamalOnByteArrayReceiver (line 479) | class CmtElGamalOnByteArrayReceiver : public CmtElGamalReceiverCore , pu...
method CmtElGamalOnByteArrayReceiver (line 496) | CmtElGamalOnByteArrayReceiver(const shared_ptr<CommParty> & channel, c...
class CmtElGamalWithProofsCommitter (line 532) | class CmtElGamalWithProofsCommitter : public CmtElGamalOnGroupElementCom...
class CmtElGamalWithProofsReceiver (line 558) | class CmtElGamalWithProofsReceiver : public CmtElGamalOnGroupElementRece...
FILE: include/interactive_mid_protocols/CommitmentSchemeElGamalHash.hpp
class CmtElGamalHashCommitter (line 42) | class CmtElGamalHashCommitter : public CmtElGamalCommitterCore, public S...
method generateCommitValue (line 88) | shared_ptr<CmtCommitValue> generateCommitValue(const vector<byte> & x)...
class CmtElGamalHashReceiver (line 109) | class CmtElGamalHashReceiver : public CmtElGamalReceiverCore, public Sec...
FILE: include/interactive_mid_protocols/CommitmentSchemeEquivocal.hpp
class CmtEquivocalCommitter (line 43) | class CmtEquivocalCommitter : public CmtCommitter, public EquivocalCmt {
method doConstruct (line 57) | void doConstruct(const shared_ptr<CommParty> & channel, const shared_p...
method CmtEquivocalCommitter (line 67) | CmtEquivocalCommitter(const shared_ptr<CommParty> & channel, const sha...
method CmtEquivocalCommitter (line 72) | CmtEquivocalCommitter(const shared_ptr<CommParty> & channel, int t, co...
method generateCommitmentMsg (line 76) | shared_ptr<CmtCCommitmentMsg> generateCommitmentMsg(const shared_ptr<C...
method generateDecommitmentMsg (line 81) | shared_ptr<CmtCDecommitmentMessage> generateDecommitmentMsg(long id) o...
method decommit (line 91) | void decommit(long id) override {
method sampleRandomCommitValue (line 100) | shared_ptr<CmtCommitValue> sampleRandomCommitValue() override {
method generateCommitValue (line 108) | shared_ptr<CmtCommitValue> generateCommitValue(const vector<byte> & x)...
method getPreProcessValues (line 113) | vector<shared_ptr<void>> getPreProcessValues() override {
method generateBytesFromCommitValue (line 123) | vector<byte> generateBytesFromCommitValue(CmtCommitValue* value) overr...
class CmtEquivocalReceiver (line 141) | class CmtEquivocalReceiver : public CmtReceiver, public EquivocalCmt {
method CmtEquivocalReceiver (line 163) | CmtEquivocalReceiver(const shared_ptr<CommParty> & channel, const shar...
method CmtEquivocalReceiver (line 170) | CmtEquivocalReceiver(const shared_ptr<CommParty> & channel, int t, con...
method receiveCommitment (line 178) | shared_ptr<CmtRCommitPhaseOutput> receiveCommitment() override {
method receiveDecommitment (line 191) | shared_ptr<CmtCommitValue> receiveDecommitment(long id) override{
method verifyDecommitment (line 196) | shared_ptr<CmtCommitValue> verifyDecommitment(CmtCCommitmentMsg* commi...
method getPreProcessedValues (line 200) | vector<shared_ptr<void>> getPreProcessedValues() override {
method generateBytesFromCommitValue (line 209) | vector<byte> generateBytesFromCommitValue(CmtCommitValue* value) overr...
FILE: include/interactive_mid_protocols/CommitmentSchemePedersen.hpp
class CmtPedersenCommitmentMessage (line 40) | class CmtPedersenCommitmentMessage : public CmtCCommitmentMsg{
method CmtPedersenCommitmentMessage (line 52) | CmtPedersenCommitmentMessage(const shared_ptr<GroupElementSendableData...
method getCommitment (line 57) | shared_ptr<void> getCommitment() override { return c; }
method getId (line 58) | long getId() override { return id; }
method string (line 61) | string toString() override {
method initFromString (line 65) | void initFromString(const string & raw) override {
class CmtPedersenDecommitmentMessage (line 78) | class CmtPedersenDecommitmentMessage : public CmtCDecommitmentMessage {
method CmtPedersenDecommitmentMessage (line 88) | CmtPedersenDecommitmentMessage(const shared_ptr<biginteger> & x = make...
method getR (line 93) | shared_ptr<RandomValue> getR() override { return r; }
method biginteger (line 94) | biginteger getRValue() { return r->getR(); }
method getX (line 95) | shared_ptr<void> getX() override { return x; }
method biginteger (line 96) | biginteger getXValue() { return *x; }
method initFromString (line 99) | void initFromString(const string & s) override {
method string (line 105) | string toString() override { return x->str() + ':' + getRValue().str(); }
class CmtPedersenCommitmentPhaseValues (line 114) | class CmtPedersenCommitmentPhaseValues : public CmtCommitmentPhaseValues {
method CmtPedersenCommitmentPhaseValues (line 128) | CmtPedersenCommitmentPhaseValues(const shared_ptr<RandomValue> & r,
method getComputedCommitment (line 137) | shared_ptr<void> getComputedCommitment() override { return computedCom...
class CmtPedersenReceiverCore (line 144) | class CmtPedersenReceiverCore : public virtual CmtReceiver {
class CmtPedersenCommitterCore (line 232) | class CmtPedersenCommitterCore : public virtual CmtCommitter {
class CmtPedersenCommitter (line 310) | class CmtPedersenCommitter : public CmtPedersenCommitterCore, public Per...
method CmtPedersenCommitter (line 318) | CmtPedersenCommitter(const shared_ptr<CommParty> & channel, const shar...
method CmtPedersenCommitter (line 327) | CmtPedersenCommitter(const shared_ptr<CommParty> & channel, const shar...
method generateCommitValue (line 330) | shared_ptr<CmtCommitValue> generateCommitValue(const vector<byte> & x)...
method sampleRandomCommitValue (line 336) | shared_ptr<CmtCommitValue> sampleRandomCommitValue() override {
class CmtPedersenReceiver (line 350) | class CmtPedersenReceiver : public CmtPedersenReceiverCore, public Perfe...
method CmtPedersenReceiver (line 357) | CmtPedersenReceiver(const shared_ptr<CommParty> & channel, const share...
method CmtPedersenReceiver (line 369) | CmtPedersenReceiver(const shared_ptr<CommParty> & channel, const share...
class ZKPOKFromSigmaCmtPedersenProver (line 380) | class ZKPOKFromSigmaCmtPedersenProver
class CmtPedersenWithProofsCommitter (line 385) | class CmtPedersenWithProofsCommitter : public CmtPedersenCommitter, publ...
method CmtPedersenWithProofsCommitter (line 406) | CmtPedersenWithProofsCommitter(const shared_ptr<CommParty> & channel, ...
method CmtPedersenWithProofsCommitter (line 418) | CmtPedersenWithProofsCommitter(const shared_ptr<CommParty> & channel, ...
class ZKPOKFromSigmaCmtPedersenVerifier (line 427) | class ZKPOKFromSigmaCmtPedersenVerifier
class CmtPedersenWithProofsReceiver (line 433) | class CmtPedersenWithProofsReceiver : public CmtPedersenReceiver, public...
method CmtPedersenWithProofsReceiver (line 452) | CmtPedersenWithProofsReceiver(const shared_ptr<CommParty> & channel, i...
method CmtPedersenWithProofsReceiver (line 463) | CmtPedersenWithProofsReceiver(const shared_ptr<CommParty> & channel, i...
FILE: include/interactive_mid_protocols/CommitmentSchemePedersenHash.hpp
class CmtPedersenHashDecommitmentMessage (line 40) | class CmtPedersenHashDecommitmentMessage : public CmtCDecommitmentMessage {
method CmtPedersenHashDecommitmentMessage (line 46) | CmtPedersenHashDecommitmentMessage() {}
method CmtPedersenHashDecommitmentMessage (line 53) | CmtPedersenHashDecommitmentMessage(const shared_ptr<BigIntegerRandomVa...
method getX (line 58) | shared_ptr<void> getX() override { return x; }
method getXValue (line 59) | vector<byte> getXValue() { return *x; }
method getR (line 61) | shared_ptr<RandomValue> getR() override { return r; }
class CmtPedersenHashCommitter (line 82) | class CmtPedersenHashCommitter : public CmtPedersenCommitterCore, public...
method CmtPedersenHashCommitter (line 99) | CmtPedersenHashCommitter(const shared_ptr<CommParty> & channel, const ...
method generateCommitValue (line 137) | shared_ptr<CmtCommitValue> generateCommitValue(const vector<byte> & x)...
class CmtPedersenHashReceiver (line 162) | class CmtPedersenHashReceiver : public CmtPedersenReceiverCore, public P...
method CmtPedersenHashReceiver (line 180) | CmtPedersenHashReceiver(const shared_ptr<CommParty> & channel, const s...
FILE: include/interactive_mid_protocols/CommitmentSchemePedersenTrapdoor.hpp
class CmtPedersenTrapdoorCommitter (line 48) | class CmtPedersenTrapdoorCommitter : public CmtPedersenCommitter {
method CmtPedersenTrapdoorCommitter (line 54) | CmtPedersenTrapdoorCommitter(const shared_ptr<CommParty> & channel, co...
method CmtPedersenTrapdoorCommitter (line 60) | CmtPedersenTrapdoorCommitter(const shared_ptr<CommParty> & channel, co...
method validate (line 68) | bool validate(const shared_ptr<CmtRCommitPhaseOutput> & trap) {
class CmtPedersenTrapdoorReceiver (line 91) | class CmtPedersenTrapdoorReceiver : public CmtPedersenReceiver {
method CmtPedersenTrapdoorReceiver (line 99) | CmtPedersenTrapdoorReceiver(const shared_ptr<CommParty> & channel, con...
method biginteger (line 105) | biginteger getTrapdoor() { return trapdoor; }
method receiveCommitment (line 107) | shared_ptr<CmtRCommitPhaseOutput> receiveCommitment() override {
FILE: include/interactive_mid_protocols/CommitmentSchemeSimpleHash.hpp
class CmtSimpleHashCommitmentValues (line 44) | class CmtSimpleHashCommitmentValues :public CmtCommitmentPhaseValues {
method CmtSimpleHashCommitmentValues (line 57) | CmtSimpleHashCommitmentValues(const shared_ptr<RandomValue> & r, const...
method getComputedCommitment (line 60) | shared_ptr<void> getComputedCommitment() override { return computedCom...
class CmtSimpleHashCommitmentMessage (line 69) | class CmtSimpleHashCommitmentMessage : public CmtCCommitmentMsg {
method CmtSimpleHashCommitmentMessage (line 82) | CmtSimpleHashCommitmentMessage(const shared_ptr<vector<byte>> & c = NU...
method getCommitment (line 87) | shared_ptr<void> getCommitment() override { return c; }
method getCommitmentArray (line 88) | shared_ptr<vector<byte>> getCommitmentArray() { return c; }
method getId (line 93) | long getId() override { return id; }
method serialize (line 100) | void serialize(Archive & ar, const unsigned int version)
class CmtSimpleHashDecommitmentMessage (line 114) | class CmtSimpleHashDecommitmentMessage : public CmtCDecommitmentMessage {
method CmtSimpleHashDecommitmentMessage (line 121) | CmtSimpleHashDecommitmentMessage() {}
method CmtSimpleHashDecommitmentMessage (line 128) | CmtSimpleHashDecommitmentMessage(const shared_ptr<ByteArrayRandomValue...
method getX (line 130) | shared_ptr<void> getX() override { return x; }
method getXValue (line 131) | shared_ptr<vector<byte>> getXValue() { return x; }
method getR (line 133) | shared_ptr<RandomValue> getR() override { return r; }
method getRArray (line 134) | vector<byte> getRArray() { return r->getR(); }
method serialize (line 141) | void serialize(Archive & ar, const unsigned int version)
class CmtSimpleHashCommitter (line 162) | class CmtSimpleHashCommitter : public CmtCommitter, public SecureCommit,...
method generateCommitValue (line 211) | shared_ptr<CmtCommitValue> generateCommitValue(const vector<byte> & x)...
method getPreProcessValues (line 219) | vector<shared_ptr<void>> getPreProcessValues() override {
class CmtSimpleHashReceiver (line 244) | class CmtSimpleHashReceiver : public CmtReceiver, public SecureCommit, p...
method CmtSimpleHashReceiver (line 274) | CmtSimpleHashReceiver(const shared_ptr<CommParty> & channel) {
method CmtSimpleHashReceiver (line 288) | CmtSimpleHashReceiver(const shared_ptr<CommParty> & channel, const sha...
method getPreProcessedValues (line 316) | vector<shared_ptr<void>> getPreProcessedValues() override {
FILE: include/interactive_mid_protocols/OT.hpp
class OTSInput (line 15) | class OTSInput {
class OTOnGroupElementSInput (line 28) | class OTOnGroupElementSInput : public OTSInput {
method OTOnGroupElementSInput (line 37) | OTOnGroupElementSInput(const shared_ptr<GroupElement> & x0, const shar...
method getX0 (line 42) | shared_ptr<GroupElement> getX0() { return x0; }
method getX1 (line 47) | shared_ptr<GroupElement> getX1() { return x1; }
class OTOnByteArraySInput (line 57) | class OTOnByteArraySInput : public OTSInput {
method OTOnByteArraySInput (line 67) | OTOnByteArraySInput(vector<byte> & x0, vector<byte> & x1) : x0(x0), x1...
method getX0 (line 72) | vector<byte> getX0() { return x0; }
method getX1 (line 77) | vector<byte> getX1() { return x1; }
class OTRInput (line 88) | class OTRInput {
class OTRBasicInput (line 100) | class OTRBasicInput : public OTRInput {
method OTRBasicInput (line 108) | OTRBasicInput(bool sigma) : sigma(sigma) {}
method getSigma (line 113) | bool getSigma() { return sigma; }
class OTROutput (line 124) | class OTROutput {
class OTOnGroupElementROutput (line 136) | class OTOnGroupElementROutput : public OTROutput {
method OTOnGroupElementROutput (line 146) | OTOnGroupElementROutput(const shared_ptr<GroupElement> & xSigma) : xSi...
method getXSigma (line 151) | shared_ptr<GroupElement> getXSigma() { return xSigma; }
class OTBatchROutput (line 160) | class OTBatchROutput {
class OTOnByteArrayROutput (line 174) | class OTOnByteArrayROutput : public OTROutput, public OTBatchROutput {
method OTOnByteArrayROutput (line 184) | OTOnByteArrayROutput(vector<byte> & xSigma) : xSigma(xSigma) {}
method OTOnByteArrayROutput (line 185) | OTOnByteArrayROutput(){}
method getXSigma (line 190) | vector<byte> getXSigma() { return xSigma; }
method getLength (line 192) | int getLength() { return xSigma.size(); }
class OTSender (line 206) | class OTSender {
class OTReceiver (line 240) | class OTReceiver {
class OTRGroupElementPairMsg (line 272) | class OTRGroupElementPairMsg : public NetworkSerialized {
method OTRGroupElementPairMsg (line 279) | OTRGroupElementPairMsg() {}
method OTRGroupElementPairMsg (line 280) | OTRGroupElementPairMsg(const shared_ptr<GroupElementSendableData> & h0...
method getFirstGE (line 282) | shared_ptr<GroupElementSendableData> getFirstGE() { return h0; }
method getSecondGE (line 284) | shared_ptr<GroupElementSendableData> getSecondGE() { return h1; }
class OTRGroupElementQuadMsg (line 298) | class OTRGroupElementQuadMsg : public NetworkSerialized {
method OTRGroupElementQuadMsg (line 307) | OTRGroupElementQuadMsg() {}
method OTRGroupElementQuadMsg (line 308) | OTRGroupElementQuadMsg(const shared_ptr<GroupElementSendableData> & x,...
method getX (line 312) | shared_ptr<GroupElementSendableData> getX() { return x; }
method getY (line 314) | shared_ptr<GroupElementSendableData> getY() { return y; }
method getZ0 (line 316) | shared_ptr<GroupElementSendableData> getZ0() { return z0; }
method getZ1 (line 318) | shared_ptr<GroupElementSendableData> getZ1() { return z1; }
class OTSMsg (line 331) | class OTSMsg : public NetworkSerialized {}
class OTOnGroupElementSMsg (line 343) | class OTOnGroupElementSMsg : public OTSMsg {
method OTOnGroupElementSMsg (line 353) | OTOnGroupElementSMsg() {}
method OTOnGroupElementSMsg (line 358) | OTOnGroupElementSMsg(const shared_ptr<GroupElementSendableData> & w0,
method getW0 (line 362) | shared_ptr<GroupElementSendableData> getW0() { return w0; }
method getW1 (line 364) | shared_ptr<GroupElementSendableData> getW1() { return w1; }
method getC0 (line 366) | shared_ptr<GroupElementSendableData> getC0() { return c0; }
method getC1 (line 368) | shared_ptr<GroupElementSendableData> getC1() { return c1; }
class OTOnByteArraySMsg (line 384) | class OTOnByteArraySMsg : public OTSMsg {
method OTOnByteArraySMsg (line 400) | OTOnByteArraySMsg() {}
method OTOnByteArraySMsg (line 402) | OTOnByteArraySMsg(const shared_ptr<GroupElementSendableData> & w0, vec...
method getW0 (line 406) | shared_ptr<GroupElementSendableData> getW0() { return w0; }
method getW1 (line 408) | shared_ptr<GroupElementSendableData> getW1() { return w1; }
method getC0 (line 410) | vector<byte> getC0() { return c0; }
method getC1 (line 412) | vector<byte> getC1() { return c1; }
class OTUtil (line 424) | class OTUtil {
class RandOutput (line 431) | class RandOutput {
method RandOutput (line 437) | RandOutput(const shared_ptr<GroupElement> & u, const shared_ptr<Grou...
method getU (line 439) | shared_ptr<GroupElement> getU() {
method getV (line 443) | shared_ptr<GroupElement> getV() {
FILE: include/interactive_mid_protocols/OTBatch.hpp
class OTBatchSOutput (line 45) | class OTBatchSOutput {
class OTExtensionRandomizedSOutput (line 52) | class OTExtensionRandomizedSOutput: public OTBatchSOutput {
method OTExtensionRandomizedSOutput (line 61) | OTExtensionRandomizedSOutput(){}
method OTExtensionRandomizedSOutput (line 62) | OTExtensionRandomizedSOutput(const vector<byte> & r0Arr, const vector<...
method getR0Arr (line 68) | vector<byte> getR0Arr() {
method getR1Arr (line 75) | vector<byte> getR1Arr() {
class OTExtensionCorrelatedSOutput (line 84) | class OTExtensionCorrelatedSOutput: public OTBatchSOutput {
method OTExtensionCorrelatedSOutput (line 93) | OTExtensionCorrelatedSOutput(const vector<byte> &x0Arr, const vector<b...
method getx0Arr (line 98) | vector<byte> getx0Arr() {
method getx1Arr (line 105) | vector<byte> getx1Arr() {
class OTExtensionBristolRandomizedSOutput (line 111) | class OTExtensionBristolRandomizedSOutput: public OTExtensionRandomizedS...
method OTExtensionBristolRandomizedSOutput (line 115) | OTExtensionBristolRandomizedSOutput(const vector<byte> & r0Arr, const ...
type OTBatchSInputTypes (line 129) | enum class OTBatchSInputTypes {
class OTBatchSInput (line 138) | class OTBatchSInput {
class OTExtensionGeneralSInput (line 147) | class OTExtensionGeneralSInput: public OTBatchSInput {
method OTBatchSInputTypes (line 157) | OTBatchSInputTypes getType()override {return OTBatchSInputTypes::OTExt...
method OTExtensionGeneralSInput (line 164) | OTExtensionGeneralSInput(const vector<byte> & x0Arr, const vector<byte...
method getNumOfOts (line 186) | int getNumOfOts() {
method getX0ArrSize (line 190) | int getX0ArrSize() {
method getX1ArrSize (line 194) | int getX1ArrSize() {
class OTExtensionRandomizedSInput (line 205) | class OTExtensionRandomizedSInput: public OTBatchSInput {
method OTBatchSInputTypes (line 211) | OTBatchSInputTypes getType() override {return OTBatchSInputTypes::OTEx...
method OTExtensionRandomizedSInput (line 218) | OTExtensionRandomizedSInput(int numOfOts, int elementSize) :
method getNumOfOts (line 222) | int getNumOfOts() {
method getElementSize (line 227) | int getElementSize() {
class OTExtensionCorrelatedSInput (line 238) | class OTExtensionCorrelatedSInput: public OTBatchSInput {
method OTBatchSInputTypes (line 248) | OTBatchSInputTypes getType() override {return OTBatchSInputTypes::OTEx...
method OTExtensionCorrelatedSInput (line 250) | OTExtensionCorrelatedSInput(const vector<byte>& deltaArr, int numOfOts...
method getDeltaArr (line 255) | vector<byte> getDeltaArr() { return deltaArr; }
method getNumOfOts (line 260) | int getNumOfOts() { return numOfOts;}
method getDeltaArrSize (line 262) | int getDeltaArrSize() {
class OTBatchSender (line 272) | class OTBatchSender {
type OTBatchRInputTypes (line 287) | enum class OTBatchRInputTypes {
class OTBatchRInput (line 296) | class OTBatchRInput {
class OTExtensionRInput (line 308) | class OTExtensionRInput: public OTBatchRInput {
method OTExtensionRInput (line 315) | OTExtensionRInput(const vector<byte> & sigmaArr, int elementSize) {
method getSigmaArr (line 320) | vector<byte> getSigmaArr() {
method getSigmaArrSize (line 324) | int getSigmaArrSize() {
method getElementSize (line 328) | int getElementSize() {
class OTExtensionGeneralRInput (line 344) | class OTExtensionGeneralRInput: public OTExtensionRInput {
method OTExtensionGeneralRInput (line 351) | OTExtensionGeneralRInput(const vector<byte> & sigmaArr, int elementSiz...
method OTBatchRInputTypes (line 355) | OTBatchRInputTypes getType() {
class OTExtensionCorrelatedRInput (line 368) | class OTExtensionCorrelatedRInput: public OTExtensionRInput {
method OTExtensionCorrelatedRInput (line 375) | OTExtensionCorrelatedRInput(const vector<byte> & sigmaArr, int element...
method OTBatchRInputTypes (line 379) | OTBatchRInputTypes getType() {
class OTExtensionRandomizedRInput (line 391) | class OTExtensionRandomizedRInput: public OTExtensionRInput{
method OTExtensionRandomizedRInput (line 393) | OTExtensionRandomizedRInput(const vector<byte> & sigmaArr, int element...
method OTBatchRInputTypes (line 394) | OTBatchRInputTypes getType() override { return OTBatchRInputTypes::OTE...
class OTExtensionBristolROutput (line 403) | class OTExtensionBristolROutput: public OTOnByteArrayROutput {
method OTExtensionBristolROutput (line 406) | OTExtensionBristolROutput(const BitMatrix& receiverOutputMatrix) {
class OTBatchReceiver (line 419) | class OTBatchReceiver {
FILE: include/interactive_mid_protocols/OTExtensionBristol.hpp
class OTExtensionBristolBase (line 61) | class OTExtensionBristolBase {
class OTExtensionBristolReceiver (line 123) | class OTExtensionBristolReceiver: public OTExtensionBristolBase, public...
class OTExtensionBristolSender (line 139) | class OTExtensionBristolSender: public OTExtensionBristolBase, public OT...
FILE: include/interactive_mid_protocols/OTExtensionEncrypto.hpp
class OTExtensionEncryptoSender (line 65) | class OTExtensionEncryptoSender: public OTBatchSender{
class OTExtensionEncryptoReceiver (line 94) | class OTExtensionEncryptoReceiver: public OTBatchReceiver{
FILE: include/interactive_mid_protocols/OTFullSimulation.hpp
class OTFullSimDDHReceiverMsg (line 16) | class OTFullSimDDHReceiverMsg : public NetworkSerialized {
method OTFullSimDDHReceiverMsg (line 24) | OTFullSimDDHReceiverMsg() {}
method OTFullSimDDHReceiverMsg (line 26) | OTFullSimDDHReceiverMsg(const shared_ptr<GroupElementSendableData> & g...
method getH0 (line 29) | shared_ptr<GroupElementSendableData> getH0() { return h0; }
method getH1 (line 31) | shared_ptr<GroupElementSendableData> getH1() { return h1; }
method getG1 (line 33) | shared_ptr<GroupElementSendableData> getG1() { return g1; }
class OTFullSimPreprocessPhaseValues (line 44) | class OTFullSimPreprocessPhaseValues {
method OTFullSimPreprocessPhaseValues (line 51) | OTFullSimPreprocessPhaseValues(const shared_ptr<GroupElement> & g0, co...
method getG0 (line 54) | shared_ptr<GroupElement> getG0() { return g0; }
method getG1 (line 56) | shared_ptr<GroupElement> getG1() { return g1; }
method getH0 (line 58) | shared_ptr<GroupElement> getH0() { return h0; }
method getH1 (line 60) | shared_ptr<GroupElement> getH1() { return h1; }
class OTFullSimSenderPreprocessUtil (line 67) | class OTFullSimSenderPreprocessUtil {
class OTFullSimReceiverPreprocessUtil (line 98) | class OTFullSimReceiverPreprocessUtil {
class OTFullSimSenderTransferUtilAbs (line 127) | class OTFullSimSenderTransferUtilAbs {
method OTFullSimSenderTransferUtilAbs (line 161) | OTFullSimSenderTransferUtilAbs(const shared_ptr<DlogGroup> & dlog, con...
class OTFullSimOnGroupElementSenderTransferUtil (line 196) | class OTFullSimOnGroupElementSenderTransferUtil : public OTFullSimSender...
method OTFullSimOnGroupElementSenderTransferUtil (line 214) | OTFullSimOnGroupElementSenderTransferUtil(const shared_ptr<DlogGroup> ...
class OTFullSimOnByteArraySenderTransferUtil (line 222) | class OTFullSimOnByteArraySenderTransferUtil : public OTFullSimSenderTra...
class OTFullSimReceiverTransferUtilAbs (line 250) | class OTFullSimReceiverTransferUtilAbs {
class OTFullSimOnGroupElementReceiverTransferUtil (line 336) | class OTFullSimOnGroupElementReceiverTransferUtil : public OTFullSimRece...
method OTFullSimOnGroupElementReceiverTransferUtil (line 364) | OTFullSimOnGroupElementReceiverTransferUtil(const shared_ptr<DlogGroup...
class OTFullSimOnByteArrayReceiverTransferUtil (line 373) | class OTFullSimOnByteArrayReceiverTransferUtil : public OTFullSimReceive...
method OTFullSimOnByteArrayReceiverTransferUtil (line 392) | OTFullSimOnByteArrayReceiverTransferUtil(const shared_ptr<DlogGroup> &...
class OTFullSimDDHOnGroupElementSender (line 425) | class OTFullSimDDHOnGroupElementSender : public OTSender, Malicious, Sta...
class OTFullSimDDHOnByteArraySender (line 472) | class OTFullSimDDHOnByteArraySender : public OTSender, Malicious, StandA...
class OTFullSimDDHOnGroupElementReceiver (line 527) | class OTFullSimDDHOnGroupElementReceiver : public OTReceiver, Malicious,...
class OTFullSimDDHOnByteArrayReceiver (line 580) | class OTFullSimDDHOnByteArrayReceiver : public OTReceiver, Malicious, St...
FILE: include/interactive_mid_protocols/OTFullSimulationROM.hpp
class OTFullSimROMDDHOnGroupElementSender (line 19) | class OTFullSimROMDDHOnGroupElementSender : public OTSender, Malicious, ...
class OTFullSimROMDDHOnByteArraySender (line 71) | class OTFullSimROMDDHOnByteArraySender : public OTSender, Malicious, Sta...
class OTFullSimROMDDHOnGroupElementReceiver (line 125) | class OTFullSimROMDDHOnGroupElementReceiver : public OTReceiver, Malicio...
class OTFullSimROMDDHOnByteArrayReceiver (line 178) | class OTFullSimROMDDHOnByteArrayReceiver : public OTReceiver, Malicious,...
FILE: include/interactive_mid_protocols/OTOneSidedSimulation.hpp
class OTOneSidedSimDDHSenderAbs (line 24) | class OTOneSidedSimDDHSenderAbs : public OTSender {
class OTOneSidedSimDDHOnGroupElementSender (line 157) | class OTOneSidedSimDDHOnGroupElementSender : public OTOneSidedSimDDHSend...
method OTOneSidedSimDDHOnGroupElementSender (line 180) | OTOneSidedSimDDHOnGroupElementSender(const shared_ptr<CommParty> & cha...
class OTOneSidedSimDDHOnByteArraySender (line 195) | class OTOneSidedSimDDHOnByteArraySender : public OTOneSidedSimDDHSenderA...
method OTOneSidedSimDDHOnByteArraySender (line 221) | OTOneSidedSimDDHOnByteArraySender(const shared_ptr<CommParty> & channe...
class OTOneSidedSimDDHReceiverAbs (line 241) | class OTOneSidedSimDDHReceiverAbs : public OTReceiver {
class OTOneSidedSimDDHOnGroupElementReceiver (line 374) | class OTOneSidedSimDDHOnGroupElementReceiver : public OTOneSidedSimDDHRe...
method OTOneSidedSimDDHOnGroupElementReceiver (line 412) | OTOneSidedSimDDHOnGroupElementReceiver(const shared_ptr<CommParty> & c...
class OTOneSidedSimDDHOnByteArrayReceiver (line 428) | class OTOneSidedSimDDHOnByteArrayReceiver : public OTOneSidedSimDDHRecei...
method OTOneSidedSimDDHOnByteArrayReceiver (line 471) | OTOneSidedSimDDHOnByteArrayReceiver(const shared_ptr<CommParty> & chan...
FILE: include/interactive_mid_protocols/OTPrivacyOnly.hpp
class OTPrivacyOnlyDDHSenderAbs (line 21) | class OTPrivacyOnlyDDHSenderAbs : public OTSender {
class OTPrivacyOnlyDDHOnGroupElementSender (line 139) | class OTPrivacyOnlyDDHOnGroupElementSender : public OTPrivacyOnlyDDHSend...
method OTPrivacyOnlyDDHOnGroupElementSender (line 150) | OTPrivacyOnlyDDHOnGroupElementSender(const shared_ptr<PrgFromOpenSSLAE...
class OTPrivacyOnlyDDHOnByteArraySender (line 173) | class OTPrivacyOnlyDDHOnByteArraySender : public OTPrivacyOnlyDDHSenderA...
method OTPrivacyOnlyDDHOnByteArraySender (line 183) | OTPrivacyOnlyDDHOnByteArraySender(const shared_ptr<PrgFromOpenSSLAES> ...
class OTPrivacyOnlyDDHReceiverAbs (line 212) | class OTPrivacyOnlyDDHReceiverAbs : public OTReceiver {
class OTPrivacyOnlyDDHOnGroupElementReceiver (line 341) | class OTPrivacyOnlyDDHOnGroupElementReceiver : public OTPrivacyOnlyDDHRe...
method OTPrivacyOnlyDDHOnGroupElementReceiver (line 378) | OTPrivacyOnlyDDHOnGroupElementReceiver(const shared_ptr<PrgFromOpenSSL...
class OTPrivacyOnlyDDHOnByteArrayReceiver (line 390) | class OTPrivacyOnlyDDHOnByteArrayReceiver : public OTPrivacyOnlyDDHRecei...
method OTPrivacyOnlyDDHOnByteArrayReceiver (line 431) | OTPrivacyOnlyDDHOnByteArrayReceiver(const shared_ptr<PrgFromOpenSSLAES...
FILE: include/interactive_mid_protocols/OTSemiHonest.hpp
class OTSemiHonestDDHSenderAbs (line 21) | class OTSemiHonestDDHSenderAbs : public OTSender {
class OTSemiHonestDDHOnGroupElementSenderMsg (line 139) | class OTSemiHonestDDHOnGroupElementSenderMsg : public OTSMsg {
method OTSemiHonestDDHOnGroupElementSenderMsg (line 147) | OTSemiHonestDDHOnGroupElementSenderMsg() {}
method OTSemiHonestDDHOnGroupElementSenderMsg (line 151) | OTSemiHonestDDHOnGroupElementSenderMsg(const shared_ptr<GroupElementSe...
method getU (line 154) | shared_ptr<GroupElementSendableData> getU() { return u; }
method getV0 (line 156) | shared_ptr<GroupElementSendableData> getV0() { return v0; }
method getV1 (line 158) | shared_ptr<GroupElementSendableData> getV1() { return v1; }
class OTSemiHonestDDHOnByteArraySenderMsg (line 169) | class OTSemiHonestDDHOnByteArraySenderMsg : public OTSMsg {
method OTSemiHonestDDHOnByteArraySenderMsg (line 177) | OTSemiHonestDDHOnByteArraySenderMsg() {}
method OTSemiHonestDDHOnByteArraySenderMsg (line 181) | OTSemiHonestDDHOnByteArraySenderMsg(const shared_ptr<GroupElementSenda...
method getU (line 184) | shared_ptr<GroupElementSendableData> getU() { return u; }
method getV0 (line 186) | vector<byte> getV0() { return v0; }
method getV1 (line 188) | vector<byte> getV1() { return v1; }
class OTSemiHonestDDHOnGroupElementSender (line 201) | class OTSemiHonestDDHOnGroupElementSender : public OTSemiHonestDDHSender...
method OTSemiHonestDDHOnGroupElementSender (line 211) | OTSemiHonestDDHOnGroupElementSender(const shared_ptr<PrgFromOpenSSLAES...
class OTSemiHonestDDHOnByteArraySender (line 232) | class OTSemiHonestDDHOnByteArraySender : public OTSemiHonestDDHSenderAbs...
method OTSemiHonestDDHOnByteArraySender (line 241) | OTSemiHonestDDHOnByteArraySender(const shared_ptr<PrgFromOpenSSLAES> &...
class OTSemiHonestDDHReceiverAbs (line 270) | class OTSemiHonestDDHReceiverAbs : public OTReceiver {
class OTSemiHonestDDHOnGroupElementReceiver (line 360) | class OTSemiHonestDDHOnGroupElementReceiver : public OTSemiHonestDDHRece...
method OTSemiHonestDDHOnGroupElementReceiver (line 370) | OTSemiHonestDDHOnGroupElementReceiver(const shared_ptr<PrgFromOpenSSLA...
class OTSemiHonestDDHOnByteArrayReceiver (line 394) | class OTSemiHonestDDHOnByteArrayReceiver : public OTSemiHonestDDHReceive...
method OTSemiHonestDDHOnByteArrayReceiver (line 404) | OTSemiHonestDDHOnByteArrayReceiver(const shared_ptr<PrgFromOpenSSLAES>...
FILE: include/interactive_mid_protocols/OTUC.hpp
class OTUCDDHOnGroupElementSender (line 25) | class OTUCDDHOnGroupElementSender : public OTSender, Malicious, UC {
class OTUCDDHOnGroupElementReceiver (line 71) | class OTUCDDHOnGroupElementReceiver : public OTReceiver, Malicious, UC{
class OTUCDDHOnByteArraySender (line 119) | class OTUCDDHOnByteArraySender : public OTSender, Malicious, UC{
class OTUCDDHOnByteArrayReceiver (line 168) | class OTUCDDHOnByteArrayReceiver : public OTReceiver, Malicious, UC{
FILE: include/interactive_mid_protocols/RandomValue.hpp
class RandomValue (line 35) | class RandomValue {
class BigIntegerRandomValue (line 43) | class BigIntegerRandomValue : public RandomValue {
method BigIntegerRandomValue (line 47) | BigIntegerRandomValue(const biginteger & r) { this->r = r; }
method biginteger (line 48) | biginteger getR() { return r; }
class ByteArrayRandomValue (line 55) | class ByteArrayRandomValue : public RandomValue {
method ByteArrayRandomValue (line 60) | ByteArrayRandomValue(){}
method ByteArrayRandomValue (line 62) | ByteArrayRandomValue(vector<byte> & r) { this->r = r; }
method getR (line 63) | vector<byte> getR() { return r; }
method serialize (line 66) | void serialize(Archive & ar, const unsigned int version)
FILE: include/interactive_mid_protocols/SigmaProtocol.hpp
class ZKProverInput (line 40) | class ZKProverInput {
class ZKCommonInput (line 48) | class ZKCommonInput {
class SigmaCommonInput (line 57) | class SigmaCommonInput : public ZKCommonInput {
class SigmaProverInput (line 67) | class SigmaProverInput : public ZKProverInput {
class DJBasedSigma (line 78) | class DJBasedSigma {}
class DlogBasedSigma (line 83) | class DlogBasedSigma {}
class SigmaProtocolMsg (line 90) | class SigmaProtocolMsg : public NetworkSerialized {}
class SigmaSimulatorOutput (line 98) | class SigmaSimulatorOutput {
method SigmaSimulatorOutput (line 105) | SigmaSimulatorOutput(const shared_ptr<SigmaProtocolMsg> & a, const vec...
method getA (line 115) | shared_ptr<SigmaProtocolMsg> getA() { return a; }
method getE (line 121) | vector<byte> getE() { return e; }
method getZ (line 127) | shared_ptr<SigmaProtocolMsg> getZ() { return z; }
class SigmaSimulator (line 137) | class SigmaSimulator {
class SigmaProverComputation (line 159) | class SigmaProverComputation {
class SigmaVerifierComputation (line 184) | class SigmaVerifierComputation {
class SigmaProtocolProver (line 222) | class SigmaProtocolProver {
method SigmaProtocolProver (line 240) | SigmaProtocolProver(const shared_ptr<CommParty> & channel,
method prove (line 251) | void prove(const shared_ptr<SigmaProverInput> & input) {
method sendMsgToVerifier (line 282) | void sendMsgToVerifier(SigmaProtocolMsg* message) {
class SigmaProtocolVerifier (line 300) | class SigmaProtocolVerifier {
method SigmaProtocolVerifier (line 314) | SigmaProtocolVerifier(const shared_ptr<CommParty> & channel, const sha...
method sampleChallenge (line 334) | void sampleChallenge() {
method setChallenge (line 352) | void setChallenge(const vector<byte> & challenge) {
method getChallenge (line 360) | vector<byte> getChallenge() {
method sendChallengeToProver (line 379) | void sendChallengeToProver(const vector<byte> & challenge) {
class SigmaGroupElementMsg (line 389) | class SigmaGroupElementMsg : public SigmaProtocolMsg {
method SigmaGroupElementMsg (line 391) | SigmaGroupElementMsg(const shared_ptr<GroupElementSendableData> & el) ...
method getElement (line 392) | shared_ptr<GroupElementSendableData> getElement() { return element; }
method initFromString (line 394) | void initFromString(const string & s) override { element->initFromStri...
method string (line 395) | string toString() override { return element->toString(); }
class SigmaMultipleMsg (line 406) | class SigmaMultipleMsg : public SigmaProtocolMsg {
method SigmaMultipleMsg (line 408) | SigmaMultipleMsg(const vector<shared_ptr<SigmaProtocolMsg>> & messages...
method getMessages (line 409) | vector<shared_ptr<SigmaProtocolMsg>> getMessages() { return messages; }
class SigmaBIMsg (line 421) | class SigmaBIMsg : public SigmaProtocolMsg {
method SigmaBIMsg (line 425) | SigmaBIMsg() { this->z = -100; }
method SigmaBIMsg (line 426) | SigmaBIMsg(const biginteger & z) { this->z = z; }
method biginteger (line 427) | biginteger getMsg() { return z; }
method initFromString (line 430) | void initFromString(const string & s) override { z = biginteger(s); }
method string (line 431) | string toString() override { return z.str(); }
class SigmaMultipleCommonInput (line 438) | class SigmaMultipleCommonInput : public SigmaCommonInput {
method SigmaMultipleCommonInput (line 445) | SigmaMultipleCommonInput(const vector<shared_ptr<SigmaCommonInput>> & ...
method getInputs (line 449) | vector<shared_ptr<SigmaCommonInput>> getInputs() { return sigmaInputs; }
class SigmaMultipleProverInput (line 461) | class SigmaMultipleProverInput : public SigmaProverInput {
method SigmaMultipleProverInput (line 467) | SigmaMultipleProverInput(const vector<shared_ptr<SigmaProverInput>> & ...
method getInputs (line 471) | vector<shared_ptr<SigmaProverInput>> getInputs() { return sigmaInputs; }
FILE: include/interactive_mid_protocols/SigmaProtocolAnd.hpp
class SigmaANDProverComputation (line 41) | class SigmaANDProverComputation : public SigmaProverComputation {
method getSoundnessParam (line 59) | int getSoundnessParam() { return t; }
class SigmaANDSimulator (line 99) | class SigmaANDSimulator : public SigmaSimulator {
method getSoundnessParam (line 115) | int getSoundnessParam() override { return t; }
method checkChallengeLength (line 140) | bool checkChallengeLength(int challenge_size) {
class SigmaANDVerifierComputation (line 152) | class SigmaANDVerifierComputation : public SigmaVerifierComputation {
method getSoundnessParam (line 171) | int getSoundnessParam() override { return t; }
method getChallenge (line 180) | vector<byte> getChallenge() override { return e; }
FILE: include/interactive_mid_protocols/SigmaProtocolCramerShoupEncryptedValue.hpp
class SigmaCramerShoupEncryptedValueCommonInput (line 43) | class SigmaCramerShoupEncryptedValueCommonInput : public SigmaCommonInput {
method getX (line 62) | shared_ptr<GroupElement> getX() { return x; }
method CramerShoupPublicKey (line 67) | CramerShoupPublicKey getPublicKey() { return publicKey; }
method CramerShoupOnGroupElementCiphertext (line 72) | CramerShoupOnGroupElementCiphertext getCipher() { return cipher; }
class SigmaCramerShoupEncryptedValueProverInput (line 86) | class SigmaCramerShoupEncryptedValueProverInput : public SigmaProverInput {
method biginteger (line 105) | biginteger getR() { return r; }
method getCommonInput (line 107) | shared_ptr<SigmaCommonInput> getCommonInput() override { return input; }
class SigmaCramerShoupEncryptedValueSimulator (line 121) | class SigmaCramerShoupEncryptedValueSimulator : public SigmaSimulator {
method getSoundnessParam (line 165) | int getSoundnessParam() override { return dhSim.getSoundnessParam(); }
class SigmaCramerShoupEncryptedValueProverComputation (line 198) | class SigmaCramerShoupEncryptedValueProverComputation : public SigmaProv...
method getSoundnessParam (line 239) | int getSoundnessParam() override { return sigmaDH.getSoundnessParam(); }
method getSimulator (line 262) | shared_ptr<SigmaSimulator> getSimulator() override {
class SigmaCramerShoupEncryptedValueVerifierComputation (line 279) | class SigmaCramerShoupEncryptedValueVerifierComputation : public SigmaVe...
method getSoundnessParam (line 316) | int getSoundnessParam() override { return sigmaDH.getSoundnessParam(); }
method sampleChallenge (line 321) | void sampleChallenge() override { sigmaDH.sampleChallenge(); }
method setChallenge (line 327) | void setChallenge(const vector<byte> & challenge) override { sigmaDH.s...
method getChallenge (line 333) | vector<byte> getChallenge() override { return sigmaDH.getChallenge(); }
FILE: include/interactive_mid_protocols/SigmaProtocolDH.hpp
class SigmaDHCommonInput (line 41) | class SigmaDHCommonInput : public SigmaCommonInput {
method SigmaDHCommonInput (line 49) | SigmaDHCommonInput(const shared_ptr<GroupElement> & h, const shared_pt...
method getH (line 55) | shared_ptr<GroupElement> getH() { return h; }
method getU (line 57) | shared_ptr<GroupElement> getU() { return u; }
method getV (line 59) | shared_ptr<GroupElement> getV() { return v; }
class SigmaDHProverInput (line 77) | class SigmaDHProverInput: public SigmaProverInput {
method SigmaDHProverInput (line 86) | SigmaDHProverInput(const shared_ptr<GroupElement> & h, const shared_pt...
method biginteger (line 90) | biginteger getW() { return w; }
method getCommonInput (line 91) | shared_ptr<SigmaCommonInput> getCommonInput() override { return params; }
class SigmaDHMsg (line 105) | class SigmaDHMsg: public SigmaProtocolMsg {
method SigmaDHMsg (line 108) | SigmaDHMsg(const shared_ptr<GroupElementSendableData> & a, const share...
method getA (line 112) | shared_ptr<GroupElementSendableData> getA() { return a; }
method getB (line 113) | shared_ptr<GroupElementSendableData> getB() { return b; }
method string (line 117) | string toString() override { return a->toString() + ":" + b->toString(...
class SigmaDHSimulator (line 135) | class SigmaDHSimulator : public SigmaSimulator {
method getSoundnessParam (line 157) | int getSoundnessParam() { return t; }
method checkChallengeLength (line 188) | bool checkChallengeLength(int size) { return ((size == (t / 8)) ? true...
class SigmaDHProverComputation (line 209) | class SigmaDHProverComputation : public SigmaProverComputation, public D...
method getSoundnessParam (line 232) | int getSoundnessParam() override { return t; }
method getSimulator (line 257) | shared_ptr<SigmaSimulator> getSimulator() override {
method checkChallengeLength (line 274) | bool checkChallengeLength(int size) { return ((size == (t / 8)) ? true...
class SigmaDHVerifierComputation (line 295) | class SigmaDHVerifierComputation : public SigmaVerifierComputation, publ...
method getSoundnessParam (line 317) | int getSoundnessParam() override { return t; }
method setChallenge (line 329) | void setChallenge(const vector<byte> & challenge) override {
method getChallenge (line 337) | vector<byte> getChallenge() override { return e; }
FILE: include/interactive_mid_protocols/SigmaProtocolDHExtended.hpp
class SigmaDHExtendedCommonInput (line 44) | class SigmaDHExtendedCommonInput : public SigmaCommonInput {
method SigmaDHExtendedCommonInput (line 56) | SigmaDHExtendedCommonInput(const vector<shared_ptr<GroupElement>> & gA...
method getGArray (line 61) | vector<shared_ptr<GroupElement>> getGArray() {
method getHArray (line 65) | vector<shared_ptr<GroupElement>> getHArray() {
class SigmaDHExtendedProverInput (line 79) | class SigmaDHExtendedProverInput : public SigmaProverInput {
method SigmaDHExtendedProverInput (line 93) | SigmaDHExtendedProverInput(const vector<shared_ptr<GroupElement>> & gA...
method biginteger (line 98) | biginteger getW() { return w; }
method getCommonInput (line 100) | shared_ptr<SigmaCommonInput> getCommonInput() override { return params; }
class SigmaDHExtendedSimulator (line 106) | class SigmaDHExtendedSimulator
method checkChallengeLength (line 154) | bool checkChallengeLength(int size) { return size == (t / 8) ? true : ...
method getSoundnessParam (line 174) | int getSoundnessParam() { return t; }
class SigmaDHExtendedMsg (line 114) | class SigmaDHExtendedMsg : public SigmaProtocolMsg {
method SigmaDHExtendedMsg (line 120) | SigmaDHExtendedMsg(const vector<shared_ptr<GroupElementSendableData>> ...
method getArray (line 121) | vector<shared_ptr<GroupElementSendableData>> getArray() { return aArra...
class SigmaDHExtendedSimulator (line 137) | class SigmaDHExtendedSimulator : public SigmaSimulator {
method checkChallengeLength (line 154) | bool checkChallengeLength(int size) { return size == (t / 8) ? true : ...
method getSoundnessParam (line 174) | int getSoundnessParam() { return t; }
class SigmaDHExtendedProverComputation (line 205) | class SigmaDHExtendedProverComputation : public SigmaProverComputation, ...
method checkChallengeLength (line 225) | bool checkChallengeLength(int size) { return size == (t / 8) ? true : ...
method getSoundnessParam (line 247) | int getSoundnessParam() { return t; }
method getSimulator (line 273) | shared_ptr<SigmaSimulator> getSimulator() override {
class SigmaDHExtendedVerifierComputation (line 289) | class SigmaDHExtendedVerifierComputation : public SigmaVerifierComputati...
method getSoundnessParam (line 325) | int getSoundnessParam() { return t; }
method setChallenge (line 337) | void setChallenge(const vector<byte> & challenge) { e = challenge; }
method getChallenge (line 343) | vector<byte> getChallenge() { return e; }
FILE: include/interactive_mid_protocols/SigmaProtocolDamgardJurikEncryptedValue.hpp
class SigmaDJEncryptedValueCommonInput (line 41) | class SigmaDJEncryptedValueCommonInput : public SigmaCommonInput {
method SigmaDJEncryptedValueCommonInput (line 55) | SigmaDJEncryptedValueCommonInput(DamgardJurikPublicKey publicKey, BigI...
method DamgardJurikPublicKey (line 62) | DamgardJurikPublicKey getPublicKey() { return publicKey; }
method BigIntegerCiphertext (line 68) | BigIntegerCiphertext getCiphertext() { return cipher; }
method BigIntegerPlainText (line 74) | BigIntegerPlainText getPlaintext() { return plaintext; }
class SigmaDJEncryptedValueProverInput (line 86) | class SigmaDJEncryptedValueProverInput :public SigmaProverInput {
method biginteger (line 118) | biginteger getR() { return r; }
method getCommonInput (line 120) | shared_ptr<SigmaCommonInput> getCommonInput() override { return input; }
class SigmaDJEncryptedValueSimulator (line 133) | class SigmaDJEncryptedValueSimulator :public SigmaSimulator {
method SigmaDJEncryptedValueSimulator (line 158) | SigmaDJEncryptedValueSimulator(int t = 40, int lengthParameter = 1, co...
method getSoundnessParam (line 166) | int getSoundnessParam() override { return djSim.getSoundnessParam(); }
class SigmaDJEncryptedValueProverComputation (line 199) | class SigmaDJEncryptedValueProverComputation : public SigmaProverComputa...
method SigmaDJEncryptedValueProverComputation (line 220) | SigmaDJEncryptedValueProverComputation(int t = 40, int lengthParameter...
method getSoundnessParam (line 231) | int getSoundnessParam() override { return sigmaDamgardJurik.getSoundne...
method getSimulator (line 253) | shared_ptr<SigmaSimulator> getSimulator() override {
class SigmaDJEncryptedValueVerifierComputation (line 268) | class SigmaDJEncryptedValueVerifierComputation : public SigmaVerifierCom...
method SigmaDJEncryptedValueVerifierComputation (line 287) | SigmaDJEncryptedValueVerifierComputation(int t = 40, int lengthParamet...
FILE: include/interactive_mid_protocols/SigmaProtocolDamgardJurikEncryptedZero.hpp
class SigmaDJEncryptedZeroCommonInput (line 41) | class SigmaDJEncryptedZeroCommonInput : public SigmaCommonInput {
method SigmaDJEncryptedZeroCommonInput (line 53) | SigmaDJEncryptedZeroCommonInput(DamgardJurikPublicKey publicKey, BigIn...
method DamgardJurikPublicKey (line 58) | DamgardJurikPublicKey getPublicKey() { return publicKey; }
method BigIntegerCiphertext (line 64) | BigIntegerCiphertext getCiphertext() { return cipher; }
class SigmaDJEncryptedZeroProverInput (line 76) | class SigmaDJEncryptedZeroProverInput : public SigmaProverInput {
method SigmaDJEncryptedZeroProverInput (line 89) | SigmaDJEncryptedZeroProverInput(DamgardJurikPublicKey publicKey, BigIn...
method SigmaDJEncryptedZeroProverInput (line 103) | SigmaDJEncryptedZeroProverInput(DamgardJurikPublicKey publicKey, BigIn...
method biginteger (line 122) | biginteger getR() { return r; }
method getCommonInput (line 124) | shared_ptr<SigmaCommonInput> getCommonInput() override { return input; }
class SigmaDJEncryptedZeroSimulator (line 136) | class SigmaDJEncryptedZeroSimulator : public SigmaSimulator {
method getSoundnessParam (line 176) | int getSoundnessParam() override { return t; }
class SigmaDJEncryptedZeroProverComputation (line 207) | class SigmaDJEncryptedZeroProverComputation : public SigmaProverComputat...
method checkChallengeLength (line 236) | bool checkChallengeLength(const vector<byte> & challenge) {
method getSoundnessParam (line 254) | int getSoundnessParam() override { return t; }
method getSimulator (line 279) | shared_ptr<SigmaSimulator> getSimulator() override {
class SigmaDJEncryptedZeroVerifierComputation (line 295) | class SigmaDJEncryptedZeroVerifierComputation : public SigmaVerifierComp...
method getSoundnessParam (line 332) | int getSoundnessParam() override { return t; }
method setChallenge (line 344) | void setChallenge(const vector<byte> & challenge) override {
method getChallenge (line 352) | vector<byte> getChallenge() override { return e; }
FILE: include/interactive_mid_protocols/SigmaProtocolDamgardJurikProduct.hpp
class SigmaDJProductCommonInput (line 41) | class SigmaDJProductCommonInput : public SigmaCommonInput {
method SigmaDJProductCommonInput (line 57) | SigmaDJProductCommonInput(DamgardJurikPublicKey publicKey, BigIntegerC...
method DamgardJurikPublicKey (line 63) | DamgardJurikPublicKey getPublicKey() { return publicKey; }
method BigIntegerCiphertext (line 68) | BigIntegerCiphertext getC1() {return cipher1; }
method BigIntegerCiphertext (line 73) | BigIntegerCiphertext getC2() { return cipher2; }
method BigIntegerCiphertext (line 79) | BigIntegerCiphertext getC3() { return cipher3;}
class SigmaDJProductProverInput (line 91) | class SigmaDJProductProverInput : public SigmaProverInput {
method biginteger (line 136) | biginteger getR1() { return r1; }
method biginteger (line 141) | biginteger getR2() { return r2; }
method biginteger (line 146) | biginteger getR3() { return r3; }
method BigIntegerPlainText (line 151) | BigIntegerPlainText getX1() { return x1; }
method BigIntegerPlainText (line 157) | BigIntegerPlainText getX2() { return x2; }
method getCommonInput (line 159) | shared_ptr<SigmaCommonInput> getCommonInput() override { return input; }
class SigmaDJProductFirstMsg (line 169) | class SigmaDJProductFirstMsg : public SigmaProtocolMsg {
method SigmaDJProductFirstMsg (line 176) | SigmaDJProductFirstMsg(const biginteger & a1, const biginteger & a2) {
method biginteger (line 181) | biginteger getA1() { return a1; }
method biginteger (line 183) | biginteger getA2() { return a2; }
class SigmaDJProductSecondMsg (line 197) | class SigmaDJProductSecondMsg : public SigmaProtocolMsg {
method SigmaDJProductSecondMsg (line 205) | SigmaDJProductSecondMsg(const biginteger & z1, const biginteger & z2, ...
method biginteger (line 211) | biginteger getZ1() { return z1; }
method biginteger (line 213) | biginteger getZ2() { return z2; }
method biginteger (line 215) | biginteger getZ3() { return z3; }
class SigmaDJProductSimulator (line 232) | class SigmaDJProductSimulator : public SigmaSimulator {
method getSoundnessParam (line 274) | int getSoundnessParam() override { return t; }
class SigmaDJProductProverComputation (line 305) | class SigmaDJProductProverComputation : public SigmaProverComputation, D...
method getSoundnessParam (line 349) | int getSoundnessParam() override { return t; }
method getSimulator (line 374) | shared_ptr<SigmaSimulator> getSimulator() override {
class SigmaDJProductVerifierComputation (line 389) | class SigmaDJProductVerifierComputation : public SigmaVerifierComputatio...
method checkSoundnessParam (line 411) | bool checkSoundnessParam(const biginteger & modulus) {
method getSoundnessParam (line 435) | int getSoundnessParam() override { return t; }
method setChallenge (line 447) | void setChallenge(const vector<byte> & challenge) override { e = chall...
method getChallenge (line 453) | vector<byte> getChallenge() override { return e; }
FILE: include/interactive_mid_protocols/SigmaProtocolDlog.hpp
class SigmaDlogCommonInput (line 45) | class SigmaDlogCommonInput : public SigmaCommonInput {
method SigmaDlogCommonInput (line 47) | SigmaDlogCommonInput(const shared_ptr<GroupElement> & h) { this->h = h; }
method getH (line 48) | shared_ptr<GroupElement> getH() { return h; }
method string (line 50) | string toString() override { return h->generateSendableData()->toStrin...
class SigmaDlogSimulator (line 63) | class SigmaDlogSimulator : public SigmaSimulator {
method getSoundnessParam (line 78) | int getSoundnessParam() override { return t; }
class SigmaDlogProverInput (line 116) | class SigmaDlogProverInput : public SigmaProverInput {
method SigmaDlogProverInput (line 121) | SigmaDlogProverInput(const shared_ptr<GroupElement> & h, const biginte...
method biginteger (line 128) | biginteger getW() { return w; }
method getCommonInput (line 129) | shared_ptr<SigmaCommonInput> getCommonInput() override { return params; }
class SigmaDlogProverComputation (line 144) | class SigmaDlogProverComputation : public SigmaProverComputation, public...
method getSoundnessParam (line 156) | int getSoundnessParam() override { return t; }
method getSimulator (line 175) | shared_ptr<SigmaSimulator> getSimulator() override {
class SigmaDlogVerifierComputation (line 200) | class SigmaDlogVerifierComputation : public SigmaVerifierComputation, pu...
method getSoundnessParam (line 217) | int getSoundnessParam() override { return t; }
method setChallenge (line 226) | void setChallenge(const vector<byte> & challenge) override { e = chall...
method getChallenge (line 231) | vector<byte> getChallenge() override { return e; }
FILE: include/interactive_mid_protocols/SigmaProtocolElGamalCmtKnowledge.hpp
class SigmaElGamalCmtKnowledgeCommonInput (line 41) | class SigmaElGamalCmtKnowledgeCommonInput : public SigmaCommonInput {
method SigmaElGamalCmtKnowledgeCommonInput (line 51) | SigmaElGamalCmtKnowledgeCommonInput(ElGamalPublicKey publicKey) : publ...
method ElGamalPublicKey (line 57) | ElGamalPublicKey getPublicKey() { return publicKey; }
method string (line 59) | string toString() override { return publicKey.generateSendableData()->...
class SigmaElGamalCmtKnowledgeProverInput (line 69) | class SigmaElGamalCmtKnowledgeProverInput : public SigmaProverInput {
method SigmaElGamalCmtKnowledgeProverInput (line 81) | SigmaElGamalCmtKnowledgeProverInput(ElGamalPublicKey publicKey, const ...
method biginteger (line 89) | biginteger getW() { return w; }
method getCommonInput (line 91) | shared_ptr<SigmaCommonInput> getCommonInput() override { return input; }
class SigmaElGamalCmtKnowledgeSimulator (line 103) | class SigmaElGamalCmtKnowledgeSimulator : public SigmaSimulator {
method SigmaElGamalCmtKnowledgeSimulator (line 129) | SigmaElGamalCmtKnowledgeSimulator(const shared_ptr<DlogGroup> & dlog, ...
method getSoundnessParam (line 135) | int getSoundnessParam() override { return dlogSim.getSoundnessParam(); }
class SigmaElGamalCmtKnowledgeProverComputation (line 167) | class SigmaElGamalCmtKnowledgeProverComputation : public SigmaProverComp...
method getSoundnessParam (line 202) | int getSoundnessParam() override{ return sigmaDlog.getSoundnessParam(); }
method getSimulator (line 224) | shared_ptr<SigmaSimulator> getSimulator() override {
class SigmaElGamalCmtKnowledgeVerifierComputation (line 240) | class SigmaElGamalCmtKnowledgeVerifierComputation : public SigmaVerifier...
method SigmaElGamalCmtKnowledgeVerifierComputation (line 266) | SigmaElGamalCmtKnowledgeVerifierComputation(const shared_ptr<DlogGroup...
method getSoundnessParam (line 272) | int getSoundnessParam() override {
method sampleChallenge (line 280) | void sampleChallenge() override {
method setChallenge (line 289) | void setChallenge(const vector<byte> & challenge) override {
method getChallenge (line 298) | vector<byte> getChallenge() override {
method verify (line 312) | bool verify(SigmaCommonInput* input, SigmaProtocolMsg* a, SigmaProtoco...
FILE: include/interactive_mid_protocols/SigmaProtocolElGamalCommittedValue.hpp
class SigmaElGamalCommittedValueCommonInput (line 42) | class SigmaElGamalCommittedValueCommonInput : public SigmaCommonInput {
method SigmaElGamalCommittedValueCommonInput (line 56) | SigmaElGamalCommittedValueCommonInput(const shared_ptr<ElGamalPublicKe...
method getCommitment (line 65) | shared_ptr<ElGamalOnGrElSendableData> getCommitment() { return commitm...
method getX (line 70) | shared_ptr<GroupElement> getX() { return x; }
method getPublicKey (line 75) | shared_ptr<ElGamalPublicKey> getPublicKey() { return publicKey; }
class SigmaElGamalCommittedValueProverInput (line 88) | class SigmaElGamalCommittedValueProverInput : public SigmaProverInput {
method SigmaElGamalCommittedValueProverInput (line 102) | SigmaElGamalCommittedValueProverInput(const shared_ptr<ElGamalPublicKe...
method biginteger (line 113) | biginteger getR() { return r; }
method getCommonInput (line 115) | shared_ptr<SigmaCommonInput> getCommonInput() override { return input; }
class SigmaElGamalCommittedValueSimulator (line 128) | class SigmaElGamalCommittedValueSimulator : public SigmaSimulator {
method SigmaElGamalCommittedValueSimulator (line 155) | SigmaElGamalCommittedValueSimulator(const shared_ptr<DlogGroup> & dlog...
method getSoundnessParam (line 164) | int getSoundnessParam() override { return dhSim.getSoundnessParam(); }
class SigmaElGamalCommittedValueProverComputation (line 195) | class SigmaElGamalCommittedValueProverComputation : public SigmaProverCo...
method SigmaElGamalCommittedValueProverComputation (line 225) | SigmaElGamalCommittedValueProverComputation(const shared_ptr<DlogGroup...
method getSoundnessParam (line 235) | int getSoundnessParam() override { return sigmaDH.getSoundnessParam(); }
method getSimulator (line 257) | shared_ptr<SigmaSimulator> getSimulator() override {
class SigmaElGamalCommittedValueVerifierComputation (line 273) | class SigmaElGamalCommittedValueVerifierComputation : public SigmaVerifi...
method SigmaElGamalCommittedValueVerifierComputation (line 300) | SigmaElGamalCommittedValueVerifierComputation(const shared_ptr<DlogGro...
method getSoundnessParam (line 310) | int getSoundnessParam() override { return sigmaDH.getSoundnessParam(); }
method sampleChallenge (line 315) | void sampleChallenge() override { sigmaDH.sampleChallenge(); }
method setChallenge (line 321) | void setChallenge(const vector<byte> & challenge) override { sigmaDH.s...
method getChallenge (line 327) | vector<byte> getChallenge() { return sigmaDH.getChallenge(); }
method verify (line 338) | bool verify(SigmaCommonInput* input, SigmaProtocolMsg* a, SigmaProtoco...
FILE: include/interactive_mid_protocols/SigmaProtocolElGamalEncryptedValue.hpp
class SigmaElGamalEncryptedValueCommonInput (line 44) | class SigmaElGamalEncryptedValueCommonInput : public SigmaCommonInput {
method isRandomness (line 66) | bool isRandomness() { return isRandom; }
method getX (line 71) | shared_ptr<GroupElement> getX() { return x; }
method ElGamalPublicKey (line 76) | ElGamalPublicKey getPublicKey() { return publicKey; }
method ElGamalOnGroupElementCiphertext (line 81) | ElGamalOnGroupElementCiphertext getCipher() { return cipher; }
class SigmaElGamalEncryptedValuePrivKeyProverInput (line 98) | class SigmaElGamalEncryptedValuePrivKeyProverInput : public SigmaProverI...
method ElGamalPrivateKey (line 118) | ElGamalPrivateKey getPrivateKey() { return privateKey; }
method getCommonInput (line 120) | shared_ptr<SigmaCommonInput> getCommonInput() override { return input; }
class SigmaElGamalEncryptedValueRandomnessProverInput (line 135) | class SigmaElGamalEncryptedValueRandomnessProverInput : public SigmaProv...
method biginteger (line 155) | biginteger getR() { return r; }
method getCommonInput (line 157) | shared_ptr<SigmaCommonInput> getCommonInput() override { return input; }
class SigmaElGamalEncryptedValueSimulator (line 170) | class SigmaElGamalEncryptedValueSimulator : public SigmaSimulator {
method getSoundnessParam (line 208) | int getSoundnessParam() override { return dhSim.getSoundnessParam(); }
class SigmaElGamalEncryptedValueProverComputation (line 240) | class SigmaElGamalEncryptedValueProverComputation : public SigmaProverCo...
method getSoundnessParam (line 287) | int getSoundnessParam() override { return sigmaDH.getSoundnessParam(); }
method getSimulator (line 307) | shared_ptr<SigmaSimulator> getSimulator() override {
class SigmaElGamalEncryptedValueVerifierComputation (line 323) | class SigmaElGamalEncryptedValueVerifierComputation : public SigmaVerifi...
method getSoundnessParam (line 364) | int getSoundnessParam() override { return sigmaDH.getSoundnessParam(); }
method sampleChallenge (line 369) | void sampleChallenge() override { sigmaDH.sampleChallenge(); }
method setChallenge (line 375) | void setChallenge(const vector<byte> & challenge) override { sigmaDH.s...
method getChallenge (line 380) | vector<byte> getChallenge() override { return sigmaDH.getChallenge(); }
FILE: include/interactive_mid_protocols/SigmaProtocolElGamalPrivateKey.hpp
class SigmaElGamalPrivateKeyCommonInput (line 41) | class SigmaElGamalPrivateKeyCommonInput : public SigmaCommonInput {
method SigmaElGamalPrivateKeyCommonInput (line 51) | SigmaElGamalPrivateKeyCommonInput(ElGamalPublicKey publicKey) : public...
method ElGamalPublicKey (line 56) | ElGamalPublicKey getPublicKey() { return publicKey; }
method string (line 58) | string toString() override { return publicKey.generateSendableData()->...
class SigmaElGamalPrivateKeyProverInput (line 69) | class SigmaElGamalPrivateKeyProverInput : public SigmaProverInput {
method SigmaElGamalPrivateKeyProverInput (line 81) | SigmaElGamalPrivateKeyProverInput(ElGamalPublicKey pubKey, ElGamalPriv...
method ElGamalPrivateKey (line 88) | ElGamalPrivateKey getPrivateKey() { return privateKey; }
method getCommonInput (line 90) | shared_ptr<SigmaCommonInput> getCommonInput() override { return input; }
class SigmaElGamalPrivateKeySimulator (line 102) | class SigmaElGamalPrivateKeySimulator : public SigmaSimulator {
method SigmaElGamalPrivateKeySimulator (line 120) | SigmaElGamalPrivateKeySimulator(const shared_ptr<DlogGroup> & dlog, in...
method getSoundnessParam (line 126) | int getSoundnessParam() override { return dlogSim.getSoundnessParam(); }
class SigmaElGamalPrivateKeyProverComputation (line 157) | class SigmaElGamalPrivateKeyProverComputation : public SigmaProverComput...
method getSoundnessParam (line 185) | int getSoundnessParam() override { return sigmaDlog.getSoundnessParam(...
method getSimulator (line 207) | shared_ptr<SigmaSimulator> getSimulator() override {
class SigmaElGamalPrivateKeyVerifierComputation (line 223) | class SigmaElGamalPrivateKeyVerifierComputation :public SigmaVerifierCom...
method SigmaElGamalPrivateKeyVerifierComputation (line 243) | SigmaElGamalPrivateKeyVerifierComputation(const shared_ptr<DlogGroup> ...
method getSoundnessParam (line 249) | int getSoundnessParam() override { return sigmaDlog.getSoundnessParam(...
method sampleChallenge (line 254) | void sampleChallenge() override { sigmaDlog.sampleChallenge(); }
method setChallenge (line 260) | void setChallenge(const vector<byte> & challenge) override { sigmaDlog...
method getChallenge (line 266) | vector<byte> getChallenge() override { return sigmaDlog.getChallenge(); }
FILE: include/interactive_mid_protocols/SigmaProtocolOrMultiple.hpp
class SigmaOrMultipleCommonInput (line 46) | class SigmaOrMultipleCommonInput : public SigmaCommonInput {
method SigmaOrMultipleCommonInput (line 54) | SigmaOrMultipleCommonInput(const vector<shared_ptr<SigmaCommonInput>> ...
method getInputs (line 62) | vector<shared_ptr<SigmaCommonInput>> getInputs() { return sigmaInputs; }
method getK (line 67) | int getK() { return k; }
class SigmaOrMultipleProverInput (line 80) | class SigmaOrMultipleProverInput : public SigmaProverInput {
method SigmaOrMultipleProverInput (line 94) | SigmaOrMultipleProverInput(const map<int, shared_ptr<SigmaProverInput>...
method getProversInput (line 103) | map<int, shared_ptr<SigmaProverInput>> getProversInput() { return prov...
method getSimulatorsInput (line 109) | map<int, shared_ptr<SigmaCommonInput>> getSimulatorsInput() { return s...
class SigmaOrMultipleSecondMsg (line 119) | class SigmaOrMultipleSecondMsg : public SigmaProtocolMsg {
method SigmaOrMultipleSecondMsg (line 127) | SigmaOrMultipleSecondMsg(const vector<vector<byte>> & polynomBytes, co...
method getPolynomial (line 133) | vector<vector<byte>> getPolynomial() { return polynomial; }
method getMessages (line 135) | vector<shared_ptr<SigmaProtocolMsg>> getMessages() { return z; }
method getChallenges (line 137) | vector<vector<byte>> getChallenges() { return challenges; }
class SigmaOrMultipleSimulator (line 168) | class SigmaOrMultipleSimulator : public SigmaSimulator {
method getSoundnessParam (line 203) | int getSoundnessParam() override { return t; }
class SigmaOrMultipleProverComputation (line 236) | class SigmaOrMultipleProverComputation : public SigmaProverComputation {
method getSoundnessParam (line 286) | int getSoundnessParam() override { return t; }
class SigmaOrMultipleVerifierComputation (line 332) | class SigmaOrMultipleVerifierComputation : public SigmaVerifierComputati...
method getSoundnessParam (line 371) | int getSoundnessParam() override { return t; }
method getChallenge (line 389) | vector<byte> getChallenge() override { return challengeBytes; }
FILE: include/interactive_mid_protocols/SigmaProtocolOrTwo.hpp
class SigmaOrTwoProverInput (line 43) | class SigmaOrTwoProverInput : public SigmaProverInput {
method SigmaOrTwoProverInput (line 57) | SigmaOrTwoProverInput(const shared_ptr<SigmaProverInput> & proverInput...
method byte (line 66) | byte getB() { return b; }
method getProverInput (line 71) | shared_ptr<SigmaProverInput> getProverInput() { return proverInput; }
method getSimulatorInput (line 76) | shared_ptr<SigmaCommonInput> getSimulatorInput() { return simulatorInp...
class SigmaOrTwoSecondMsg (line 89) | class SigmaOrTwoSecondMsg : public SigmaProtocolMsg {
method SigmaOrTwoSecondMsg (line 99) | SigmaOrTwoSecondMsg(const shared_ptr<SigmaProtocolMsg> & z0, const vec...
method getZ0 (line 106) | shared_ptr<SigmaProtocolMsg> getZ0() { return z0; }
method getE0 (line 108) | vector<byte> getE0() { return e0; }
method getZ1 (line 110) | shared_ptr<SigmaProtocolMsg> getZ1() {return z1; }
method getE1 (line 112) | vector<byte> getE1() { return e1; }
class SigmaOrTwoSimulator (line 129) | class SigmaOrTwoSimulator : public SigmaSimulator {
method getSoundnessParam (line 164) | int getSoundnessParam() override { return t; }
class SigmaOrTwoProverComputation (line 197) | class SigmaOrTwoProverComputation : public SigmaProverComputation {
method getSoundnessParam (line 240) | int getSoundnessParam() override { return t; }
class SigmaOrTwoVerifierComputation (line 284) | class SigmaOrTwoVerifierComputation : public SigmaVerifierComputation {
method getSoundnessParam (line 313) | int getSoundnessParam() override { return t; }
method sampleChallenge (line 319) | void sampleChallenge() override {
method setChallenge (line 329) | void setChallenge(const vector<byte> & challenge) override { e = chall...
method getChallenge (line 335) | vector<byte> getChallenge() { return e; }
FILE: include/interactive_mid_protocols/SigmaProtocolPedersenCmtKnowledge.hpp
class SigmaPedersenCmtKnowledgeCommonInput (line 46) | class SigmaPedersenCmtKnowledgeCommonInput : public SigmaCommonInput {
method SigmaPedersenCmtKnowledgeCommonInput (line 58) | SigmaPedersenCmtKnowledgeCommonInput(const shared_ptr<GroupElement> & ...
method getH (line 67) | shared_ptr<GroupElement> getH() { return h; }
method getCommitment (line 73) | shared_ptr<GroupElement> getCommitment() { return commitment; }
class SigmaPedersenCmtKnowledgeProverInput (line 87) | class SigmaPedersenCmtKnowledgeProverInput : public SigmaProverInput {
method SigmaPedersenCmtKnowledgeProverInput (line 102) | SigmaPedersenCmtKnowledgeProverInput(const shared_ptr<GroupElement> & ...
method biginteger (line 111) | biginteger getX() { return x; }
method biginteger (line 116) | biginteger getR() { return r; }
method getCommonInput (line 119) | shared_ptr<SigmaCommonInput> getCommonInput() override { return input; }
class SigmaPedersenCmtKnowledgeMsg (line 133) | class SigmaPedersenCmtKnowledgeMsg : public SigmaProtocolMsg {
method SigmaPedersenCmtKnowledgeMsg (line 140) | SigmaPedersenCmtKnowledgeMsg(const biginteger & u, const biginteger & ...
method biginteger (line 145) | biginteger getU() { return u; }
method biginteger (line 147) | biginteger getV() { return v; }
method string (line 150) | string toString() override { return u.str() + ":" + v.str(); }
class SigmaPedersenCmtKnowledgeSimulator (line 165) | class SigmaPedersenCmtKnowledgeSimulator : public SigmaSimulator {
method checkChallengeLength (line 184) | bool checkChallengeLength(int size) {
method getSoundnessParam (line 204) | int getSoundnessParam() override { return t; }
class SigmaPedersenCmtKnowledgeProverComputation (line 235) | class SigmaPedersenCmtKnowledgeProverComputation : public SigmaProverCom...
method checkChallengeLength (line 261) | bool checkChallengeLength(int size) {
method getSoundnessParam (line 280) | int getSoundnessParam() override { return t; }
method getSimulator (line 303) | shared_ptr<SigmaSimulator> getSimulator() override{
class SigmaPedersenCmtKnowledgeVerifierComputation (line 318) | class SigmaPedersenCmtKnowledgeVerifierComputation : public SigmaVerifie...
method getSoundnessParam (line 353) | int getSoundnessParam() override { return t; }
method setChallenge (line 365) | void setChallenge(const vector<byte> & challenge) override { e = chall...
method getChallenge (line 371) | vector<byte> getChallenge() override { return e; }
FILE: include/interactive_mid_protocols/SigmaProtocolPedersenCommittedValue.hpp
class SigmaPedersenCommittedValueCommonInput (line 44) | class SigmaPedersenCommittedValueCommonInput : public SigmaCommonInput {
method SigmaPedersenCommittedValueCommonInput (line 58) | SigmaPedersenCommittedValueCommonInput(const shared_ptr<GroupElement> ...
method biginteger (line 67) | biginteger getX() {
method getH (line 74) | shared_ptr<GroupElement> getH() { return h; }
method getCommitment (line 79) | shared_ptr<GroupElement> getCommitment() { return commitment; }
class SigmaPedersenCommittedValueProverInput (line 92) | class SigmaPedersenCommittedValueProverInput : public SigmaProverInput {
method SigmaPedersenCommittedValueProverInput (line 106) | SigmaPedersenCommittedValueProverInput(const shared_ptr<GroupElement> ...
method biginteger (line 114) | biginteger getR() { return r; }
method getCommonInput (line 116) | shared_ptr<SigmaCommonInput> getCommonInput() override { return input; }
class SigmaPedersenCommittedValueSimulator (line 133) | class SigmaPedersenCommittedValueSimulator : public SigmaSimulator {
method getSoundnessParam (line 168) | int getSoundnessParam() override { return dlogSim.getSoundnessParam();}
class SigmaPedersenCommittedValueProverComputation (line 201) | class SigmaPedersenCommittedValueProverComputation : public SigmaProverC...
method getSimulator (line 260) | shared_ptr<SigmaSimulator> getSimulator() override {
class SigmaPedersenCommittedValueVerifierComputation (line 275) | class SigmaPedersenCommittedValueVerifierComputation : public SigmaVerif...
method SigmaPedersenCommittedValueVerifierComputation (line 303) | SigmaPedersenCommittedValueVerifierComputation(const shared_ptr<DlogGr...
method getSoundnessParam (line 311) | int getSoundnessParam() override { return sigmaDlog.getSoundnessParam(...
method sampleChallenge (line 316) | void sampleChallenge() override { sigmaDlog.sampleChallenge(); }
method setChallenge (line 322) | void setChallenge(const vector<byte> & challenge) override { sigmaDlog...
method getChallenge (line 328) | vector<byte> getChallenge() override { return sigmaDlog.getChallenge(); }
method verify (line 337) | bool verify(SigmaCommonInput* input, SigmaProtocolMsg* a, SigmaProtoco...
FILE: include/interactive_mid_protocols/ZeroKnowledge.hpp
class ZKProver (line 41) | class ZKProver {
class ZKPOKProver (line 56) | class ZKPOKProver : public ZKProver {}
class ZKVerifier (line 67) | class ZKVerifier {
class ZKPOKVerifier (line 83) | class ZKPOKVerifier : public virtual ZKVerifier {}
class ZKFromSigmaProver (line 93) | class ZKFromSigmaProver : public virtual ZKProver {
method ZKFromSigmaProver (line 111) | ZKFromSigmaProver(const shared_ptr<CommParty> & channel, const shared_...
method receiveCommit (line 146) | shared_ptr<CmtRCommitPhaseOutput> receiveCommit() { return receiver->r...
method processFirstMsg (line 154) | void processFirstMsg(const shared_ptr<SigmaProverInput> & input) {
method receiveDecommit (line 167) | vector<byte> receiveDecommit(long id) {
method processSecondMsg (line 181) | void processSecondMsg(byte* e, int eSize) {
method sendMsgToVerifier (line 194) | void sendMsgToVerifier(SigmaProtocolMsg* message) {
class ZKFromSigmaVerifier (line 208) | class ZKFromSigmaVerifier : ZKVerifier {
method ZKFromSigmaVerifier (line 226) | ZKFromSigmaVerifier(const shared_ptr<CommParty> & channel, const share...
method commit (line 263) | long commit(const vector<byte> & e) {
method decommit (line 281) | void decommit(long id) { committer->decommit(id); }
method proccessVerify (line 288) | bool proccessVerify(SigmaCommonInput* input, SigmaProtocolMsg* a, Sigm...
class ZKPOKFromSigmaCmtPedersenProver (line 298) | class ZKPOKFromSigmaCmtPedersenProver
method ZKPOKFromSigmaCmtPedersenProver (line 317) | ZKPOKFromSigmaCmtPedersenProver(const shared_ptr<CommParty> & channel,...
method receiveCommit (line 354) | shared_ptr<CmtRCommitPhaseOutput> receiveCommit() {
method processFirstMsg (line 364) | void processFirstMsg(const shared_ptr<SigmaProverInput> & input) {
method receiveDecommit (line 379) | vector<byte> receiveDecommit(long id) {
method sendMsgToVerifier (line 389) | void sendMsgToVerifier(string msg) { channel->writeWithSize(msg); }
class ZKPOKFromSigmaCmtPedersenVerifier (line 299) | class ZKPOKFromSigmaCmtPedersenVerifier
method ZKPOKFromSigmaCmtPedersenVerifier (line 443) | ZKPOKFromSigmaCmtPedersenVerifier(const shared_ptr<CommParty> channel,
class ZKPOKFromSigmaCmtPedersenProver (line 310) | class ZKPOKFromSigmaCmtPedersenProver : public ZKPOKProver {
method ZKPOKFromSigmaCmtPedersenProver (line 317) | ZKPOKFromSigmaCmtPedersenProver(const shared_ptr<CommParty> & channel,...
method receiveCommit (line 354) | shared_ptr<CmtRCommitPhaseOutput> receiveCommit() {
method processFirstMsg (line 364) | void processFirstMsg(const shared_ptr<SigmaProverInput> & input) {
method receiveDecommit (line 379) | vector<byte> receiveDecommit(long id) {
method sendMsgToVerifier (line 389) | void sendMsgToVerifier(string msg) { channel->writeWithSize(msg); }
class ZKPOKFromSigmaCmtPedersenVerifier (line 411) | class ZKPOKFromSigmaCmtPedersenVerifier : public virtual ZKPOKVerifier {
method ZKPOKFromSigmaCmtPedersenVerifier (line 443) | ZKPOKFromSigmaCmtPedersenVerifier(const shared_ptr<CommParty> channel,
class ZKPOKFiatShamirProof (line 483) | class ZKPOKFiatShamirProof : public NetworkSerialized {
method ZKPOKFiatShamirProof (line 492) | ZKPOKFiatShamirProof() {}
method ZKPOKFiatShamirProof (line 500) | ZKPOKFiatShamirProof(const shared_ptr<SigmaProtocolMsg> & a, const vec...
method getA (line 506) | shared_ptr<SigmaProtocolMsg> getA() { return a; }
method getE (line 511) | vector<byte> getE() { return e; }
method getZ (line 516) | shared_ptr<SigmaProtocolMsg> getZ() { return z; }
class ZKPOKFiatShamirCommonInput (line 530) | class ZKPOKFiatShamirCommonInput : public ZKCommonInput {
method ZKPOKFiatShamirCommonInput (line 542) | ZKPOKFiatShamirCommonInput(SigmaCommonInput* input, const vector<byte>...
method SigmaCommonInput (line 548) | SigmaCommonInput* getSigmaInput() { return input; }
method getContext (line 553) | vector<byte> getContext() { return context; }
class ZKPOKFiatShamirProverInput (line 563) | class ZKPOKFiatShamirProverInput : public ZKProverInput {
method ZKPOKFiatShamirProverInput (line 575) | ZKPOKFiatShamirProverInput(const shared_ptr<SigmaProverInput> & input,...
method getSigmaInput (line 581) | shared_ptr<SigmaProverInput> getSigmaInput() { return input; }
method getContext (line 586) | vector<byte> getContext() { return context; }
class ZKPOKFiatShamirFromSigmaProver (line 603) | class ZKPOKFiatShamirFromSigmaProver : public ZKPOKProver {
method ZKPOKFiatShamirFromSigmaProver (line 634) | ZKPOKFiatShamirFromSigmaProver(const shared_ptr<CommParty> & channel, ...
class ZKPOKFiatShamirFromSigmaVerifier (line 681) | class ZKPOKFiatShamirFromSigmaVerifier : public ZKPOKVerifier {
method ZKPOKFiatShamirFromSigmaVerifier (line 723) | ZKPOKFiatShamirFromSigmaVerifier(const shared_ptr<CommParty> & channel...
FILE: include/mid_layer/AsymmetricEnc.hpp
class AsymmetricEnc (line 45) | class AsymmetricEnc : public Cpa, Indistinguishable {
class AsymMultiplicativeHomomorphicEnc (line 198) | class AsymMultiplicativeHomomorphicEnc {
class AsymAdditiveHomomorphicEnc (line 230) | class AsymAdditiveHomomorphicEnc : public AsymmetricEnc {
FILE: include/mid_layer/BiLinearMaps.hpp
class G1Element (line 45) | class G1Element
method G1Element (line 71) | G1Element() {}
class G2Element (line 46) | class G2Element
method G2Element (line 83) | G2Element(){}
class GTElement (line 47) | class GTElement
method GTElement (line 95) | GTElement() {}
method toStrings (line 96) | virtual vector<string> toStrings() override { return vector<string>(); }
class BiLinearMapWrapper (line 49) | class BiLinearMapWrapper {
method BiLinearMapWrapper (line 52) | BiLinearMapWrapper() : pfc(AES_SECURITY) {}
class BMGroupElement (line 57) | class BMGroupElement {
class G1Element (line 66) | class G1Element : public BMGroupElement {
method G1Element (line 71) | G1Element() {}
class G2Element (line 78) | class G2Element : public BMGroupElement {
method G2Element (line 83) | G2Element(){}
class GTElement (line 90) | class GTElement : public BMGroupElement {
method GTElement (line 95) | GTElement() {}
method toStrings (line 96) | virtual vector<string> toStrings() override { return vector<string>(); }
FILE: include/mid_layer/CramerShoupEnc.hpp
class CramerShoupPublicKeySendableData (line 40) | class CramerShoupPublicKeySendableData : public KeySendableData {
method getC (line 54) | shared_ptr<GroupElementSendableData> getC() { return c; }
method getD (line 56) | shared_ptr<GroupElementSendableData> getD() { return d; }
method getH (line 58) | shared_ptr<GroupElementSendableData> getH() { return h; }
method getG1 (line 60) | shared_ptr<GroupElementSendableData> getG1() { return g1; }
method getG2 (line 62) | shared_ptr<GroupElementSendableData> getG2() { return g2; }
class CramerShoupPublicKey (line 75) | class CramerShoupPublicKey : public PublicKey {
method string (line 91) | string getAlgorithm() override { return "CramerShoup"; }
method getEncoded (line 93) | vector<byte> getEncoded() override { throw UnsupportedOperationExcepti...
method getC (line 95) | shared_ptr<GroupElement> getC() { return c; }
method getD (line 97) | shared_ptr<GroupElement> getD() { return d; }
method getH (line 99) | shared_ptr<GroupElement> getH() { return h; }
method getGenerator1 (line 101) | shared_ptr<GroupElement> getGenerator1() { return g1; }
method getGenerator2 (line 103) | shared_ptr<GroupElement> getGenerator2() { return g2; }
method generateSendableData (line 105) | shared_ptr<KeySendableData> generateSendableData() {
class CramerShoupPrivateKey (line 116) | class CramerShoupPrivateKey : public PrivateKey, KeySendableData {
method string (line 128) | string getAlgorithm() override { return "CramerShoup"; }
method getEncoded (line 130) | vector<byte> getEncoded() { throw NotImplementedException(""); }
method biginteger (line 132) | biginteger getPrivateExp1() { return x1; }
method biginteger (line 134) | biginteger getPrivateExp2() { return x2; }
method biginteger (line 136) | biginteger getPrivateExp3() { return y1; }
method biginteger (line 138) | biginteger getPrivateExp4() { return y2; }
method biginteger (line 140) | biginteger getPrivateExp5() { return z; }
class CrShOnGroupElSendableData (line 147) | class CrShOnGroupElSendableData : public AsymmetricCiphertextSendableData {
method getE (line 159) | shared_ptr<GroupElementSendableData> getE() { return e; }
method getU1 (line 161) | shared_ptr<GroupElementSendableData> getU1() { return u1; }
method getU2 (line 163) | shared_ptr<GroupElementSendableData> getU2() { return u2; }
method getV (line 165) | shared_ptr<GroupElementSendableData> getV() { return v; }
class CramerShoupOnGroupElementCiphertext (line 178) | class CramerShoupOnGroupElementCiphertext : public AsymmetricCiphertext {
method CramerShoupOnGroupElementCiphertext (line 187) | CramerShoupOnGroupElementCiphertext(const shared_ptr<GroupElement> & u...
method getU1 (line 195) | shared_ptr<GroupElement> getU1() { return u1; }
method getU2 (line 197) | shared_ptr<GroupElement> getU2() { return u2; }
method getV (line 199) | shared_ptr<GroupElement> getV() { return v; }
method getE (line 201) | shared_ptr<GroupElement> getE() { return e; }
method generateSendableData (line 203) | shared_ptr<AsymmetricCiphertextSendableData> generateSendableData() ov...
class CramerShoupOnGroupElementEnc (line 230) | class CramerShoupOnGroupElementEnc :public AsymmetricEnc, Cca2 {
method setKey (line 293) | void setKey(const shared_ptr<PublicKey> & publicKey) override { setKey...
method isKeySet (line 295) | bool isKeySet() override { return keySet; }
method getPublicKey (line 304) | shared_ptr<PublicKey> getPublicKey() override {
method string (line 315) | string getAlgorithmName() override { return "CramerShoup/" + dlogGroup...
method generateKey (line 327) | pair<shared_ptr<PublicKey>, shared_ptr<PrivateKey>> generateKey(Algori...
method hasMaxByteArrayLengthForPlaintext (line 369) | bool hasMaxByteArrayLengthForPlaintext() override { return true; }
method getMaxLengthOfByteArrayForPlaintext (line 375) | int getMaxLengthOfByteArrayForPlaintext() override { return dlogGroup-...
FILE: include/mid_layer/DamgardJurikEnc.hpp
class DamgardJurikPublicKey (line 40) | class DamgardJurikPublicKey : public PublicKey, public KeySendableData {
method DamgardJurikPublicKey (line 46) | DamgardJurikPublicKey(const biginteger & modulus) { this->modulus = mo...
method string (line 48) | string getAlgorithm() override { return "DamgardJurik"; }
method getEncoded (line 50) | vector<byte> getEncoded() override {
method biginteger (line 59) | biginteger getModulus() { return modulus; }
method generateSendableData (line 68) | shared_ptr<KeySendableData> generateSendableData() {
class DamgardJurikPrivateKey (line 86) | class DamgardJurikPrivateKey : public PrivateKey, KeySendableData {
method string (line 103) | string getAlgorithm() override { return "DamgardJurik"; }
method getEncoded (line 105) | vector<byte> getEncoded() override { throw NotImplementedException(""); }
method biginteger (line 107) | biginteger getT() { return t; }
method biginteger (line 109) | biginteger getDForS1() { return dForS1; }
method biginteger (line 111) | biginteger getP() { return p; }
method biginteger (line 113) | biginteger getQ() { return q; }
class DJKeyGenParameterSpec (line 126) | class DJKeyGenParameterSpec : public AlgorithmParameterSpec {
method DJKeyGenParameterSpec (line 140) | DJKeyGenParameterSpec(int modulusLength = 1024, int certainty = 40) {
method getModulusLength (line 145) | int getModulusLength() { return modulusLength; }
method getCertainty (line 147) | int getCertainty() { return certainty; }
class DamgardJurikEnc (line 157) | class DamgardJurikEnc : public AsymAdditiveHomomorphicEnc {
method DamgardJurikEnc (line 177) | DamgardJurikEnc(const shared_ptr<PrgFromOpenSSLAES> & random = get_see...
method setKey (line 194) | void setKey(const shared_ptr<PublicKey> & publicKey) override { setKey...
method isKeySet (line 196) | bool isKeySet() override { return keySet; }
method string (line 210) | string getAlgorithmName() override { return "DamgardJurik"; }
method hasMaxByteArrayLengthForPlaintext (line 216) | bool hasMaxByteArrayLengthForPlaintext() override { return false; }
method getMaxLengthOfByteArrayForPlaintext (line 222) | int getMaxLengthOfByteArrayForPlaintext() override {
method generatePlaintext (line 230) | shared_ptr<Plaintext> generatePlaintext(vector<byte> & text) override {
method generateKey (line 246) | pair<shared_ptr<PublicKey>, shared_ptr<PrivateKey>> generateKey() over...
method setLengthParameter (line 254) | void setLengthParameter(int s) { this->consts = s; }
FILE: include/mid_layer/ElGamalEnc.hpp
class ElGamalPublicKeySendableData (line 37) | class ElGamalPublicKeySendableData : public KeySendableData {
method ElGamalPublicKeySendableData (line 42) | ElGamalPublicKeySendableData(const shared_ptr<GroupElementSendableData...
method getC (line 46) | shared_ptr<GroupElementSendableData> getC() { return c; }
method string (line 48) | string toString() override { return c->toString(); }
method initFromString (line 49) | void initFromString(const string & raw) override { c->initFromString(r...
class ElGamalPublicKey (line 57) | class ElGamalPublicKey : public PublicKey {
method ElGamalPublicKey (line 63) | ElGamalPublicKey(const shared_ptr<GroupElement> & h) {
method getH (line 67) | shared_ptr<GroupElement> getH() { return h; }
method generateSendableData (line 69) | shared_ptr<KeySendableData> generateSendableData() {
method string (line 72) | string getAlgorithm() override { return "ElGamal"; }
method getEncoded (line 73) | vector<byte> getEncoded() override { throw UnsupportedOperationExcepti...
class ElGamalPrivateKey (line 81) | class ElGamalPrivateKey : public PrivateKey, KeySendableData {
method ElGamalPrivateKey (line 87) | ElGamalPrivateKey(const biginteger & x) { this->x = x; }
method biginteger (line 89) | biginteger getX() { return x; }
method string (line 91) | string toString() override { return x.str(); }
method initFromString (line 92) | void initFromString(const string & row) override { x = biginteger(row); }
method string (line 93) | string getAlgorithm() override { return "ElGamal"; }
method getEncoded (line 94) | vector<byte> getEncoded() override { throw NotImplementedException(""); }
class ElGamalOnGrElSendableData (line 98) | class ElGamalOnGrElSendableData : public AsymmetricCiphertextSendableData {
method ElGamalOnGrElSendableData (line 105) | ElGamalOnGrElSendableData(const shared_ptr<GroupElementSendableData> &...
method getCipher1 (line 110) | shared_ptr<GroupElementSendableData> getCipher1() { return cipher1; }
method getCipher2 (line 111) | shared_ptr<GroupElementSendableData> getCipher2() { return cipher2; }
method string (line 112) | string toString() override { return cipher1->toString() + ":" + cipher...
class ElGamalOnGroupElementCiphertext (line 120) | class ElGamalOnGroupElementCiphertext : public AsymmetricCiphertext {
method ElGamalOnGroupElementCiphertext (line 134) | ElGamalOnGroupElementCiphertext(const shared_ptr<GroupElement> & c1, c...
method getC1 (line 143) | shared_ptr<GroupElement> getC1() { return cipher1; }
method getC2 (line 149) | shared_ptr<GroupElement> getC2() { return cipher2; }
method generateSendableData (line 151) | shared_ptr<AsymmetricCiphertextSendableData> generateSendableData() ov...
class ElGamalOnByteArraySendableData (line 165) | class ElGamalOnByteArraySendableData : public AsymmetricCiphertextSendab...
method ElGamalOnByteArraySendableData (line 174) | ElGamalOnByteArraySendableData(const shared_ptr<GroupElementSendableDa...
method getCipher1 (line 179) | shared_ptr<GroupElementSendableData> getCipher1() { return cipher1; }
method getCipher2 (line 181) | vector<byte> getCipher2() { return cipher2; }
class ElGamalOnByteArrayCiphertext (line 191) | class ElGamalOnByteArrayCiphertext : public AsymmetricCiphertext {
method ElGamalOnByteArrayCiphertext (line 206) | ElGamalOnByteArrayCiphertext(const shared_ptr<GroupElement> & c1, vect...
method getC1 (line 214) | shared_ptr<GroupElement> getC1() { return cipher1; }
method getC2 (line 219) | vector<byte> getC2() { return cipher2; }
method generateSendableData (line 221) | shared_ptr<AsymmetricCiphertextSendableData> generateSendableData() ov...
class ElGamalEnc (line 245) | class ElGamalEnc : public AsymmetricEnc {
method ElGamalEnc (line 273) | ElGamalEnc(const shared_ptr<DlogGroup> & dlogGroup, const shared_ptr<P...
method setKey (line 292) | void setKey(const shared_ptr<PublicKey> & publicKey) override { setKey...
method isKeySet (line 294) | bool isKeySet() override { return keySet; }
method getPublicKey (line 303) | shared_ptr<PublicKey> getPublicKey() override {
method string (line 314) | string getAlgorithmName() override { return "ElGamal/" + dlog->getGrou...
method generateKey (line 326) | pair<shared_ptr<PublicKey>, shared_ptr<PrivateKey>> generateKey(Algori...
class ElGamalOnGroupElementEnc (line 372) | class ElGamalOnGroupElementEnc : public ElGamalEnc, public AsymMultiplic...
method ElGamalOnGroupElementEnc (line 385) | ElGamalOnGroupElementEnc() {}
method ElGamalOnGroupElementEnc (line 393) | ElGamalOnGroupElementEnc(const shared_ptr<DlogGroup> & dlogGroup, cons...
method hasMaxByteArrayLengthForPlaintext (line 400) | bool hasMaxByteArrayLengthForPlaintext() override { return true; }
method getMaxLengthOfByteArrayForPlaintext (line 406) | int getMaxLengthOfByteArrayForPlaintext() override { return dlog->getM...
class ElGamalOnByteArrayEnc (line 477) | class ElGamalOnByteArrayEnc : public ElGamalEnc {
method initPrivateKey (line 486) | void initPrivateKey(const shared_ptr<ElGamalPrivateKey> & privateKey) ...
method ElGamalOnByteArrayEnc (line 503) | ElGamalOnByteArrayEnc() : ElGamalEnc() {
method ElGamalOnByteArrayEnc (line 514) | ElGamalOnByteArrayEnc(const shared_ptr<DlogGroup> & dlogGroup, const s...
method hasMaxByteArrayLengthForPlaintext (line 523) | bool hasMaxByteArrayLengthForPlaintext() override { return false; }
method getMaxLengthOfByteArrayForPlaintext (line 529) | int getMaxLengthOfByteArrayForPlaintext() override {
method generatePlaintext (line 537) | shared_ptr<Plaintext> generatePlaintext(vector<byte> & text) override {
FILE: include/mid_layer/Mac.hpp
class Mac (line 41) | class Mac {
class UniqueTagMac (line 121) | class UniqueTagMac : public Mac {}
FILE: include/mid_layer/OpenSSLMac.h
function class (line 11) | class OpenSSLGMAC : public Mac{
FILE: include/mid_layer/OpenSSLSymmetricEnc.hpp
class OpenSSLEncWithIVAbs (line 43) | class OpenSSLEncWithIVAbs : public virtual SymmetricEnc {
method getIVSize (line 58) | int getIVSize() {
method OpenSSLEncWithIVAbs (line 71) | OpenSSLEncWithIVAbs(PseudorandomPermutation* prp, const shared_ptr<Prg...
method OpenSSLEncWithIVAbs (line 83) | OpenSSLEncWithIVAbs(string prpName, const shared_ptr<PrgFromOpenSSLAES...
method SecretKey (line 96) | SecretKey generateKey(AlgorithmParameterSpec & keyParams) override {
class OpenSSLCTREncRandomIV (line 140) | class OpenSSLCTREncRandomIV : public OpenSSLEncWithIVAbs, public CTREnc {
method checkExistance (line 148) | bool checkExistance(string prpName) override {
method OpenSSLCTREncRandomIV (line 160) | OpenSSLCTREncRandomIV(PseudorandomPermutation* prp, const shared_ptr<P...
method OpenSSLCTREncRandomIV (line 167) | OpenSSLCTREncRandomIV(string prpName) : OpenSSLEncWithIVAbs(prpName) {...
method setKey (line 172) | void setKey(SecretKey & secretKey) override {
method string (line 199) | string getAlgorithmName() override { return "CTR Encryption with " + p...
FILE: include/mid_layer/SymmetricEnc.hpp
class SymmetricEnc (line 47) | class SymmetricEnc : public Eav, public Indistinguishable {
method isKeySet (line 64) | bool isKeySet() { return keySet; }
class CTREnc (line 120) | class CTREnc : public virtual SymmetricEnc, public Cpa {}
FILE: include/primitives/Dlog.hpp
class InvalidDlogGroupException (line 41) | class InvalidDlogGroupException : public logic_error
method InvalidDlogGroupException (line 44) | InvalidDlogGroupException(const string & msg) : logic_error(msg) {}
class GroupElementSendableData (line 50) | class GroupElementSendableData : public NetworkSerialized {
class GroupElement (line 62) | class GroupElement {
class GroupParams (line 86) | class GroupParams
method biginteger (line 96) | biginteger getQ() { return q; }
class DlogGroup (line 122) | class DlogGroup
class GroupElementsExponentiations (line 153) | class GroupElementsExponentiations {
method getGenerator (line 221) | shared_ptr<GroupElement> getGenerator() { return generator; }
method getGroupParams (line 229) | shared_ptr<GroupParams> getGroupParams() { return groupParams; }
method biginteger (line 235) | biginteger getOrder() { return groupParams->getQ(); }
method isPrimeOrder (line 256) | virtual bool isPrimeOrder() { return isPrime(getOrder()); }
method isOrderGreaterThan (line 263) | bool isOrderGreaterThan(int numBits) { return (getOrder() > boost::mul...
method endExponentiateWithPreComputedValues (line 367) | void endExponentiateWithPreComputedValues(const shared_ptr<GroupElemen...
method getMaxLengthOfByteArrayForEncoding (line 404) | virtual int getMaxLengthOfByteArrayForEncoding() {
class primeOrderSubGroup (line 420) | class primeOrderSubGroup : public virtual DlogGroup {}
class DlogZp (line 428) | class DlogZp : public DlogGroup {}
class ZpGroupParams (line 433) | class ZpGroupParams : public GroupParams{
method ZpGroupParams (line 445) | ZpGroupParams(const biginteger & q_, const biginteger & xG_, const big...
method biginteger (line 454) | biginteger getP() { return p; }
method biginteger (line 459) | biginteger getXg() { return xG; }
method string (line 461) | string toString() { return "ZpGroupParams [p=" + p.str() + ", g=" + ...
class DlogZpSafePrime (line 467) | class DlogZpSafePrime : public DlogZp {}
class ZpElement (line 472) | class ZpElement : public GroupElement {
class ZpSafePrimeElement (line 484) | class ZpSafePrimeElement : public ZpElement {
method ZpSafePrimeElement (line 507) | ZpSafePrimeElement(biginteger elementValue) { element = elementValue; }
method biginteger (line 509) | biginteger getElementValue() override { return element; }
method isIdentity (line 510) | bool isIdentity() override { return element == 1; }
class ZpElementSendableData (line 517) | class ZpElementSendableData : public GroupElementSendableData {
method ZpElementSendableData (line 522) | ZpElementSendableData(const biginteger & x_) : GroupElementSendableDat...
method biginteger (line 526) | biginteger getX() { return x; }
method string (line 527) | string toString() override { return x.str(); }
method initFromString (line 528) | void initFromString(const string & row) override { x = biginteger(row); }
class ECGroupParams (line 536) | class ECGroupParams : public GroupParams {
method ECGroupParams (line 545) | ECGroupParams(const biginteger & q, const biginteger & a, const bigint...
method biginteger (line 559) | biginteger getA() { return a; }
method biginteger (line 564) | biginteger getB() { return b; }
method biginteger (line 569) | biginteger getXg() { return xG; }
method biginteger (line 574) | biginteger getYg() { return yG; }
method biginteger (line 579) | biginteger getCofactor() { return h; }
class ECFpGroupParams (line 582) | class ECFpGroupParams : public ECGroupParams {
method ECFpGroupParams (line 586) | ECFpGroupParams(const biginteger & q, const biginteger & xG, const big...
method string (line 592) | string toString() override {
method biginteger (line 597) | biginteger getP() { return p; }
class ECF2mGroupParams (line 601) | class ECF2mGroupParams :public ECGroupParams {
method ECF2mGroupParams (line 605) | ECF2mGroupParams(const biginteger & q, const biginteger & xG, const bi...
method getM (line 611) | int getM() { return m; }
class ECF2mTrinomialBasis (line 616) | class ECF2mTrinomialBasis : public ECF2mGroupParams {
method ECF2mTrinomialBasis (line 632) | ECF2mTrinomialBasis(const biginteger & q, const biginteger & xG, const...
method getK1 (line 641) | int getK1() override { return k; }
method string (line 643) | string toString() override {
class ECF2mPentanomialBasis (line 652) | class ECF2mPentanomialBasis : public ECF2mGroupParams {
method ECF2mPentanomialBasis (line 672) | ECF2mPentanomialBasis(const biginteger & q, const biginteger & xG, con...
method getK1 (line 682) | int getK1() override { return k1; }
method getK2 (line 687) | int getK2() { return k2; }
method getK3 (line 692) | int getK3() { return k3; }
class ECF2mKoblitz (line 697) | class ECF2mKoblitz : public ECF2mGroupParams {
method ECF2mKoblitz (line 709) | ECF2mKoblitz(const shared_ptr<ECF2mGroupParams> & curve, const biginte...
method getM (line 719) | int getM() { return curve->getM(); }
method getK1 (line 725) | int getK1() override { return curve->getK1(); }
method biginteger (line 742) | biginteger getSubGroupOrder() { return n; }
method getCurve (line 747) | shared_ptr<ECF2mGroupParams> getCurve() { return curve; }
class ECElement (line 752) | class ECElement : public GroupElement {
method isIdentity (line 775) | bool isIdentity() override { return isInfinity(); }
class ECElementSendableData (line 784) | class ECElementSendableData : public GroupElementSendableData {
method ECElementSendableData (line 789) | ECElementSendableData(const biginteger & x, const biginteger & y) {
method biginteger (line 794) | biginteger getX() { return x; }
method biginteger (line 795) | biginteger getY() { return y; }
class ECF2mPoint (line 801) | class ECF2mPoint : public ECElement {}
class ECFpPoint (line 803) | class ECFpPoint : ECElement {}
class DlogEllipticCurve (line 806) | class DlogEllipticCurve : public DlogGroup {
method DlogEllipticCurve (line 821) | DlogEllipticCurve(string fileName, string curveName, const shared_ptr<...
method DlogEllipticCurve (line 823) | DlogEllipticCurve(string curveName, const shared_ptr<PrgFromOpenSSLAES...
method string (line 827) | string getCurveName() { return curveName; }
method string (line 829) | string getFileName() { return fileName; }
method validateGroup (line 841) | bool validateGroup() override { return true; }
method isGenerator (line 853) | bool isGenerator() override { return true; }
method getIdentity (line 859) | shared_ptr<GroupElement> getIdentity() override { return getInfinity(); }
class DlogECFp (line 862) | class DlogECFp : public DlogEllipticCurve {}
class DlogECF2m (line 864) | class DlogECF2m : public DlogEllipticCurve {}
FILE: include/primitives/DlogOpenSSL.hpp
class OpenSSLDlogZpSafePrime (line 44) | class OpenSSLDlogZpSafePrime
method OpenSSLDlogZpSafePrime (line 100) | OpenSSLDlogZpSafePrime(string q, string g, string p) : OpenSSLDlogZpSa...
method OpenSSLDlogZpSafePrime (line 106) | OpenSSLDlogZpSafePrime(string numBits) : OpenSSLDlogZpSafePrime(stoi(n...
method string (line 108) | string getGroupType() override { return "Zp*"; }
method exponentiateWithPreComputedValues (line 116) | shared_ptr<GroupElement> exponentiateWithPreComputedValues(const share...
class OpenSSLZpSafePrimeElement (line 49) | class OpenSSLZpSafePrimeElement : public ZpSafePrimeElement {
method createOpenSSLElement (line 52) | void createOpenSSLElement() { openSSLElement = shared_ptr<BIGNUM>(bigi...
method OpenSSLZpSafePrimeElement (line 59) | OpenSSLZpSafePrimeElement(const biginteger & x, const biginteger & p, ...
method OpenSSLZpSafePrimeElement (line 65) | OpenSSLZpSafePrimeElement(const biginteger & p, PrgFromOpenSSLAES* prg...
method OpenSSLZpSafePrimeElement (line 66) | OpenSSLZpSafePrimeElement(const biginteger & elementValue) : ZpSafePri...
method string (line 68) | virtual string toString() {
method getOpenSSLElement (line 71) | shared_ptr<BIGNUM> getOpenSSLElement() { return openSSLElement; }
class OpenSSLDlogZpSafePrime (line 79) | class OpenSSLDlogZpSafePrime : public DlogZpSafePrime, public DDH {
method OpenSSLDlogZpSafePrime (line 100) | OpenSSLDlogZpSafePrime(string q, string g, string p) : OpenSSLDlogZpSa...
method OpenSSLDlogZpSafePrime (line 106) | OpenSSLDlogZpSafePrime(string numBits) : OpenSSLDlogZpSafePrime(stoi(n...
method string (line 108) | string getGroupType() override { return "Zp*"; }
method exponentiateWithPreComputedValues (line 116) | shared_ptr<GroupElement> exponentiateWithPreComputedValues(const share...
class OpenSSLDlogEC (line 132) | class OpenSSLDlogEC : public DlogEllipticCurve{
method getCurve (line 138) | shared_ptr<EC_GROUP> getCurve() { return curve; }
method getCTX (line 139) | shared_ptr<BN_CTX> getCTX() { return ctx; }
method OpenSSLDlogEC (line 142) | OpenSSLDlogEC(string fileName, string curveName, const shared_ptr<PrgF...
method OpenSSLDlogEC (line 144) | OpenSSLDlogEC(string curveName, const shared_ptr<PrgFromOpenSSLAES> & ...
class OpenSSLECFpPoint (line 168) | class OpenSSLECFpPoint
class OpenSSLDlogECFp (line 173) | class OpenSSLDlogECFp : public OpenSSLDlogEC, public DDH {
method OpenSSLDlogECFp (line 188) | OpenSSLDlogECFp() : OpenSSLDlogECFp("P-192") { }
method OpenSSLDlogECFp (line 190) | OpenSSLDlogECFp(string fileName, string curveName, const shared_ptr<Pr...
method OpenSSLDlogECFp (line 192) | OpenSSLDlogECFp(string curveName, const shared_ptr<PrgFromOpenSSLAES> ...
class OpenSSLECF2mPoint (line 209) | class OpenSSLECF2mPoint
class OpenSSLDlogECF2m (line 214) | class OpenSSLDlogECF2m : public OpenSSLDlogEC, public DDH {
method OpenSSLDlogECF2m (line 225) | OpenSSLDlogECF2m() : OpenSSLDlogECF2m("K-163") {}
method OpenSSLDlogECF2m (line 227) | OpenSSLDlogECF2m(string fileName, string curveName, const shared_ptr<P...
method OpenSSLDlogECF2m (line 229) | OpenSSLDlogECF2m(string curveName, const shared_ptr<PrgFromOpenSSLAES>...
class OpenSSLPoint (line 252) | class OpenSSLPoint :public ECElement {
method getPoint (line 255) | shared_ptr<EC_POINT> getPoint() { return point; }
method biginteger (line 262) | biginteger getX() override { return x; }
method biginteger (line 263) | biginteger getY() override { return y; }
class OpenSSLECFpPoint (line 270) | class OpenSSLECFpPoint : public OpenSSLPoint {
class OpenSSLECF2mPoint (line 286) | class OpenSSLECF2mPoint : public OpenSSLPoint, public enable_shared_from...
FILE: include/primitives/Hash.hpp
class TargetCollisionResistant (line 42) | class TargetCollisionResistant : HashSecLevel {}
class CollisionResistant (line 47) | class CollisionResistant : TargetCollisionResistant {}
class CryptographicHash (line 54) | class CryptographicHas
Copy disabled (too large)
Download .json
Condensed preview — 1627 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (57,362K chars).
[
{
"path": ".dockerignore",
"chars": 471,
"preview": "# Git\r\n.git\r\n.gitignore\r\n\r\n# Docker\r\n.docker\r\n\r\n# C extensions\r\n*.so\r\n*.exe\r\n*.lib\r\n*.a\r\n*.o\r\n*.sdf\r\n\r\n# Distribution / "
},
{
"path": ".github/ISSUE_TEMPLATE/bug-report.md",
"chars": 485,
"preview": "---\nname: Bug Report\nabout: Create a report to help us improve\n\n---\n\n**Describe the bug**\nA clear and concise descriptio"
},
{
"path": ".gitignore",
"chars": 1776,
"preview": "# Compiled Object files\r\n*.slo\r\n*.lo\r\n*.o\r\n*.obj\r\n\r\n# Precompiled Headers\r\n*.gch\r\n*.pch\r\n\r\n# Compiled Dynamic libraries\r"
},
{
"path": ".travis.yml",
"chars": 627,
"preview": "language: cpp\ndist: bionic\nsudo: required\ncompiler:\n - gcc\n - clang\nos:\n - linux\n\nbefore_install:\n - sudo add-apt-re"
},
{
"path": "CMakeLists.txt",
"chars": 4921,
"preview": "cmake_minimum_required(VERSION 3.5)\nproject(scapi)\n\nset(CMAKE_CXX_STANDARD 14)\nset(CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS} -"
},
{
"path": "LICENSE",
"chars": 1093,
"preview": "MIT License\n\nCopyright (c) 2018 Bar Ilan Cryptography Research Group\n\nPermission is hereby granted, free of charge, to a"
},
{
"path": "README.md",
"chars": 8313,
"preview": "# LIBSCAPI - The Secure Computation API\n\n[](h"
},
{
"path": "assets/circuits/arithmetic/StatisticCircuit/ArithmeticStatistics1PairsAnd200SamplesFor4Parties.txt",
"chars": 137013,
"preview": "6404\n4\n\n1 400\n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n37\n38"
},
{
"path": "assets/circuits/arithmetic/StatisticCircuit/inputs400.txt",
"chars": 799,
"preview": "1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n"
},
{
"path": "assets/circuits/boolean/ADD32/ADDPartyOneInputs.txt",
"chars": 64,
"preview": "0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n"
},
{
"path": "assets/circuits/boolean/ADD32/ADDPartyTwoInputs.txt",
"chars": 64,
"preview": "0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n"
},
{
"path": "assets/circuits/boolean/ADD32/multiparty/NigelAdd32.txt",
"chars": 6809,
"preview": "375 \n2\n1 32 \n\n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n\n2 32\n\n32\n33\n34\n35\n3"
},
{
"path": "assets/circuits/boolean/ADD32/twoparty/NigelAdd32.txt",
"chars": 6804,
"preview": "375 \n2\n1 32 \n\n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n\n2 32\n\n32\n33\n34\n35\n3"
},
{
"path": "assets/circuits/boolean/AES/AESPartyOneInputs.txt",
"chars": 255,
"preview": "0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n1\n0\n0\n0\n0\n0\n0\n1\n0\n0\n0\n0\n0\n0\n0\n1\n1\n0\n0\n0\n0\n0\n1\n0\n0\n0\n0\n0\n0\n0\n1\n0\n1\n0\n0\n0\n0\n0\n1\n1\n0\n0\n0\n0\n0\n"
},
{
"path": "assets/circuits/boolean/AES/AESPartyTwoInputs.txt",
"chars": 256,
"preview": "0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n1\n0\n0\n0\n1\n0\n0\n1\n0\n0\n0\n1\n0\n0\n0\n1\n1\n0\n0\n1\n1\n0\n1\n0\n0\n0\n1\n0\n0\n0\n1\n0\n1\n0\n1\n0\n1\n0\n1\n1\n0\n0\n1\n1\n0\n0\n1\n1\n1\n"
},
{
"path": "assets/circuits/boolean/AES/multiparty/NigelAes.txt",
"chars": 864204,
"preview": "33616 \n\n2\n\n1 128\n128\n129\n130\n131\n132\n133\n134\n135\n136\n137\n138\n139\n140\n141\n142\n143\n144\n145\n146\n147\n148\n149\n150\n151\n152\n153"
},
{
"path": "assets/circuits/boolean/AES/twoparty/NigelAes.txt",
"chars": 864199,
"preview": "33616 \n\n2\n\n1 128\n128\n129\n130\n131\n132\n133\n134\n135\n136\n137\n138\n139\n140\n141\n142\n143\n144\n145\n146\n147\n148\n149\n150\n151\n152\n153"
},
{
"path": "assets/circuits/boolean/MULT16/MULTPartyOneInputs.txt",
"chars": 31,
"preview": "0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0"
},
{
"path": "assets/circuits/boolean/MULT16/MULTPartyTwoInputs.txt",
"chars": 31,
"preview": "0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0"
},
{
"path": "assets/circuits/boolean/MULT16/twoparty/Mult16.txt",
"chars": 436,
"preview": "47\n2\n1 16\n\n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n\n2 16\n\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n\n16\n\n32\n33\n34\n35"
},
{
"path": "assets/circuits/boolean/SHA1/SHA1PartyOneInputs.txt",
"chars": 511,
"preview": "0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n"
},
{
"path": "assets/circuits/boolean/SHA1/SHA1PartyTwoInputs.txt",
"chars": 511,
"preview": "0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n"
},
{
"path": "assets/circuits/boolean/SHA1/multiparty/NigelSHA1.txt",
"chars": 2502564,
"preview": "106601 \n\n2\n\n1 256 \n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n"
},
{
"path": "assets/circuits/boolean/SHA1/twoparty/NigelSHA1.txt",
"chars": 2502558,
"preview": "106601 \n\n2\n\n1 256 \n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n"
},
{
"path": "assets/circuits/boolean/SHA256/SHA256PartyOneInputs.txt",
"chars": 511,
"preview": "0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n"
},
{
"path": "assets/circuits/boolean/SHA256/SHA256PartyTwoInputs.txt",
"chars": 511,
"preview": "0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n"
},
{
"path": "assets/circuits/boolean/SHA256/multiparty/NigelSHA256.txt",
"chars": 5847181,
"preview": "236112\n\n2\n\n1 256 \n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n3"
},
{
"path": "assets/circuits/boolean/SHA256/twoparty/NigelSHA256.txt",
"chars": 5847174,
"preview": "236112\n\n2\n\n1 256 \n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n3"
},
{
"path": "build_scripts/INSTALL.md",
"chars": 1260,
"preview": "# Installing libscapi\n\n### Prerequisites\n\n#### Ubuntu LTS\n- sudo apt-get update\n- sudo apt-get install -y git\n- sudo apt"
},
{
"path": "build_scripts/LICENSE.md",
"chars": 2229,
"preview": "\nCopyright (c) 2016 - LIBSCAPI.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this so"
},
{
"path": "build_scripts/build.sh",
"chars": 174,
"preview": "#$1 - tag for building the docker\nimage='scapicryptobiu/libscapi:'$1\ndockerfilePath='dockerfiles/Dockerfile'\n\ndocker bui"
},
{
"path": "build_scripts/copyright.sh",
"chars": 179,
"preview": "for i in $(find . -name '*.cpp' -o -name '*.hpp' -o -name '*.h') do\n\n# or whatever other pattern...\ndo\n echo $i\n c"
},
{
"path": "build_scripts/copyright.txt",
"chars": 1771,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "build_scripts/do",
"chars": 1771,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "build_scripts/docker_clean.sh",
"chars": 169,
"preview": "echo 'deleting all containers'\ndocker ps -a -q | xargs --no-run-if-empty docker rm -f\necho 'deleting all images'\ndocker "
},
{
"path": "build_scripts/merge_git.sh",
"chars": 274,
"preview": "#check if I'm clean\ngit pull origin master\n#change to dev branch\ngit checkout dev\n#merge with master\ngit merge master\n#c"
},
{
"path": "build_scripts/rebuild.sh",
"chars": 313,
"preview": "#$1 - tag for building the docker\n\nbuild_scripts/docker_clean.sh\n\nbase_image='scapicryptobiu/libscapi_libs':$1\nimage='sc"
},
{
"path": "build_scripts/rebuildBase.sh",
"chars": 212,
"preview": "# $1 tag for the image\n\nbuild_scripts/docker_clean.sh\n\nimage='scapicryptobiu/libscapi_base:'$1\ndockerfilePath='dockerfil"
},
{
"path": "build_scripts/rebuildLibs.sh",
"chars": 322,
"preview": "#$1 - tag for building the docker\n\nbuild_scripts/docker_clean.sh\n\nbase_image='scapicryptobiu/libscapi_base':$1\nimage='sc"
},
{
"path": "build_scripts/rebuildProtocols.sh",
"chars": 322,
"preview": "#$1 - tag for building the docker\n\nbuild_scripts/docker_clean.sh\n\nbase_image='scapicryptobiu/libscapi':$1\nimage='scapicr"
},
{
"path": "build_scripts/rebuild_docker_image.sh",
"chars": 285,
"preview": "#$1 - image name\n#$2 - docker file path\n#$3 - docker tag\n\necho 'building image' $1 'using dockerfile' $2\ndocker build --"
},
{
"path": "dockerfiles/Dockerfile",
"chars": 630,
"preview": "############################################################\n# Dockerfile to build LibScapi Container Image\n# Builds onl"
},
{
"path": "dockerfiles/DockerfileLibs",
"chars": 580,
"preview": "############################################################\n# Dockerfile to build LibScapi Libs ready for compiling lib"
},
{
"path": "dockerfiles/DockerfileProtocols",
"chars": 1021,
"preview": "\n############################################################\n# Dockerfile to build LibScapi Container Image\n# Builds on"
},
{
"path": "dockerfiles/PrerequisitesDockerfie",
"chars": 794,
"preview": "############################################################\n# Dockerfile to build and image with all libscapi prerequis"
},
{
"path": "docs/make.bat",
"chars": 816,
"preview": "@ECHO OFF\r\n\r\npushd %~dp0\r\n\r\nREM Command file for Sphinx documentation\r\n\r\nif \"%SPHINXBUILD%\" == \"\" (\r\n\tset SPHINXBUILD=sp"
},
{
"path": "docs/requirements.txt",
"chars": 134,
"preview": "Jinja2>=2.8.1\nMarkupSafe==0.23\nPygments==1.6\nSphinx==1.2.2\nbeautifulsoup4==4.3.2\ndocutils==0.12\nlxml==3.3.5\nsix==1.7.3\nw"
},
{
"path": "docs/source/circuits.rst",
"chars": 4773,
"preview": "Circuits\n========\n\nCircuits are basic building block which often use in Scapi, espacially in MPC protocols.\n\nGarbled Cir"
},
{
"path": "docs/source/communication.rst",
"chars": 8327,
"preview": "=======================\nThe Communication Layer\n=======================\n\n.. contents::\n\n----------------------\nCommunic"
},
{
"path": "docs/source/conf.py",
"chars": 4697,
"preview": "# -*- coding: utf-8 -*-\n#\n# libscapi documentation build configuration file, created by\n# sphinx-quickstart on Wed Feb 2"
},
{
"path": "docs/source/index.rst",
"chars": 825,
"preview": "Welcome to libscapi\n===================\n\nLibscapi is an open-source c++ library for implementing secure two-party and mu"
},
{
"path": "docs/source/install.rst",
"chars": 4807,
"preview": ".. _install:\n\nInstallation\n============\n\nScapi is simple enough to install, the installation varies on different operati"
},
{
"path": "docs/source/interactive_layer/commitments.rst",
"chars": 9668,
"preview": "Commitment Schemes\n==================\n\nA commitment scheme allows one to commit to a chosen value (or a chosen statement"
},
{
"path": "docs/source/interactive_layer/ot.rst",
"chars": 8256,
"preview": "Oblivious Transfer Protocols\n============================\n\nIn Oblivious Transfer, a party called **the sender** has :mat"
},
{
"path": "docs/source/interactive_layer/sigma_protocols.rst",
"chars": 11454,
"preview": "Sigma Protocols\n===============\n\n**Sigma Protocols** are a basic building block for Zero-knowledge proofs, Zero-Knowledg"
},
{
"path": "docs/source/interactive_layer/zk.rst",
"chars": 5962,
"preview": "Zero Knowledge Proofs and Zero Knowledge Proofs of Knowledge\n==========================================================="
},
{
"path": "docs/source/interactive_layer.rst",
"chars": 779,
"preview": "Layer 3: Interactive Protocols\n==============================\n\nThe Interactive Protocol layer contains interactive proto"
},
{
"path": "docs/source/intro.rst",
"chars": 5631,
"preview": "Introduction\n============\n\nLibSCAPI is an *open-source* general library tailored for **Secure Computation** implementati"
},
{
"path": "docs/source/license.rst",
"chars": 1491,
"preview": ".. _license:\n\nLicense\n=======\n\nCopyright (c) 2012 - Libscapi_.\n\n.. _Libscapi: https://github.com/cryptobiu/libscapi\n\nPer"
},
{
"path": "docs/source/mid_layer/asymmetric_enc.rst",
"chars": 22406,
"preview": "Asymmetric Encryption\n=====================\n\nAsymmetric encryption refers to a cryptographic system requiring two separa"
},
{
"path": "docs/source/mid_layer/mac.rst",
"chars": 5137,
"preview": "Message Authentication Codes\n============================\n\nIn cryptography, a Message Authentication Code (MAC) is a sho"
},
{
"path": "docs/source/mid_layer/symmetric_enc.rst",
"chars": 4589,
"preview": "Symmetric Encryption\n====================\n\nThere are three main categories of symmetric encryption:\n\n1. An encryption ba"
},
{
"path": "docs/source/mid_layer.rst",
"chars": 514,
"preview": "Layer 2: Non Interactive Protocols\n==================================\n\nThe second layer of libscapi currently includes d"
},
{
"path": "docs/source/primitives/cryptographic_hash.rst",
"chars": 3171,
"preview": "Cryptographic Hash\n==================\n\nA **cryptographic hash** function is a deterministic procedure that takes an arbi"
},
{
"path": "docs/source/primitives/dlog.rst",
"chars": 14275,
"preview": "Discrete Log Group (DLOG)\n=========================\n\nThe **discrete logarithm problem** is as follows: given a generator"
},
{
"path": "docs/source/primitives/kdf.rst",
"chars": 1571,
"preview": "Key Derivation Function (KDF)\n=============================\n\nA key derivation function (or KDF) is used to derive (close"
},
{
"path": "docs/source/primitives/pseudorandom_function.rst",
"chars": 6977,
"preview": "Pseudorandom Function (PRF)\n===========================\n\nIn cryptography, a **pseudorandom function family**, abbreviate"
},
{
"path": "docs/source/primitives/pseudorandom_generator.rst",
"chars": 3070,
"preview": "Pseudorandom Generator (PRG)\n============================\n\nA **pseudorandom generator (PRG)** is a deterministic algorit"
},
{
"path": "docs/source/primitives/pseudorandom_permutation.rst",
"chars": 3899,
"preview": "Pseudorandom Permutation (PRP)\n==============================\n\n**Pseudorandom permutations** are bijective pseudorandom "
},
{
"path": "docs/source/primitives/trapdoor_permutation.rst",
"chars": 7570,
"preview": "Trapdoor Permutation\n====================\n\nA trapdoor permutation is a bijection (1-1 and onto function) that is easy to"
},
{
"path": "docs/source/primitives.rst",
"chars": 300,
"preview": "Layer 1: Basic Primitives\n=========================\n\n.. toctree::\n :maxdepth: 2\n\n primitives/cryptographic_hash\n p"
},
{
"path": "docs/source/quickstart.rst",
"chars": 6790,
"preview": "Quickstart\n==========\n\nEager to get started? This page gives a good introduction to Libscapi. It assumes you already hav"
},
{
"path": "docs/source/security_levels.rst",
"chars": 1514,
"preview": "Security Levels\n===============\n\nIn many cases, a cryptographic primitive is not just \"secure\" or \"insecure\". Rather, it"
},
{
"path": "examples/CMakeLists.txt",
"chars": 851,
"preview": "cmake_minimum_required(VERSION 3.5)\nproject(libscapi_example)\n\nset(CMAKE_CXX_STANDARD 14)\nset(CMAKE_CXX_FLAGS \"${CMAKE_C"
},
{
"path": "examples/Comm/CommConfig.txt",
"chars": 610,
"preview": "party_1_ip = 127.0.0.1\nparty_2_ip = 127.0.0.1\nparty_1_port = 3000\nparty_2_port = 3001\nclassType = CommPartyTCPSynced\n\n[W"
},
{
"path": "examples/Comm/comm_example.cpp",
"chars": 7087,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "examples/Commitment/CommitmentConfig.txt",
"chars": 415,
"preview": "proverIp = 127.0.0.1\r\nverifierIp = 127.0.0.1\r\nproverPort = 1222\r\nverifierPort = 1223\r\n#protocolName = Peders"
},
{
"path": "examples/Commitment/CommitmentExample.cpp",
"chars": 7941,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "examples/Commitment/CommitmentExample.hpp",
"chars": 3110,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "examples/OT/OTConfig.txt",
"chars": 605,
"preview": "senderIp = 127.0.0.1\r\nreceiverIp = 127.0.0.1\r\nsenderPort = 1222\r\nreceiverPort = 1223\r\n#protocolName = SemiHo"
},
{
"path": "examples/OT/OTExample.cpp",
"chars": 9734,
"preview": "#include \"OTExample.h\"\r\n\r\nOTParams readOTConfig(string config_file) {\r\n\tConfigFile cf(config_file);\r\n\tstring senderIpStr"
},
{
"path": "examples/OT/OTExample.h",
"chars": 2771,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n*\n* Copyright (c) 2016 LIBSCAPI (http"
},
{
"path": "examples/OTExtensionBristol/OTExtensionBristolExample.cpp",
"chars": 8530,
"preview": "#ifndef _WIN32\n#include <iostream>\n#include \"../../include/interactive_mid_protocols/OTExtensionBristol.hpp\"\n\nusing name"
},
{
"path": "examples/SigmaProtocols/SigmaConfig.txt",
"chars": 1988,
"preview": "input_section = LARGE\r\nproverIp = 127.0.0.1\r\nverifierIp = 127.0.0.1\r\nproverPort = 1222\r\nverifierPort = 1223\r"
},
{
"path": "examples/SigmaProtocols/SigmaProtocolExample.cpp",
"chars": 4211,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "examples/SigmaProtocols/SigmaProtocolExample.hpp",
"chars": 9414,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "examples/Simple/simple_dlog.cpp",
"chars": 3100,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "examples/Simple/simple_gmac.cpp",
"chars": 2533,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "examples/Simple/simple_sha1.cpp",
"chars": 2365,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "examples/assets/circuits/ADD/ADDPartyOneInputs.txt",
"chars": 67,
"preview": "32\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n"
},
{
"path": "examples/assets/circuits/ADD/ADDPartyTwoInputs.txt",
"chars": 67,
"preview": "32\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n"
},
{
"path": "examples/assets/circuits/ADD/NigelAdd32.txt",
"chars": 6804,
"preview": "375 \n2\n1 32 \n\n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n\n2 32\n\n32\n33\n34\n35\n3"
},
{
"path": "examples/assets/circuits/AES/AESPartyOneInputs.txt",
"chars": 259,
"preview": "128\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n1\n0\n0\n0\n0\n0\n0\n1\n0\n0\n0\n0\n0\n0\n0\n1\n1\n0\n0\n0\n0\n0\n1\n0\n0\n0\n0\n0\n0\n0\n1\n0\n1\n0\n0\n0\n0\n0\n1\n1\n0\n0\n0\n"
},
{
"path": "examples/assets/circuits/AES/AESPartyTwoInputs.txt",
"chars": 260,
"preview": "128\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n1\n0\n0\n0\n1\n0\n0\n1\n0\n0\n0\n1\n0\n0\n0\n1\n1\n0\n0\n1\n1\n0\n1\n0\n0\n0\n1\n0\n0\n0\n1\n0\n1\n0\n1\n0\n1\n0\n1\n1\n0\n0\n1\n1\n0\n0\n1\n"
},
{
"path": "examples/assets/circuits/AES/AES_Final-2.txt",
"chars": 916442,
"preview": "33880\n2\n1 128 \n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n37\n3"
},
{
"path": "examples/assets/circuits/AES/NigelAes.txt",
"chars": 864199,
"preview": "33616 \n\n2\n\n1 128\n128\n129\n130\n131\n132\n133\n134\n135\n136\n137\n138\n139\n140\n141\n142\n143\n144\n145\n146\n147\n148\n149\n150\n151\n152\n153"
},
{
"path": "examples/assets/circuits/AESMULT/AESPartyInputs1.txt",
"chars": 259,
"preview": "128\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n1\n0\n0\n0\n0\n0\n0\n1\n0\n0\n0\n0\n0\n0\n0\n1\n1\n0\n0\n0\n0\n0\n1\n0\n0\n0\n0\n0\n0\n0\n1\n0\n1\n0\n0\n0\n0\n0\n1\n1\n0\n0\n0\n"
},
{
"path": "examples/assets/circuits/AESMULT/AESPartyOneInputs.txt",
"chars": 4357,
"preview": "2176\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0"
},
{
"path": "examples/assets/circuits/AESMULT/AESPartyOneInputs96.txt",
"chars": 24838,
"preview": "12416\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n"
},
{
"path": "examples/assets/circuits/AESMULT/AESPartyTwoInputs.txt",
"chars": 260,
"preview": "128\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n1\n0\n0\n0\n1\n0\n0\n1\n0\n0\n0\n1\n0\n0\n0\n1\n1\n0\n0\n1\n1\n0\n1\n0\n0\n0\n1\n0\n0\n0\n1\n0\n1\n0\n1\n0\n1\n0\n1\n1\n0\n0\n1\n1\n0\n0\n1\n"
},
{
"path": "examples/assets/circuits/AESMULT/AesExpandedMultPartyOneInputs.txt",
"chars": 27398,
"preview": "13696\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n"
},
{
"path": "examples/assets/circuits/AESMULT/AesExpandedPartyOneInputs.txt",
"chars": 260,
"preview": "128\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n"
},
{
"path": "examples/assets/circuits/AESMULT/AesExpandedPartyOneInputs16.txt",
"chars": 6917,
"preview": "3456\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0"
},
{
"path": "examples/assets/circuits/AESMULT/AesExpandedPartyTwoInputs.txt",
"chars": 2821,
"preview": "1408\n1\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0"
},
{
"path": "examples/assets/circuits/AESMULT/NigelAesExpanded.txt",
"chars": 712884,
"preview": "27692\n2\n\n1 128 \n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n37\n"
},
{
"path": "examples/assets/circuits/CheatingRecovery/UnlockP1Input.txt",
"chars": 3523,
"preview": "128\n2\n1 128\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n37\n38\n39\n"
},
{
"path": "examples/assets/circuits/CheatingRecovery/UnlockP1InputASha1.txt",
"chars": 7235,
"preview": "256\n2\n1 256\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n37\n38\n39\n"
},
{
"path": "examples/assets/circuits/CheatingRecovery/UnlockP1InputAdd.txt",
"chars": 776,
"preview": "32\n2\n\n1 32\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n\n2 1\n33\n\n32\n34\n35\n36\n3"
},
{
"path": "examples/assets/circuits/CheatingRecovery/UnlockP1InputSHA256.txt",
"chars": 7235,
"preview": "256\n2\n1 256\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n37\n38\n39\n"
},
{
"path": "examples/assets/circuits/CheatingRecovery/UnlockP1InputSha1.txt",
"chars": 7235,
"preview": "256\n2\n1 256\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n37\n38\n39\n"
},
{
"path": "examples/assets/circuits/SHA1/NigelSHA1.txt",
"chars": 2502558,
"preview": "106601 \n\n2\n\n1 256 \n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n"
},
{
"path": "examples/assets/circuits/SHA1/SHA1PartyOneInputs.txt",
"chars": 515,
"preview": "256\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n"
},
{
"path": "examples/assets/circuits/SHA1/SHA1PartyTwoInputs.txt",
"chars": 515,
"preview": "256\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n"
},
{
"path": "examples/assets/circuits/SHA256/NigelSHA256.txt",
"chars": 5847174,
"preview": "236112\n\n2\n\n1 256 \n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n3"
},
{
"path": "examples/assets/circuits/SHA256/SHA256PartyOneInputs.txt",
"chars": 515,
"preview": "256\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n"
},
{
"path": "examples/assets/circuits/SHA256/SHA256PartyTwoInputs.txt",
"chars": 515,
"preview": "256\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n"
},
{
"path": "examples/assets/conf/Parties0.properties",
"chars": 173,
"preview": "# A configuration file for the parties\n\nNumOfParties = 2\n\n\nIP0 = 127.0.0.1\nIP1 = 127.0.0.1\n\nPort0 = 8001\nPort1 = 8000\n\nM"
},
{
"path": "examples/assets/conf/Parties1.properties",
"chars": 173,
"preview": "# A configuration file for the parties\n\nNumOfParties = 2\n\n\nIP0 = 127.0.0.1\nIP1 = 127.0.0.1\n\nPort0 = 8000\nPort1 = 8001\n\nM"
},
{
"path": "examples/assets/ssl_keys/dh512.pem",
"chars": 245,
"preview": "-----BEGIN DH PARAMETERS-----\nMIGHAoGBAJ09+Alqlt4ZXJj0l0nmlELNrBCJAVkxYQB6nAXWjrSwsTfeU/ct7CN8\nAUtMFxO785v2358R6PpXeXQoI"
},
{
"path": "examples/assets/ssl_keys/server.crt",
"chars": 741,
"preview": "-----BEGIN CERTIFICATE-----\nMIIB9TCCAV4CCQDo+zVBh2HVHDANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQGEwJJ\nTDETMBEGA1UECAwKU29tZS1TdGF"
},
{
"path": "examples/assets/ssl_keys/server.csr",
"chars": 595,
"preview": "-----BEGIN CERTIFICATE REQUEST-----\nMIIBfjCB6AIBADA/MQswCQYDVQQGEwJJTDETMBEGA1UECAwKU29tZS1TdGF0ZTEM\nMAoGA1UECgwDQmFyMQ0"
},
{
"path": "examples/assets/ssl_keys/server.key",
"chars": 887,
"preview": "-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC6cXR3nnzhFHxImT44znUViZF58FS7xH8kbf4wzDvl9eD8Ptq4\nQVlUHrFrJDicqMMlO8dL9Td"
},
{
"path": "examples/assets/ssl_keys/server.key.secure",
"chars": 963,
"preview": "-----BEGIN RSA PRIVATE KEY-----\nProc-Type: 4,ENCRYPTED\nDEK-Info: DES-EDE3-CBC,7CE66129F66AE6C6\n\naZu6Haadolu/Da5fsMhu6l6u"
},
{
"path": "examples/examples_main.cpp",
"chars": 3079,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "examples/examples_main.hpp",
"chars": 2369,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/circuits/ArithmeticCircuit.hpp",
"chars": 2749,
"preview": "#ifndef CIRCUIT_H_\n#define CIRCUIT_H_\n\n#include \"TGate.hpp\"\n#include <vector>\n#include <string>\n\n/**\n* A software repres"
},
{
"path": "include/circuits/BooleanCircuits.hpp",
"chars": 16246,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "include/circuits/Compat.h",
"chars": 2326,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "include/circuits/Config.h",
"chars": 2498,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "include/circuits/FourToTwoGarbledBoleanCircuitNoAssumptions.h",
"chars": 5738,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/circuits/FreeXorGarbledBooleanCircuit.h",
"chars": 6165,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/circuits/GarbledBooleanCircuit.h",
"chars": 17632,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/circuits/GarbledBooleanCircuitFixedKey.h",
"chars": 7784,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/circuits/GarbledBooleanCircuitNoFixedKey.h",
"chars": 2021,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "include/circuits/GarbledBooleanCircuitNoIntrinsics.h",
"chars": 19704,
"preview": "//\n// Created by moriya on 19/10/17.\n//\n\n#ifndef SCAPI_GARBLEDBOOLEANCIRCUITNOINTRINSICS_H\n#define SCAPI_GARBLEDBOOLEANC"
},
{
"path": "include/circuits/GarbledCircuitFactory.hpp",
"chars": 2211,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "include/circuits/GarbledGate.h",
"chars": 2539,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "include/circuits/HalfGatesGarbledBoleanCircuitNoFixedKey.h",
"chars": 7254,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/circuits/HalfGatesGarbledBooleanCircuit.h",
"chars": 6887,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/circuits/RowReductionGarbledBooleanCircuit.h",
"chars": 6489,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/circuits/StandardGarbledBooleanCircuit.h",
"chars": 4939,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/circuits/TGate.hpp",
"chars": 1266,
"preview": "//\n// Created by hila on 15/09/16.\n//\n\n#ifndef TGATE_H_\n#define TGATE_H_\n\n#include <vector>\nusing namespace std;\n\n/**\n* "
},
{
"path": "include/circuits/TedKrovetzAesNiWrapperC.h",
"chars": 4486,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "include/circuits/intrinsic.h",
"chars": 2830,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "include/comm/Comm.hpp",
"chars": 7042,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/comm/CommBF.hpp",
"chars": 3694,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/comm/CommUDP.hpp",
"chars": 3060,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n*\n* Copyright (c) 2016 LIBSCAPI (http"
},
{
"path": "include/comm/MPCCommunication.hpp",
"chars": 1220,
"preview": "//\n// Created by moriya on 04/01/17.\n//\n\n#ifndef MPCCOMMUNICATION_H\n#define MPCCOMMUNICATION_H\n\n#include <fstream>\n#incl"
},
{
"path": "include/comm/MPCCommunicationBF.hpp",
"chars": 662,
"preview": "\n#pragma once\n\n#include <memory>\n\n#include \"../../include/comm/CommBF.hpp\"\n\nclass ProtocolPartyDataBF {\nprivate:\n int"
},
{
"path": "include/comm/Message.hpp",
"chars": 3103,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "include/comm/Network.h",
"chars": 1416,
"preview": "//\n// Created by roee on 1/16/19.\n//\n\n#ifndef CONNECTIONLESS_PROTOCOL_NETWORK_H\n#define CONNECTIONLESS_PROTOCOL_NETWORK_"
},
{
"path": "include/comm/PeerInfo.h",
"chars": 807,
"preview": "//\n// Created by roee on 1/16/19.\n//\n\n#ifndef CONNECTIONLESS_PROTOCOL_PEERINFO_H\n#define CONNECTIONLESS_PROTOCOL_PEERINF"
},
{
"path": "include/comm/utils.h",
"chars": 535,
"preview": "//\n// Created by roee on 1/16/19.\n//\n\n#ifndef CONNECTIONLESS_PROTOCOL_UTILS_H\n#define CONNECTIONLESS_PROTOCOL_UTILS_H\n\n#"
},
{
"path": "include/configFiles/NISTEC.txt",
"chars": 6829,
"preview": "# NIST recomended elliptic curves\r\n\r\n[P-192]\r\nP-192 = 6277101735386680763835789423207666416083908700390324961279\r\na = -3"
},
{
"path": "include/cryptoInfra/Key.hpp",
"chars": 4641,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/cryptoInfra/PlainText.hpp",
"chars": 14584,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/cryptoInfra/Protocol.hpp",
"chars": 5027,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n*\n* Copyright (c) 2016 LIBSCAPI (http"
},
{
"path": "include/cryptoInfra/SecurityLevel.hpp",
"chars": 10563,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/infra/Common.hpp",
"chars": 6738,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/infra/ConfigFile.hpp",
"chars": 2028,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "include/infra/File.hpp",
"chars": 3652,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "include/infra/Log.hpp",
"chars": 2594,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "include/infra/MathAlgorithms.hpp",
"chars": 3959,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/infra/Measurement.hpp",
"chars": 4015,
"preview": "//\n// Created by liork on 17/09/17.\n//\n\n/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
},
{
"path": "include/infra/Scanner.hpp",
"chars": 7474,
"preview": "/**\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n* \n* Copyright (c) 2016 LIBSCAPI (htt"
},
{
"path": "include/infra/aes_arm.h",
"chars": 1224,
"preview": "#include <stdio.h>\n#include <stdint.h>\n#include \"sse2neon.h\"\n\n#define INT_AS_LONGLONG(a) (((long long)a) & 0xFFFFFFFF)\n\n"
},
{
"path": "include/infra/json.hpp",
"chars": 513969,
"preview": "/*\n __ _____ _____ _____\n __| | __| | | | JSON for Modern C++\n| | |__ | | | | | | version 3.0.1\n|___"
},
{
"path": "include/infra/sse2neon.h",
"chars": 106443,
"preview": "#ifndef SSE2NEON_H\n#define SSE2NEON_H\n\n// This header file provides a simple API translation layer\n// between SSE intrin"
},
{
"path": "include/interactive_mid_protocols/CommitmentScheme.hpp",
"chars": 23303,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/CommitmentSchemeElGamal.hpp",
"chars": 22456,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/CommitmentSchemeElGamalHash.hpp",
"chars": 6368,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/CommitmentSchemeEquivocal.hpp",
"chars": 8741,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/CommitmentSchemePedersen.hpp",
"chars": 18743,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/CommitmentSchemePedersenHash.hpp",
"chars": 10149,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/CommitmentSchemePedersenTrapdoor.hpp",
"chars": 6133,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/CommitmentSchemeSimpleHash.hpp",
"chars": 12194,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n*\r\n* Copyright (c) 2016 LIBSCAPI (h"
},
{
"path": "include/interactive_mid_protocols/OT.hpp",
"chars": 15787,
"preview": "#pragma once\r\n\r\n#include \"../comm/Comm.hpp\"\r\n#include \"../primitives/Dlog.hpp\"\r\n\r\n/**\r\n* Every OT sender needs inputs du"
},
{
"path": "include/interactive_mid_protocols/OTBatch.hpp",
"chars": 14658,
"preview": "/**\r\n * %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n *\r\n * Copyright (c) 2016 LIBSCAPI"
},
{
"path": "include/interactive_mid_protocols/OTExtensionBristol.hpp",
"chars": 7396,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n*\r\n* Copyright (c) 2016 LIBSCAPI (h"
},
{
"path": "include/interactive_mid_protocols/OTExtensionEncrypto.hpp",
"chars": 4351,
"preview": "//\n// Created by liork on 03/11/2019.\n//\n\n#ifndef SCAPI_OTEXTENSIONENCRYPTO_HPP\n#define SCAPI_OTEXTENSIONENCRYPTO_HPP\n\n/"
},
{
"path": "include/interactive_mid_protocols/OTFullSimulation.hpp",
"chars": 24562,
"preview": "#pragma once\r\n#include \"OT.hpp\"\r\n#include \"../primitives/DlogOpenSSL.hpp\"\r\n#include \"../primitives/Kdf.hpp\"\r\n#include \"."
},
{
"path": "include/interactive_mid_protocols/OTFullSimulationROM.hpp",
"chars": 9702,
"preview": "#pragma once\r\n#include \"OTFullSimulation.hpp\"\r\n#include \"../primitives/RandomOracle.hpp\"\r\n\r\n/**\r\n* Concrete implementati"
},
{
"path": "include/interactive_mid_protocols/OTOneSidedSimulation.hpp",
"chars": 18745,
"preview": "#pragma once\r\n#include \"OT.hpp\"\r\n#include \"ZeroKnowledge.hpp\"\r\n#include \"SigmaProtocolDlog.hpp\"\r\n#include \"../primitives"
},
{
"path": "include/interactive_mid_protocols/OTPrivacyOnly.hpp",
"chars": 16468,
"preview": "#pragma once\r\n#include \"../primitives/Dlog.hpp\"\r\n#include \"../primitives/DlogOpenSSL.hpp\"\r\n#include \"../primitives/Prg.h"
},
{
"path": "include/interactive_mid_protocols/OTSemiHonest.hpp",
"chars": 15387,
"preview": "#pragma once\r\n\r\n#include \"OT.hpp\"\r\n#include \"../primitives/Prg.hpp\"\r\n#include \"../primitives/Dlog.hpp\"\r\n#include \"../pri"
},
{
"path": "include/interactive_mid_protocols/OTUC.hpp",
"chars": 9052,
"preview": "//\n// Created by moriya on 06/03/17.\n//\n\n#pragma once\n\n#include \"OT.hpp\"\n#include \"../cryptoInfra/SecurityLevel.hpp\"\n#in"
},
{
"path": "include/interactive_mid_protocols/RandomValue.hpp",
"chars": 2648,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/SigmaProtocol.hpp",
"chars": 16849,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/SigmaProtocolAnd.hpp",
"chars": 9225,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/SigmaProtocolCramerShoupEncryptedValue.hpp",
"chars": 15212,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/SigmaProtocolDH.hpp",
"chars": 13633,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/SigmaProtocolDHExtended.hpp",
"chars": 14300,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/SigmaProtocolDamgardJurikEncryptedValue.hpp",
"chars": 13154,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/SigmaProtocolDamgardJurikEncryptedZero.hpp",
"chars": 14387,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/SigmaProtocolDamgardJurikProduct.hpp",
"chars": 17519,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/SigmaProtocolDlog.hpp",
"chars": 10030,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/SigmaProtocolElGamalCmtKnowledge.hpp",
"chars": 12594,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/SigmaProtocolElGamalCommittedValue.hpp",
"chars": 13688,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/SigmaProtocolElGamalEncryptedValue.hpp",
"chars": 16863,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
},
{
"path": "include/interactive_mid_protocols/SigmaProtocolElGamalPrivateKey.hpp",
"chars": 10874,
"preview": "/**\r\n* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r\n* \r\n* Copyright (c) 2016 LIBSCAPI ("
}
]
// ... and 1427 more files (download for full content)
About this extraction
This page contains the full source code of the cryptobiu/libscapi GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1627 files (265.6 MB), approximately 13.8M tokens, and a symbol index with 15755 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.