#![allow(unknown_lints)]
#![allow(clippy::all)]
#![allow(unused_attributes)]
#![cfg_attr(rustfmt, rustfmt::skip)]
#![allow(box_pointers)]
#![allow(dead_code)]
#![allow(missing_docs)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(trivial_casts)]
#![allow(unused_results)]
#![allow(unused_mut)]
const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_2_0;
#[derive(PartialEq,Clone,Default,Debug)]
pub struct Ciphertext {
pub c: ::std::vec::Vec<::std::vec::Vec<u8>>,
pub seed: ::std::vec::Vec<u8>,
pub level: u32,
pub special_fields: ::protobuf::SpecialFields,
}
impl<'a> ::std::default::Default for &'a Ciphertext {
fn default() -> &'a Ciphertext {
<Ciphertext as ::protobuf::Message>::default_instance()
}
}
impl Ciphertext {
pub fn new() -> Ciphertext {
::std::default::Default::default()
}
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
let mut fields = ::std::vec::Vec::with_capacity(3);
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
"c",
|m: &Ciphertext| { &m.c },
|m: &mut Ciphertext| { &mut m.c },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"seed",
|m: &Ciphertext| { &m.seed },
|m: &mut Ciphertext| { &mut m.seed },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"level",
|m: &Ciphertext| { &m.level },
|m: &mut Ciphertext| { &mut m.level },
));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Ciphertext>(
"Ciphertext",
fields,
oneofs,
)
}
}
impl ::protobuf::Message for Ciphertext {
const NAME: &'static str = "Ciphertext";
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
10 => {
self.c.push(is.read_bytes()?);
},
18 => {
self.seed = is.read_bytes()?;
},
24 => {
self.level = is.read_uint32()?;
},
tag => {
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u64 {
let mut my_size = 0;
for value in &self.c {
my_size += ::protobuf::rt::bytes_size(1, &value);
};
if !self.seed.is_empty() {
my_size += ::protobuf::rt::bytes_size(2, &self.seed);
}
if self.level != 0 {
my_size += ::protobuf::rt::uint32_size(3, self.level);
}
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
self.special_fields.cached_size().set(my_size as u32);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
for v in &self.c {
os.write_bytes(1, &v)?;
};
if !self.seed.is_empty() {
os.write_bytes(2, &self.seed)?;
}
if self.level != 0 {
os.write_uint32(3, self.level)?;
}
os.write_unknown_fields(self.special_fields.unknown_fields())?;
::std::result::Result::Ok(())
}
fn special_fields(&self) -> &::protobuf::SpecialFields {
&self.special_fields
}
fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
&mut self.special_fields
}
fn new() -> Ciphertext {
Ciphertext::new()
}
fn clear(&mut self) {
self.c.clear();
self.seed.clear();
self.level = 0;
self.special_fields.clear();
}
fn default_instance() -> &'static Ciphertext {
static instance: Ciphertext = Ciphertext {
c: ::std::vec::Vec::new(),
seed: ::std::vec::Vec::new(),
level: 0,
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
}
}
impl ::protobuf::MessageFull for Ciphertext {
fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
descriptor.get(|| file_descriptor().message_by_package_relative_name("Ciphertext").unwrap()).clone()
}
}
impl ::std::fmt::Display for Ciphertext {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Ciphertext {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
#[derive(PartialEq,Clone,Default,Debug)]
pub struct RGSWCiphertext {
pub ksk0: ::protobuf::MessageField<KeySwitchingKey>,
pub ksk1: ::protobuf::MessageField<KeySwitchingKey>,
pub special_fields: ::protobuf::SpecialFields,
}
impl<'a> ::std::default::Default for &'a RGSWCiphertext {
fn default() -> &'a RGSWCiphertext {
<RGSWCiphertext as ::protobuf::Message>::default_instance()
}
}
impl RGSWCiphertext {
pub fn new() -> RGSWCiphertext {
::std::default::Default::default()
}
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
let mut fields = ::std::vec::Vec::with_capacity(2);
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, KeySwitchingKey>(
"ksk0",
|m: &RGSWCiphertext| { &m.ksk0 },
|m: &mut RGSWCiphertext| { &mut m.ksk0 },
));
fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, KeySwitchingKey>(
"ksk1",
|m: &RGSWCiphertext| { &m.ksk1 },
|m: &mut RGSWCiphertext| { &mut m.ksk1 },
));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<RGSWCiphertext>(
"RGSWCiphertext",
fields,
oneofs,
)
}
}
impl ::protobuf::Message for RGSWCiphertext {
const NAME: &'static str = "RGSWCiphertext";
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
10 => {
::protobuf::rt::read_singular_message_into_field(is, &mut self.ksk0)?;
},
18 => {
::protobuf::rt::read_singular_message_into_field(is, &mut self.ksk1)?;
},
tag => {
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u64 {
let mut my_size = 0;
if let Some(v) = self.ksk0.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
}
if let Some(v) = self.ksk1.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
}
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
self.special_fields.cached_size().set(my_size as u32);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
if let Some(v) = self.ksk0.as_ref() {
::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
}
if let Some(v) = self.ksk1.as_ref() {
::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
}
os.write_unknown_fields(self.special_fields.unknown_fields())?;
::std::result::Result::Ok(())
}
fn special_fields(&self) -> &::protobuf::SpecialFields {
&self.special_fields
}
fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
&mut self.special_fields
}
fn new() -> RGSWCiphertext {
RGSWCiphertext::new()
}
fn clear(&mut self) {
self.ksk0.clear();
self.ksk1.clear();
self.special_fields.clear();
}
fn default_instance() -> &'static RGSWCiphertext {
static instance: RGSWCiphertext = RGSWCiphertext {
ksk0: ::protobuf::MessageField::none(),
ksk1: ::protobuf::MessageField::none(),
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
}
}
impl ::protobuf::MessageFull for RGSWCiphertext {
fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
descriptor.get(|| file_descriptor().message_by_package_relative_name("RGSWCiphertext").unwrap()).clone()
}
}
impl ::std::fmt::Display for RGSWCiphertext {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for RGSWCiphertext {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
#[derive(PartialEq,Clone,Default,Debug)]
pub struct KeySwitchingKey {
pub c0: ::std::vec::Vec<::std::vec::Vec<u8>>,
pub c1: ::std::vec::Vec<::std::vec::Vec<u8>>,
pub seed: ::std::vec::Vec<u8>,
pub ciphertext_level: u32,
pub ksk_level: u32,
pub special_fields: ::protobuf::SpecialFields,
}
impl<'a> ::std::default::Default for &'a KeySwitchingKey {
fn default() -> &'a KeySwitchingKey {
<KeySwitchingKey as ::protobuf::Message>::default_instance()
}
}
impl KeySwitchingKey {
pub fn new() -> KeySwitchingKey {
::std::default::Default::default()
}
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
let mut fields = ::std::vec::Vec::with_capacity(5);
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
"c0",
|m: &KeySwitchingKey| { &m.c0 },
|m: &mut KeySwitchingKey| { &mut m.c0 },
));
fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
"c1",
|m: &KeySwitchingKey| { &m.c1 },
|m: &mut KeySwitchingKey| { &mut m.c1 },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"seed",
|m: &KeySwitchingKey| { &m.seed },
|m: &mut KeySwitchingKey| { &mut m.seed },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"ciphertext_level",
|m: &KeySwitchingKey| { &m.ciphertext_level },
|m: &mut KeySwitchingKey| { &mut m.ciphertext_level },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"ksk_level",
|m: &KeySwitchingKey| { &m.ksk_level },
|m: &mut KeySwitchingKey| { &mut m.ksk_level },
));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<KeySwitchingKey>(
"KeySwitchingKey",
fields,
oneofs,
)
}
}
impl ::protobuf::Message for KeySwitchingKey {
const NAME: &'static str = "KeySwitchingKey";
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
10 => {
self.c0.push(is.read_bytes()?);
},
18 => {
self.c1.push(is.read_bytes()?);
},
26 => {
self.seed = is.read_bytes()?;
},
32 => {
self.ciphertext_level = is.read_uint32()?;
},
40 => {
self.ksk_level = is.read_uint32()?;
},
tag => {
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u64 {
let mut my_size = 0;
for value in &self.c0 {
my_size += ::protobuf::rt::bytes_size(1, &value);
};
for value in &self.c1 {
my_size += ::protobuf::rt::bytes_size(2, &value);
};
if !self.seed.is_empty() {
my_size += ::protobuf::rt::bytes_size(3, &self.seed);
}
if self.ciphertext_level != 0 {
my_size += ::protobuf::rt::uint32_size(4, self.ciphertext_level);
}
if self.ksk_level != 0 {
my_size += ::protobuf::rt::uint32_size(5, self.ksk_level);
}
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
self.special_fields.cached_size().set(my_size as u32);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
for v in &self.c0 {
os.write_bytes(1, &v)?;
};
for v in &self.c1 {
os.write_bytes(2, &v)?;
};
if !self.seed.is_empty() {
os.write_bytes(3, &self.seed)?;
}
if self.ciphertext_level != 0 {
os.write_uint32(4, self.ciphertext_level)?;
}
if self.ksk_level != 0 {
os.write_uint32(5, self.ksk_level)?;
}
os.write_unknown_fields(self.special_fields.unknown_fields())?;
::std::result::Result::Ok(())
}
fn special_fields(&self) -> &::protobuf::SpecialFields {
&self.special_fields
}
fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
&mut self.special_fields
}
fn new() -> KeySwitchingKey {
KeySwitchingKey::new()
}
fn clear(&mut self) {
self.c0.clear();
self.c1.clear();
self.seed.clear();
self.ciphertext_level = 0;
self.ksk_level = 0;
self.special_fields.clear();
}
fn default_instance() -> &'static KeySwitchingKey {
static instance: KeySwitchingKey = KeySwitchingKey {
c0: ::std::vec::Vec::new(),
c1: ::std::vec::Vec::new(),
seed: ::std::vec::Vec::new(),
ciphertext_level: 0,
ksk_level: 0,
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
}
}
impl ::protobuf::MessageFull for KeySwitchingKey {
fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
descriptor.get(|| file_descriptor().message_by_package_relative_name("KeySwitchingKey").unwrap()).clone()
}
}
impl ::std::fmt::Display for KeySwitchingKey {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for KeySwitchingKey {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
#[derive(PartialEq,Clone,Default,Debug)]
pub struct RelinearizationKey {
pub ksk: ::protobuf::MessageField<KeySwitchingKey>,
pub special_fields: ::protobuf::SpecialFields,
}
impl<'a> ::std::default::Default for &'a RelinearizationKey {
fn default() -> &'a RelinearizationKey {
<RelinearizationKey as ::protobuf::Message>::default_instance()
}
}
impl RelinearizationKey {
pub fn new() -> RelinearizationKey {
::std::default::Default::default()
}
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
let mut fields = ::std::vec::Vec::with_capacity(1);
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, KeySwitchingKey>(
"ksk",
|m: &RelinearizationKey| { &m.ksk },
|m: &mut RelinearizationKey| { &mut m.ksk },
));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<RelinearizationKey>(
"RelinearizationKey",
fields,
oneofs,
)
}
}
impl ::protobuf::Message for RelinearizationKey {
const NAME: &'static str = "RelinearizationKey";
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
10 => {
::protobuf::rt::read_singular_message_into_field(is, &mut self.ksk)?;
},
tag => {
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u64 {
let mut my_size = 0;
if let Some(v) = self.ksk.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
}
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
self.special_fields.cached_size().set(my_size as u32);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
if let Some(v) = self.ksk.as_ref() {
::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
}
os.write_unknown_fields(self.special_fields.unknown_fields())?;
::std::result::Result::Ok(())
}
fn special_fields(&self) -> &::protobuf::SpecialFields {
&self.special_fields
}
fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
&mut self.special_fields
}
fn new() -> RelinearizationKey {
RelinearizationKey::new()
}
fn clear(&mut self) {
self.ksk.clear();
self.special_fields.clear();
}
fn default_instance() -> &'static RelinearizationKey {
static instance: RelinearizationKey = RelinearizationKey {
ksk: ::protobuf::MessageField::none(),
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
}
}
impl ::protobuf::MessageFull for RelinearizationKey {
fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
descriptor.get(|| file_descriptor().message_by_package_relative_name("RelinearizationKey").unwrap()).clone()
}
}
impl ::std::fmt::Display for RelinearizationKey {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for RelinearizationKey {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
#[derive(PartialEq,Clone,Default,Debug)]
pub struct GaloisKey {
pub ksk: ::protobuf::MessageField<KeySwitchingKey>,
pub exponent: u32,
pub special_fields: ::protobuf::SpecialFields,
}
impl<'a> ::std::default::Default for &'a GaloisKey {
fn default() -> &'a GaloisKey {
<GaloisKey as ::protobuf::Message>::default_instance()
}
}
impl GaloisKey {
pub fn new() -> GaloisKey {
::std::default::Default::default()
}
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
let mut fields = ::std::vec::Vec::with_capacity(2);
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, KeySwitchingKey>(
"ksk",
|m: &GaloisKey| { &m.ksk },
|m: &mut GaloisKey| { &mut m.ksk },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"exponent",
|m: &GaloisKey| { &m.exponent },
|m: &mut GaloisKey| { &mut m.exponent },
));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<GaloisKey>(
"GaloisKey",
fields,
oneofs,
)
}
}
impl ::protobuf::Message for GaloisKey {
const NAME: &'static str = "GaloisKey";
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
10 => {
::protobuf::rt::read_singular_message_into_field(is, &mut self.ksk)?;
},
16 => {
self.exponent = is.read_uint32()?;
},
tag => {
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u64 {
let mut my_size = 0;
if let Some(v) = self.ksk.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
}
if self.exponent != 0 {
my_size += ::protobuf::rt::uint32_size(2, self.exponent);
}
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
self.special_fields.cached_size().set(my_size as u32);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
if let Some(v) = self.ksk.as_ref() {
::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
}
if self.exponent != 0 {
os.write_uint32(2, self.exponent)?;
}
os.write_unknown_fields(self.special_fields.unknown_fields())?;
::std::result::Result::Ok(())
}
fn special_fields(&self) -> &::protobuf::SpecialFields {
&self.special_fields
}
fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
&mut self.special_fields
}
fn new() -> GaloisKey {
GaloisKey::new()
}
fn clear(&mut self) {
self.ksk.clear();
self.exponent = 0;
self.special_fields.clear();
}
fn default_instance() -> &'static GaloisKey {
static instance: GaloisKey = GaloisKey {
ksk: ::protobuf::MessageField::none(),
exponent: 0,
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
}
}
impl ::protobuf::MessageFull for GaloisKey {
fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
descriptor.get(|| file_descriptor().message_by_package_relative_name("GaloisKey").unwrap()).clone()
}
}
impl ::std::fmt::Display for GaloisKey {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for GaloisKey {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
#[derive(PartialEq,Clone,Default,Debug)]
pub struct EvaluationKey {
pub gk: ::std::vec::Vec<GaloisKey>,
pub ciphertext_level: u32,
pub evaluation_key_level: u32,
pub special_fields: ::protobuf::SpecialFields,
}
impl<'a> ::std::default::Default for &'a EvaluationKey {
fn default() -> &'a EvaluationKey {
<EvaluationKey as ::protobuf::Message>::default_instance()
}
}
impl EvaluationKey {
pub fn new() -> EvaluationKey {
::std::default::Default::default()
}
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
let mut fields = ::std::vec::Vec::with_capacity(3);
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
"gk",
|m: &EvaluationKey| { &m.gk },
|m: &mut EvaluationKey| { &mut m.gk },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"ciphertext_level",
|m: &EvaluationKey| { &m.ciphertext_level },
|m: &mut EvaluationKey| { &mut m.ciphertext_level },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"evaluation_key_level",
|m: &EvaluationKey| { &m.evaluation_key_level },
|m: &mut EvaluationKey| { &mut m.evaluation_key_level },
));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<EvaluationKey>(
"EvaluationKey",
fields,
oneofs,
)
}
}
impl ::protobuf::Message for EvaluationKey {
const NAME: &'static str = "EvaluationKey";
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
18 => {
self.gk.push(is.read_message()?);
},
24 => {
self.ciphertext_level = is.read_uint32()?;
},
32 => {
self.evaluation_key_level = is.read_uint32()?;
},
tag => {
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u64 {
let mut my_size = 0;
for value in &self.gk {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
};
if self.ciphertext_level != 0 {
my_size += ::protobuf::rt::uint32_size(3, self.ciphertext_level);
}
if self.evaluation_key_level != 0 {
my_size += ::protobuf::rt::uint32_size(4, self.evaluation_key_level);
}
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
self.special_fields.cached_size().set(my_size as u32);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
for v in &self.gk {
::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
};
if self.ciphertext_level != 0 {
os.write_uint32(3, self.ciphertext_level)?;
}
if self.evaluation_key_level != 0 {
os.write_uint32(4, self.evaluation_key_level)?;
}
os.write_unknown_fields(self.special_fields.unknown_fields())?;
::std::result::Result::Ok(())
}
fn special_fields(&self) -> &::protobuf::SpecialFields {
&self.special_fields
}
fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
&mut self.special_fields
}
fn new() -> EvaluationKey {
EvaluationKey::new()
}
fn clear(&mut self) {
self.gk.clear();
self.ciphertext_level = 0;
self.evaluation_key_level = 0;
self.special_fields.clear();
}
fn default_instance() -> &'static EvaluationKey {
static instance: EvaluationKey = EvaluationKey {
gk: ::std::vec::Vec::new(),
ciphertext_level: 0,
evaluation_key_level: 0,
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
}
}
impl ::protobuf::MessageFull for EvaluationKey {
fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
descriptor.get(|| file_descriptor().message_by_package_relative_name("EvaluationKey").unwrap()).clone()
}
}
impl ::std::fmt::Display for EvaluationKey {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for EvaluationKey {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
#[derive(PartialEq,Clone,Default,Debug)]
pub struct Parameters {
pub degree: u32,
pub moduli: ::std::vec::Vec<u64>,
pub plaintext: u64,
pub variance: u32,
pub special_fields: ::protobuf::SpecialFields,
}
impl<'a> ::std::default::Default for &'a Parameters {
fn default() -> &'a Parameters {
<Parameters as ::protobuf::Message>::default_instance()
}
}
impl Parameters {
pub fn new() -> Parameters {
::std::default::Default::default()
}
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
let mut fields = ::std::vec::Vec::with_capacity(4);
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"degree",
|m: &Parameters| { &m.degree },
|m: &mut Parameters| { &mut m.degree },
));
fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
"moduli",
|m: &Parameters| { &m.moduli },
|m: &mut Parameters| { &mut m.moduli },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"plaintext",
|m: &Parameters| { &m.plaintext },
|m: &mut Parameters| { &mut m.plaintext },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"variance",
|m: &Parameters| { &m.variance },
|m: &mut Parameters| { &mut m.variance },
));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Parameters>(
"Parameters",
fields,
oneofs,
)
}
}
impl ::protobuf::Message for Parameters {
const NAME: &'static str = "Parameters";
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
8 => {
self.degree = is.read_uint32()?;
},
18 => {
is.read_repeated_packed_uint64_into(&mut self.moduli)?;
},
16 => {
self.moduli.push(is.read_uint64()?);
},
24 => {
self.plaintext = is.read_uint64()?;
},
32 => {
self.variance = is.read_uint32()?;
},
tag => {
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u64 {
let mut my_size = 0;
if self.degree != 0 {
my_size += ::protobuf::rt::uint32_size(1, self.degree);
}
for value in &self.moduli {
my_size += ::protobuf::rt::uint64_size(2, *value);
};
if self.plaintext != 0 {
my_size += ::protobuf::rt::uint64_size(3, self.plaintext);
}
if self.variance != 0 {
my_size += ::protobuf::rt::uint32_size(4, self.variance);
}
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
self.special_fields.cached_size().set(my_size as u32);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
if self.degree != 0 {
os.write_uint32(1, self.degree)?;
}
for v in &self.moduli {
os.write_uint64(2, *v)?;
};
if self.plaintext != 0 {
os.write_uint64(3, self.plaintext)?;
}
if self.variance != 0 {
os.write_uint32(4, self.variance)?;
}
os.write_unknown_fields(self.special_fields.unknown_fields())?;
::std::result::Result::Ok(())
}
fn special_fields(&self) -> &::protobuf::SpecialFields {
&self.special_fields
}
fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
&mut self.special_fields
}
fn new() -> Parameters {
Parameters::new()
}
fn clear(&mut self) {
self.degree = 0;
self.moduli.clear();
self.plaintext = 0;
self.variance = 0;
self.special_fields.clear();
}
fn default_instance() -> &'static Parameters {
static instance: Parameters = Parameters {
degree: 0,
moduli: ::std::vec::Vec::new(),
plaintext: 0,
variance: 0,
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
}
}
impl ::protobuf::MessageFull for Parameters {
fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
descriptor.get(|| file_descriptor().message_by_package_relative_name("Parameters").unwrap()).clone()
}
}
impl ::std::fmt::Display for Parameters {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Parameters {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
#[derive(PartialEq,Clone,Default,Debug)]
pub struct PublicKey {
pub c: ::protobuf::MessageField<Ciphertext>,
pub special_fields: ::protobuf::SpecialFields,
}
impl<'a> ::std::default::Default for &'a PublicKey {
fn default() -> &'a PublicKey {
<PublicKey as ::protobuf::Message>::default_instance()
}
}
impl PublicKey {
pub fn new() -> PublicKey {
::std::default::Default::default()
}
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
let mut fields = ::std::vec::Vec::with_capacity(1);
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, Ciphertext>(
"c",
|m: &PublicKey| { &m.c },
|m: &mut PublicKey| { &mut m.c },
));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<PublicKey>(
"PublicKey",
fields,
oneofs,
)
}
}
impl ::protobuf::Message for PublicKey {
const NAME: &'static str = "PublicKey";
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
10 => {
::protobuf::rt::read_singular_message_into_field(is, &mut self.c)?;
},
tag => {
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u64 {
let mut my_size = 0;
if let Some(v) = self.c.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
}
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
self.special_fields.cached_size().set(my_size as u32);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
if let Some(v) = self.c.as_ref() {
::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
}
os.write_unknown_fields(self.special_fields.unknown_fields())?;
::std::result::Result::Ok(())
}
fn special_fields(&self) -> &::protobuf::SpecialFields {
&self.special_fields
}
fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
&mut self.special_fields
}
fn new() -> PublicKey {
PublicKey::new()
}
fn clear(&mut self) {
self.c.clear();
self.special_fields.clear();
}
fn default_instance() -> &'static PublicKey {
static instance: PublicKey = PublicKey {
c: ::protobuf::MessageField::none(),
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
}
}
impl ::protobuf::MessageFull for PublicKey {
fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
descriptor.get(|| file_descriptor().message_by_package_relative_name("PublicKey").unwrap()).clone()
}
}
impl ::std::fmt::Display for PublicKey {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for PublicKey {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
static file_descriptor_proto_data: &'static [u8] = b"\
\n\tbfv.proto\x12\x05fhers\"D\n\nCiphertext\x12\x0c\n\x01c\x18\x01\x20\
\x03(\x0cR\x01c\x12\x12\n\x04seed\x18\x02\x20\x01(\x0cR\x04seed\x12\x14\
\n\x05level\x18\x03\x20\x01(\rR\x05level\"h\n\x0eRGSWCiphertext\x12*\n\
\x04ksk0\x18\x01\x20\x01(\x0b2\x16.fhers.KeySwitchingKeyR\x04ksk0\x12*\n\
\x04ksk1\x18\x02\x20\x01(\x0b2\x16.fhers.KeySwitchingKeyR\x04ksk1\"\x8d\
\x01\n\x0fKeySwitchingKey\x12\x0e\n\x02c0\x18\x01\x20\x03(\x0cR\x02c0\
\x12\x0e\n\x02c1\x18\x02\x20\x03(\x0cR\x02c1\x12\x12\n\x04seed\x18\x03\
\x20\x01(\x0cR\x04seed\x12)\n\x10ciphertext_level\x18\x04\x20\x01(\rR\
\x0fciphertextLevel\x12\x1b\n\tksk_level\x18\x05\x20\x01(\rR\x08kskLevel\
\">\n\x12RelinearizationKey\x12(\n\x03ksk\x18\x01\x20\x01(\x0b2\x16.fher\
s.KeySwitchingKeyR\x03ksk\"Q\n\tGaloisKey\x12(\n\x03ksk\x18\x01\x20\x01(\
\x0b2\x16.fhers.KeySwitchingKeyR\x03ksk\x12\x1a\n\x08exponent\x18\x02\
\x20\x01(\rR\x08exponent\"\x8e\x01\n\rEvaluationKey\x12\x20\n\x02gk\x18\
\x02\x20\x03(\x0b2\x10.fhers.GaloisKeyR\x02gk\x12)\n\x10ciphertext_level\
\x18\x03\x20\x01(\rR\x0fciphertextLevel\x120\n\x14evaluation_key_level\
\x18\x04\x20\x01(\rR\x12evaluationKeyLevel\"v\n\nParameters\x12\x16\n\
\x06degree\x18\x01\x20\x01(\rR\x06degree\x12\x16\n\x06moduli\x18\x02\x20\
\x03(\x04R\x06moduli\x12\x1c\n\tplaintext\x18\x03\x20\x01(\x04R\tplainte\
xt\x12\x1a\n\x08variance\x18\x04\x20\x01(\rR\x08variance\",\n\tPublicKey\
\x12\x1f\n\x01c\x18\x01\x20\x01(\x0b2\x11.fhers.CiphertextR\x01cJ\xa5\
\x0b\n\x06\x12\x04\0\0/\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\
\x02\x12\x03\x02\0\x0e\n\n\n\x02\x04\0\x12\x04\x04\0\x08\x01\n\n\n\x03\
\x04\0\x01\x12\x03\x04\x08\x12\n\x0b\n\x04\x04\0\x02\0\x12\x03\x05\x04\
\x19\n\x0c\n\x05\x04\0\x02\0\x04\x12\x03\x05\x04\x0c\n\x0c\n\x05\x04\0\
\x02\0\x05\x12\x03\x05\r\x12\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x05\x13\
\x14\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x05\x17\x18\n\x0b\n\x04\x04\0\
\x02\x01\x12\x03\x06\x04\x13\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x06\
\x04\t\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x06\n\x0e\n\x0c\n\x05\x04\0\
\x02\x01\x03\x12\x03\x06\x11\x12\n\x0b\n\x04\x04\0\x02\x02\x12\x03\x07\
\x04\x15\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03\x07\x04\n\n\x0c\n\x05\x04\
\0\x02\x02\x01\x12\x03\x07\x0b\x10\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\
\x07\x13\x14\n\n\n\x02\x04\x01\x12\x04\n\0\r\x01\n\n\n\x03\x04\x01\x01\
\x12\x03\n\x08\x16\n\x0b\n\x04\x04\x01\x02\0\x12\x03\x0b\x04\x1d\n\x0c\n\
\x05\x04\x01\x02\0\x06\x12\x03\x0b\x04\x13\n\x0c\n\x05\x04\x01\x02\0\x01\
\x12\x03\x0b\x14\x18\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x0b\x1b\x1c\n\
\x0b\n\x04\x04\x01\x02\x01\x12\x03\x0c\x04\x1d\n\x0c\n\x05\x04\x01\x02\
\x01\x06\x12\x03\x0c\x04\x13\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x0c\
\x14\x18\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x0c\x1b\x1c\n\n\n\x02\
\x04\x02\x12\x04\x0f\0\x15\x01\n\n\n\x03\x04\x02\x01\x12\x03\x0f\x08\x17\
\n\x0b\n\x04\x04\x02\x02\0\x12\x03\x10\x04\x1a\n\x0c\n\x05\x04\x02\x02\0\
\x04\x12\x03\x10\x04\x0c\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03\x10\r\x12\
\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03\x10\x13\x15\n\x0c\n\x05\x04\x02\
\x02\0\x03\x12\x03\x10\x18\x19\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x11\
\x04\x1a\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03\x11\x04\x0c\n\x0c\n\x05\
\x04\x02\x02\x01\x05\x12\x03\x11\r\x12\n\x0c\n\x05\x04\x02\x02\x01\x01\
\x12\x03\x11\x13\x15\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x11\x18\x19\
\n\x0b\n\x04\x04\x02\x02\x02\x12\x03\x12\x04\x13\n\x0c\n\x05\x04\x02\x02\
\x02\x05\x12\x03\x12\x04\t\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03\x12\n\
\x0e\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03\x12\x11\x12\n\x0b\n\x04\x04\
\x02\x02\x03\x12\x03\x13\x04\x20\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03\
\x13\x04\n\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03\x13\x0b\x1b\n\x0c\n\
\x05\x04\x02\x02\x03\x03\x12\x03\x13\x1e\x1f\n\x0b\n\x04\x04\x02\x02\x04\
\x12\x03\x14\x04\x19\n\x0c\n\x05\x04\x02\x02\x04\x05\x12\x03\x14\x04\n\n\
\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03\x14\x0b\x14\n\x0c\n\x05\x04\x02\
\x02\x04\x03\x12\x03\x14\x17\x18\n\n\n\x02\x04\x03\x12\x04\x17\0\x19\x01\
\n\n\n\x03\x04\x03\x01\x12\x03\x17\x08\x1a\n\x0b\n\x04\x04\x03\x02\0\x12\
\x03\x18\x04\x1c\n\x0c\n\x05\x04\x03\x02\0\x06\x12\x03\x18\x04\x13\n\x0c\
\n\x05\x04\x03\x02\0\x01\x12\x03\x18\x14\x17\n\x0c\n\x05\x04\x03\x02\0\
\x03\x12\x03\x18\x1a\x1b\n\n\n\x02\x04\x04\x12\x04\x1b\0\x1e\x01\n\n\n\
\x03\x04\x04\x01\x12\x03\x1b\x08\x11\n\x0b\n\x04\x04\x04\x02\0\x12\x03\
\x1c\x04\x1c\n\x0c\n\x05\x04\x04\x02\0\x06\x12\x03\x1c\x04\x13\n\x0c\n\
\x05\x04\x04\x02\0\x01\x12\x03\x1c\x14\x17\n\x0c\n\x05\x04\x04\x02\0\x03\
\x12\x03\x1c\x1a\x1b\n\x0b\n\x04\x04\x04\x02\x01\x12\x03\x1d\x04\x18\n\
\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03\x1d\x04\n\n\x0c\n\x05\x04\x04\x02\
\x01\x01\x12\x03\x1d\x0b\x13\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03\x1d\
\x16\x17\n\n\n\x02\x04\x05\x12\x04\x20\0$\x01\n\n\n\x03\x04\x05\x01\x12\
\x03\x20\x08\x15\n\x0b\n\x04\x04\x05\x02\0\x12\x03!\x04\x1e\n\x0c\n\x05\
\x04\x05\x02\0\x04\x12\x03!\x04\x0c\n\x0c\n\x05\x04\x05\x02\0\x06\x12\
\x03!\r\x16\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03!\x17\x19\n\x0c\n\x05\
\x04\x05\x02\0\x03\x12\x03!\x1c\x1d\n\x0b\n\x04\x04\x05\x02\x01\x12\x03\
\"\x04\x20\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x03\"\x04\n\n\x0c\n\x05\
\x04\x05\x02\x01\x01\x12\x03\"\x0b\x1b\n\x0c\n\x05\x04\x05\x02\x01\x03\
\x12\x03\"\x1e\x1f\n\x0b\n\x04\x04\x05\x02\x02\x12\x03#\x04$\n\x0c\n\x05\
\x04\x05\x02\x02\x05\x12\x03#\x04\n\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\
\x03#\x0b\x1f\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03#\"#\n\n\n\x02\x04\
\x06\x12\x04&\0+\x01\n\n\n\x03\x04\x06\x01\x12\x03&\x08\x12\n\x0b\n\x04\
\x04\x06\x02\0\x12\x03'\x04\x16\n\x0c\n\x05\x04\x06\x02\0\x05\x12\x03'\
\x04\n\n\x0c\n\x05\x04\x06\x02\0\x01\x12\x03'\x0b\x11\n\x0c\n\x05\x04\
\x06\x02\0\x03\x12\x03'\x14\x15\n\x0b\n\x04\x04\x06\x02\x01\x12\x03(\x04\
\x1f\n\x0c\n\x05\x04\x06\x02\x01\x04\x12\x03(\x04\x0c\n\x0c\n\x05\x04\
\x06\x02\x01\x05\x12\x03(\r\x13\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03(\
\x14\x1a\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03(\x1d\x1e\n\x0b\n\x04\
\x04\x06\x02\x02\x12\x03)\x04\x19\n\x0c\n\x05\x04\x06\x02\x02\x05\x12\
\x03)\x04\n\n\x0c\n\x05\x04\x06\x02\x02\x01\x12\x03)\x0b\x14\n\x0c\n\x05\
\x04\x06\x02\x02\x03\x12\x03)\x17\x18\n\x0b\n\x04\x04\x06\x02\x03\x12\
\x03*\x04\x18\n\x0c\n\x05\x04\x06\x02\x03\x05\x12\x03*\x04\n\n\x0c\n\x05\
\x04\x06\x02\x03\x01\x12\x03*\x0b\x13\n\x0c\n\x05\x04\x06\x02\x03\x03\
\x12\x03*\x16\x17\n\n\n\x02\x04\x07\x12\x04-\0/\x01\n\n\n\x03\x04\x07\
\x01\x12\x03-\x08\x11\n\x0b\n\x04\x04\x07\x02\0\x12\x03.\x04\x15\n\x0c\n\
\x05\x04\x07\x02\0\x06\x12\x03.\x04\x0e\n\x0c\n\x05\x04\x07\x02\0\x01\
\x12\x03.\x0f\x10\n\x0c\n\x05\x04\x07\x02\0\x03\x12\x03.\x13\x14b\x06pro\
to3\
";
fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new();
file_descriptor_proto_lazy.get(|| {
::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
})
}
pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new();
static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
file_descriptor.get(|| {
let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
let mut deps = ::std::vec::Vec::with_capacity(0);
let mut messages = ::std::vec::Vec::with_capacity(8);
messages.push(Ciphertext::generated_message_descriptor_data());
messages.push(RGSWCiphertext::generated_message_descriptor_data());
messages.push(KeySwitchingKey::generated_message_descriptor_data());
messages.push(RelinearizationKey::generated_message_descriptor_data());
messages.push(GaloisKey::generated_message_descriptor_data());
messages.push(EvaluationKey::generated_message_descriptor_data());
messages.push(Parameters::generated_message_descriptor_data());
messages.push(PublicKey::generated_message_descriptor_data());
let mut enums = ::std::vec::Vec::with_capacity(0);
::protobuf::reflect::GeneratedFileDescriptor::new_generated(
file_descriptor_proto(),
deps,
messages,
enums,
)
});
::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor)
})
}