#![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 MatchRequest {
pub data: ::std::vec::Vec<::std::vec::Vec<u8>>,
pub path: ::std::string::String,
pub args: ::std::vec::Vec<::std::string::String>,
pub negate: bool,
pub type_: ::protobuf::EnumOrUnknown<MatchType>,
pub special_fields: ::protobuf::SpecialFields,
}
impl<'a> ::std::default::Default for &'a MatchRequest {
fn default() -> &'a MatchRequest {
<MatchRequest as ::protobuf::Message>::default_instance()
}
}
impl MatchRequest {
pub fn new() -> MatchRequest {
::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::<_, _>(
"data",
|m: &MatchRequest| { &m.data },
|m: &mut MatchRequest| { &mut m.data },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"path",
|m: &MatchRequest| { &m.path },
|m: &mut MatchRequest| { &mut m.path },
));
fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
"args",
|m: &MatchRequest| { &m.args },
|m: &mut MatchRequest| { &mut m.args },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"negate",
|m: &MatchRequest| { &m.negate },
|m: &mut MatchRequest| { &mut m.negate },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"type",
|m: &MatchRequest| { &m.type_ },
|m: &mut MatchRequest| { &mut m.type_ },
));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<MatchRequest>(
"MatchRequest",
fields,
oneofs,
)
}
}
impl ::protobuf::Message for MatchRequest {
const NAME: &'static str = "MatchRequest";
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.data.push(is.read_bytes()?);
},
18 => {
self.path = is.read_string()?;
},
26 => {
self.args.push(is.read_string()?);
},
32 => {
self.negate = is.read_bool()?;
},
40 => {
self.type_ = is.read_enum_or_unknown()?;
},
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.data {
my_size += ::protobuf::rt::bytes_size(1, &value);
};
if !self.path.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.path);
}
for value in &self.args {
my_size += ::protobuf::rt::string_size(3, &value);
};
if self.negate != false {
my_size += 1 + 1;
}
if self.type_ != ::protobuf::EnumOrUnknown::new(MatchType::MATCH_TYPE_UNKNOWN) {
my_size += ::protobuf::rt::int32_size(5, self.type_.value());
}
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.data {
os.write_bytes(1, &v)?;
};
if !self.path.is_empty() {
os.write_string(2, &self.path)?;
}
for v in &self.args {
os.write_string(3, &v)?;
};
if self.negate != false {
os.write_bool(4, self.negate)?;
}
if self.type_ != ::protobuf::EnumOrUnknown::new(MatchType::MATCH_TYPE_UNKNOWN) {
os.write_enum(5, ::protobuf::EnumOrUnknown::value(&self.type_))?;
}
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() -> MatchRequest {
MatchRequest::new()
}
fn clear(&mut self) {
self.data.clear();
self.path.clear();
self.args.clear();
self.negate = false;
self.type_ = ::protobuf::EnumOrUnknown::new(MatchType::MATCH_TYPE_UNKNOWN);
self.special_fields.clear();
}
fn default_instance() -> &'static MatchRequest {
static instance: MatchRequest = MatchRequest {
data: ::std::vec::Vec::new(),
path: ::std::string::String::new(),
args: ::std::vec::Vec::new(),
negate: false,
type_: ::protobuf::EnumOrUnknown::from_i32(0),
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
}
}
impl ::protobuf::MessageFull for MatchRequest {
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("MatchRequest").unwrap()).clone()
}
}
impl ::std::fmt::Display for MatchRequest {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for MatchRequest {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
#[derive(PartialEq,Clone,Default,Debug)]
pub struct MatchResponse {
pub is_match: bool,
pub error: ::std::string::String,
pub special_fields: ::protobuf::SpecialFields,
}
impl<'a> ::std::default::Default for &'a MatchResponse {
fn default() -> &'a MatchResponse {
<MatchResponse as ::protobuf::Message>::default_instance()
}
}
impl MatchResponse {
pub fn new() -> MatchResponse {
::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_simpler_field_accessor::<_, _>(
"is_match",
|m: &MatchResponse| { &m.is_match },
|m: &mut MatchResponse| { &mut m.is_match },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"error",
|m: &MatchResponse| { &m.error },
|m: &mut MatchResponse| { &mut m.error },
));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<MatchResponse>(
"MatchResponse",
fields,
oneofs,
)
}
}
impl ::protobuf::Message for MatchResponse {
const NAME: &'static str = "MatchResponse";
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.is_match = is.read_bool()?;
},
18 => {
self.error = is.read_string()?;
},
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.is_match != false {
my_size += 1 + 1;
}
if !self.error.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.error);
}
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.is_match != false {
os.write_bool(1, self.is_match)?;
}
if !self.error.is_empty() {
os.write_string(2, &self.error)?;
}
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() -> MatchResponse {
MatchResponse::new()
}
fn clear(&mut self) {
self.is_match = false;
self.error.clear();
self.special_fields.clear();
}
fn default_instance() -> &'static MatchResponse {
static instance: MatchResponse = MatchResponse {
is_match: false,
error: ::std::string::String::new(),
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
}
}
impl ::protobuf::MessageFull for MatchResponse {
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("MatchResponse").unwrap()).clone()
}
}
impl ::std::fmt::Display for MatchResponse {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for MatchResponse {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
pub enum MatchType {
MATCH_TYPE_UNKNOWN = 0,
MATCH_TYPE_STRING_CONTAINS_ANY = 1000,
MATCH_TYPE_STRING_CONTAINS_ALL = 1001,
MATCH_TYPE_IP_ADDRESS = 1002,
MATCH_TYPE_REGEX = 1003,
MATCH_TYPE_TIMESTAMP_RFC3339 = 1004,
MATCH_TYPE_TIMESTAMP_UNIX_NANO = 1005,
MATCH_TYPE_TIMESTAMP_UNIX = 1006,
MATCH_TYPE_BOOLEAN_TRUE = 1007,
MATCH_TYPE_BOOLEAN_FALSE = 1008,
MATCH_TYPE_IS_EMPTY = 1009,
MATCH_TYPE_HAS_FIELD = 1010,
MATCH_TYPE_VALUE_IS_TYPE = 1011,
MATCH_TYPE_PII = 2000,
MATCH_TYPE_PII_CREDIT_CARD = 2001,
MATCH_TYPE_PII_SSN = 2002,
MATCH_TYPE_PII_EMAIL = 2003,
MATCH_TYPE_PII_PHONE = 2004,
MATCH_TYPE_EQUAL_TO = 3000,
MATCH_TYPE_GREATER_THAN = 3001,
MATCH_TYPE_GREATER_EQUAL = 3002,
MATCH_TYPE_LESS_THAN = 3003,
MATCH_TYPE_LESS_EQUAL = 3004,
}
impl ::protobuf::Enum for MatchType {
const NAME: &'static str = "MatchType";
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<MatchType> {
match value {
0 => ::std::option::Option::Some(MatchType::MATCH_TYPE_UNKNOWN),
1000 => ::std::option::Option::Some(MatchType::MATCH_TYPE_STRING_CONTAINS_ANY),
1001 => ::std::option::Option::Some(MatchType::MATCH_TYPE_STRING_CONTAINS_ALL),
1002 => ::std::option::Option::Some(MatchType::MATCH_TYPE_IP_ADDRESS),
1003 => ::std::option::Option::Some(MatchType::MATCH_TYPE_REGEX),
1004 => ::std::option::Option::Some(MatchType::MATCH_TYPE_TIMESTAMP_RFC3339),
1005 => ::std::option::Option::Some(MatchType::MATCH_TYPE_TIMESTAMP_UNIX_NANO),
1006 => ::std::option::Option::Some(MatchType::MATCH_TYPE_TIMESTAMP_UNIX),
1007 => ::std::option::Option::Some(MatchType::MATCH_TYPE_BOOLEAN_TRUE),
1008 => ::std::option::Option::Some(MatchType::MATCH_TYPE_BOOLEAN_FALSE),
1009 => ::std::option::Option::Some(MatchType::MATCH_TYPE_IS_EMPTY),
1010 => ::std::option::Option::Some(MatchType::MATCH_TYPE_HAS_FIELD),
1011 => ::std::option::Option::Some(MatchType::MATCH_TYPE_VALUE_IS_TYPE),
2000 => ::std::option::Option::Some(MatchType::MATCH_TYPE_PII),
2001 => ::std::option::Option::Some(MatchType::MATCH_TYPE_PII_CREDIT_CARD),
2002 => ::std::option::Option::Some(MatchType::MATCH_TYPE_PII_SSN),
2003 => ::std::option::Option::Some(MatchType::MATCH_TYPE_PII_EMAIL),
2004 => ::std::option::Option::Some(MatchType::MATCH_TYPE_PII_PHONE),
3000 => ::std::option::Option::Some(MatchType::MATCH_TYPE_EQUAL_TO),
3001 => ::std::option::Option::Some(MatchType::MATCH_TYPE_GREATER_THAN),
3002 => ::std::option::Option::Some(MatchType::MATCH_TYPE_GREATER_EQUAL),
3003 => ::std::option::Option::Some(MatchType::MATCH_TYPE_LESS_THAN),
3004 => ::std::option::Option::Some(MatchType::MATCH_TYPE_LESS_EQUAL),
_ => ::std::option::Option::None
}
}
const VALUES: &'static [MatchType] = &[
MatchType::MATCH_TYPE_UNKNOWN,
MatchType::MATCH_TYPE_STRING_CONTAINS_ANY,
MatchType::MATCH_TYPE_STRING_CONTAINS_ALL,
MatchType::MATCH_TYPE_IP_ADDRESS,
MatchType::MATCH_TYPE_REGEX,
MatchType::MATCH_TYPE_TIMESTAMP_RFC3339,
MatchType::MATCH_TYPE_TIMESTAMP_UNIX_NANO,
MatchType::MATCH_TYPE_TIMESTAMP_UNIX,
MatchType::MATCH_TYPE_BOOLEAN_TRUE,
MatchType::MATCH_TYPE_BOOLEAN_FALSE,
MatchType::MATCH_TYPE_IS_EMPTY,
MatchType::MATCH_TYPE_HAS_FIELD,
MatchType::MATCH_TYPE_VALUE_IS_TYPE,
MatchType::MATCH_TYPE_PII,
MatchType::MATCH_TYPE_PII_CREDIT_CARD,
MatchType::MATCH_TYPE_PII_SSN,
MatchType::MATCH_TYPE_PII_EMAIL,
MatchType::MATCH_TYPE_PII_PHONE,
MatchType::MATCH_TYPE_EQUAL_TO,
MatchType::MATCH_TYPE_GREATER_THAN,
MatchType::MATCH_TYPE_GREATER_EQUAL,
MatchType::MATCH_TYPE_LESS_THAN,
MatchType::MATCH_TYPE_LESS_EQUAL,
];
}
impl ::protobuf::EnumFull for MatchType {
fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
descriptor.get(|| file_descriptor().enum_by_package_relative_name("MatchType").unwrap()).clone()
}
fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
let index = match self {
MatchType::MATCH_TYPE_UNKNOWN => 0,
MatchType::MATCH_TYPE_STRING_CONTAINS_ANY => 1,
MatchType::MATCH_TYPE_STRING_CONTAINS_ALL => 2,
MatchType::MATCH_TYPE_IP_ADDRESS => 3,
MatchType::MATCH_TYPE_REGEX => 4,
MatchType::MATCH_TYPE_TIMESTAMP_RFC3339 => 5,
MatchType::MATCH_TYPE_TIMESTAMP_UNIX_NANO => 6,
MatchType::MATCH_TYPE_TIMESTAMP_UNIX => 7,
MatchType::MATCH_TYPE_BOOLEAN_TRUE => 8,
MatchType::MATCH_TYPE_BOOLEAN_FALSE => 9,
MatchType::MATCH_TYPE_IS_EMPTY => 10,
MatchType::MATCH_TYPE_HAS_FIELD => 11,
MatchType::MATCH_TYPE_VALUE_IS_TYPE => 12,
MatchType::MATCH_TYPE_PII => 13,
MatchType::MATCH_TYPE_PII_CREDIT_CARD => 14,
MatchType::MATCH_TYPE_PII_SSN => 15,
MatchType::MATCH_TYPE_PII_EMAIL => 16,
MatchType::MATCH_TYPE_PII_PHONE => 17,
MatchType::MATCH_TYPE_EQUAL_TO => 18,
MatchType::MATCH_TYPE_GREATER_THAN => 19,
MatchType::MATCH_TYPE_GREATER_EQUAL => 20,
MatchType::MATCH_TYPE_LESS_THAN => 21,
MatchType::MATCH_TYPE_LESS_EQUAL => 22,
};
Self::enum_descriptor().value_by_index(index)
}
}
impl ::std::default::Default for MatchType {
fn default() -> Self {
MatchType::MATCH_TYPE_UNKNOWN
}
}
impl MatchType {
fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
::protobuf::reflect::GeneratedEnumDescriptorData::new::<MatchType>("MatchType")
}
}
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x13rules/matcher.proto\x12\x05rules\"\x88\x01\n\x0cMatchRequest\x12\
\x12\n\x04data\x18\x01\x20\x03(\x0cR\x04data\x12\x12\n\x04path\x18\x02\
\x20\x01(\tR\x04path\x12\x12\n\x04args\x18\x03\x20\x03(\tR\x04args\x12\
\x16\n\x06negate\x18\x04\x20\x01(\x08R\x06negate\x12$\n\x04type\x18\x05\
\x20\x01(\x0e2\x10.rules.MatchTypeR\x04type\"@\n\rMatchResponse\x12\x19\
\n\x08is_match\x18\x01\x20\x01(\x08R\x07isMatch\x12\x14\n\x05error\x18\
\x02\x20\x01(\tR\x05error*\xac\x05\n\tMatchType\x12\x16\n\x12MATCH_TYPE_\
UNKNOWN\x10\0\x12#\n\x1eMATCH_TYPE_STRING_CONTAINS_ANY\x10\xe8\x07\x12#\
\n\x1eMATCH_TYPE_STRING_CONTAINS_ALL\x10\xe9\x07\x12\x1a\n\x15MATCH_TYPE\
_IP_ADDRESS\x10\xea\x07\x12\x15\n\x10MATCH_TYPE_REGEX\x10\xeb\x07\x12!\n\
\x1cMATCH_TYPE_TIMESTAMP_RFC3339\x10\xec\x07\x12#\n\x1eMATCH_TYPE_TIMEST\
AMP_UNIX_NANO\x10\xed\x07\x12\x1e\n\x19MATCH_TYPE_TIMESTAMP_UNIX\x10\xee\
\x07\x12\x1c\n\x17MATCH_TYPE_BOOLEAN_TRUE\x10\xef\x07\x12\x1d\n\x18MATCH\
_TYPE_BOOLEAN_FALSE\x10\xf0\x07\x12\x18\n\x13MATCH_TYPE_IS_EMPTY\x10\xf1\
\x07\x12\x19\n\x14MATCH_TYPE_HAS_FIELD\x10\xf2\x07\x12\x1d\n\x18MATCH_TY\
PE_VALUE_IS_TYPE\x10\xf3\x07\x12\x13\n\x0eMATCH_TYPE_PII\x10\xd0\x0f\x12\
\x1f\n\x1aMATCH_TYPE_PII_CREDIT_CARD\x10\xd1\x0f\x12\x17\n\x12MATCH_TYPE\
_PII_SSN\x10\xd2\x0f\x12\x19\n\x14MATCH_TYPE_PII_EMAIL\x10\xd3\x0f\x12\
\x19\n\x14MATCH_TYPE_PII_PHONE\x10\xd4\x0f\x12\x18\n\x13MATCH_TYPE_EQUAL\
_TO\x10\xb8\x17\x12\x1c\n\x17MATCH_TYPE_GREATER_THAN\x10\xb9\x17\x12\x1d\
\n\x18MATCH_TYPE_GREATER_EQUAL\x10\xba\x17\x12\x19\n\x14MATCH_TYPE_LESS_\
THAN\x10\xbb\x17\x12\x1a\n\x15MATCH_TYPE_LESS_EQUAL\x10\xbc\x17B:Z8githu\
b.com/streamdal/snitch-protos/build/go/protos/rulesJ\xf3\x10\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\x08\n\x01\x08\x12\x03\x04\0O\n\t\n\x02\x08\x0b\x12\x03\x04\
\0O\n\n\n\x02\x05\0\x12\x04\x06\0.\x01\n\n\n\x03\x05\0\x01\x12\x03\x06\
\x05\x0e\n6\n\x04\x05\0\x02\0\x12\x03\x08\x02\x19\x1a)\x201000-1999\x20r\
eserved\x20for\x20core\x20match\x20types\n\n\x0c\n\x05\x05\0\x02\0\x01\
\x12\x03\x08\x02\x14\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x08\x17\x18\n\
\x0b\n\x04\x05\0\x02\x01\x12\x03\t\x02(\n\x0c\n\x05\x05\0\x02\x01\x01\
\x12\x03\t\x02\x20\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\t#'\n\x0b\n\x04\
\x05\0\x02\x02\x12\x03\n\x02(\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\n\
\x02\x20\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\n#'\n\x0b\n\x04\x05\0\x02\
\x03\x12\x03\x0b\x02\x1f\n\x0c\n\x05\x05\0\x02\x03\x01\x12\x03\x0b\x02\
\x17\n\x0c\n\x05\x05\0\x02\x03\x02\x12\x03\x0b\x1a\x1e\n\x0b\n\x04\x05\0\
\x02\x04\x12\x03\x0c\x02\x1a\n\x0c\n\x05\x05\0\x02\x04\x01\x12\x03\x0c\
\x02\x12\n\x0c\n\x05\x05\0\x02\x04\x02\x12\x03\x0c\x15\x19\n\x0b\n\x04\
\x05\0\x02\x05\x12\x03\r\x02&\n\x0c\n\x05\x05\0\x02\x05\x01\x12\x03\r\
\x02\x1e\n\x0c\n\x05\x05\0\x02\x05\x02\x12\x03\r!%\n\x0b\n\x04\x05\0\x02\
\x06\x12\x03\x0e\x02(\n\x0c\n\x05\x05\0\x02\x06\x01\x12\x03\x0e\x02\x20\
\n\x0c\n\x05\x05\0\x02\x06\x02\x12\x03\x0e#'\n\x0b\n\x04\x05\0\x02\x07\
\x12\x03\x0f\x02#\n\x0c\n\x05\x05\0\x02\x07\x01\x12\x03\x0f\x02\x1b\n\
\x0c\n\x05\x05\0\x02\x07\x02\x12\x03\x0f\x1e\"\n\x0b\n\x04\x05\0\x02\x08\
\x12\x03\x10\x02!\n\x0c\n\x05\x05\0\x02\x08\x01\x12\x03\x10\x02\x19\n\
\x0c\n\x05\x05\0\x02\x08\x02\x12\x03\x10\x1c\x20\n\x0b\n\x04\x05\0\x02\t\
\x12\x03\x11\x02\"\n\x0c\n\x05\x05\0\x02\t\x01\x12\x03\x11\x02\x1a\n\x0c\
\n\x05\x05\0\x02\t\x02\x12\x03\x11\x1d!\n\x0b\n\x04\x05\0\x02\n\x12\x03\
\x12\x02\x1d\n\x0c\n\x05\x05\0\x02\n\x01\x12\x03\x12\x02\x15\n\x0c\n\x05\
\x05\0\x02\n\x02\x12\x03\x12\x18\x1c\n.\n\x04\x05\0\x02\x0b\x12\x03\x15\
\x02\x1e\x1a!\x20TODO:\x20Implement\x20at\x20a\x20later\x20date\n\n\x0c\
\n\x05\x05\0\x02\x0b\x01\x12\x03\x15\x02\x16\n\x0c\n\x05\x05\0\x02\x0b\
\x02\x12\x03\x15\x19\x1d\n\x0b\n\x04\x05\0\x02\x0c\x12\x03\x16\x02\"\n\
\x0c\n\x05\x05\0\x02\x0c\x01\x12\x03\x16\x02\x1a\n\x0c\n\x05\x05\0\x02\
\x0c\x02\x12\x03\x16\x1d!\n\xf9\x03\n\x04\x05\0\x02\r\x12\x03!\x02\x18\
\x1a\xeb\x03\x202000-2999\x20PII\x20will\x20match\x20any\x20PII\x20we\
\x20are\x20capable\x20of\x20detecting.\n\x20The\x20more\x20specific\x20t\
ypes\x20are\x20included\x20for\x20convenience,\x20in\x20the\x20event\n\
\x20that\x20the\x20user\x20wants\x20to\x20specifically\x20match\x20them.\
\n\n\x20TODO:\x20Additional\x20PII\x20types\x20for\x20the\x20future:\x20\
address,\x20name,\x20driver's\x20license,\n\x20passport\x20ID,\x20VIN\
\x20number,\x20MAC\x20address,\x20serial\x20numbers,\x20logins,\x20passw\
ords,\n\x20vehicle\x20registration\x20number,\x20taxpayer\x20ID,\x20pati\
ent\x20ID,\x20financial\x20account\x20ID\n\x20(ie.\x20bank\x20account\
\x20number),\x20health\x20plan\x20ID,\x20certificate/license\x20number,\
\n\x20device\x20ID\n\n\x0c\n\x05\x05\0\x02\r\x01\x12\x03!\x02\x10\n\x0c\
\n\x05\x05\0\x02\r\x02\x12\x03!\x13\x17\n\x0b\n\x04\x05\0\x02\x0e\x12\
\x03\"\x02$\n\x0c\n\x05\x05\0\x02\x0e\x01\x12\x03\"\x02\x1c\n\x0c\n\x05\
\x05\0\x02\x0e\x02\x12\x03\"\x1f#\n\x0b\n\x04\x05\0\x02\x0f\x12\x03#\x02\
\x1c\n\x0c\n\x05\x05\0\x02\x0f\x01\x12\x03#\x02\x14\n\x0c\n\x05\x05\0\
\x02\x0f\x02\x12\x03#\x17\x1b\n\x0b\n\x04\x05\0\x02\x10\x12\x03$\x02\x1e\
\n\x0c\n\x05\x05\0\x02\x10\x01\x12\x03$\x02\x16\n\x0c\n\x05\x05\0\x02\
\x10\x02\x12\x03$\x19\x1d\n\x0b\n\x04\x05\0\x02\x11\x12\x03%\x02\x1e\n\
\x0c\n\x05\x05\0\x02\x11\x01\x12\x03%\x02\x16\n\x0c\n\x05\x05\0\x02\x11\
\x02\x12\x03%\x19\x1d\n[\n\x04\x05\0\x02\x12\x12\x03)\x02\x1c\x1aN\x20Lo\
gical\x20operators\x203000-3999\n\x20TODO:\x20implement\x20logical\x20op\
erators\x20at\x20some\x20point\n\n\x0c\n\x05\x05\0\x02\x12\x01\x12\x03)\
\x02\x15\n\x0c\n\x05\x05\0\x02\x12\x02\x12\x03)\x17\x1b\n\x0b\n\x04\x05\
\0\x02\x13\x12\x03*\x02!\n\x0c\n\x05\x05\0\x02\x13\x01\x12\x03*\x02\x19\
\n\x0c\n\x05\x05\0\x02\x13\x02\x12\x03*\x1c\x20\n\x0b\n\x04\x05\0\x02\
\x14\x12\x03+\x02\"\n\x0c\n\x05\x05\0\x02\x14\x01\x12\x03+\x02\x1a\n\x0c\
\n\x05\x05\0\x02\x14\x02\x12\x03+\x1d!\n\x0b\n\x04\x05\0\x02\x15\x12\x03\
,\x02\x1e\n\x0c\n\x05\x05\0\x02\x15\x01\x12\x03,\x02\x16\n\x0c\n\x05\x05\
\0\x02\x15\x02\x12\x03,\x19\x1d\n\x0b\n\x04\x05\0\x02\x16\x12\x03-\x02\
\x1f\n\x0c\n\x05\x05\0\x02\x16\x01\x12\x03-\x02\x17\n\x0c\n\x05\x05\0\
\x02\x16\x02\x12\x03-\x1a\x1e\n\n\n\x02\x04\0\x12\x040\06\x01\n\n\n\x03\
\x04\0\x01\x12\x030\x08\x14\n\x0b\n\x04\x04\0\x02\0\x12\x031\x02\x1a\n\
\x0c\n\x05\x04\0\x02\0\x04\x12\x031\x02\n\n\x0c\n\x05\x04\0\x02\0\x05\
\x12\x031\x0b\x10\n\x0c\n\x05\x04\0\x02\0\x01\x12\x031\x11\x15\n\x0c\n\
\x05\x04\0\x02\0\x03\x12\x031\x18\x19\n\x0b\n\x04\x04\0\x02\x01\x12\x032\
\x02\x12\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x032\x02\x08\n\x0c\n\x05\x04\
\0\x02\x01\x01\x12\x032\t\r\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x032\x10\
\x11\n,\n\x04\x04\0\x02\x02\x12\x033\x02\x1b\"\x1f\x20args\x20determined\
\x20by\x20match_type\n\n\x0c\n\x05\x04\0\x02\x02\x04\x12\x033\x02\n\n\
\x0c\n\x05\x04\0\x02\x02\x05\x12\x033\x0b\x11\n\x0c\n\x05\x04\0\x02\x02\
\x01\x12\x033\x12\x16\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x033\x19\x1a\n\
\x0b\n\x04\x04\0\x02\x03\x12\x034\x02\x12\n\x0c\n\x05\x04\0\x02\x03\x05\
\x12\x034\x02\x06\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x034\x07\r\n\x0c\n\
\x05\x04\0\x02\x03\x03\x12\x034\x10\x11\n\x0b\n\x04\x04\0\x02\x04\x12\
\x035\x02\x15\n\x0c\n\x05\x04\0\x02\x04\x06\x12\x035\x02\x0b\n\x0c\n\x05\
\x04\0\x02\x04\x01\x12\x035\x0c\x10\n\x0c\n\x05\x04\0\x02\x04\x03\x12\
\x035\x13\x14\n\n\n\x02\x04\x01\x12\x048\0;\x01\n\n\n\x03\x04\x01\x01\
\x12\x038\x08\x15\n\x0b\n\x04\x04\x01\x02\0\x12\x039\x02\x14\n\x0c\n\x05\
\x04\x01\x02\0\x05\x12\x039\x02\x06\n\x0c\n\x05\x04\x01\x02\0\x01\x12\
\x039\x07\x0f\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x039\x12\x13\n\x0b\n\x04\
\x04\x01\x02\x01\x12\x03:\x02\x13\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\
\x03:\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03:\t\x0e\n\x0c\n\x05\
\x04\x01\x02\x01\x03\x12\x03:\x11\x12b\x06proto3\
";
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(2);
messages.push(MatchRequest::generated_message_descriptor_data());
messages.push(MatchResponse::generated_message_descriptor_data());
let mut enums = ::std::vec::Vec::with_capacity(1);
enums.push(MatchType::generated_enum_descriptor_data());
::protobuf::reflect::GeneratedFileDescriptor::new_generated(
file_descriptor_proto(),
deps,
messages,
enums,
)
});
::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor)
})
}