Index: branches/5.3.x/units/affiliates/affiliates_config.php =================================================================== --- branches/5.3.x/units/affiliates/affiliates_config.php (revision 16132) +++ branches/5.3.x/units/affiliates/affiliates_config.php (revision 16133) @@ -1,241 +1,240 @@ 'affil', 'ItemClass' => Array ('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'), 'ListClass' => Array ('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'), 'EventHandlerClass' => Array ('class' => 'AffiliatesEventHandler', 'file' => 'affiliates_event_handler.php', 'build_event' => 'OnBuild'), 'TagProcessorClass' => Array ('class' => 'AffiliatesTagProcessor', 'file' => 'affiliates_tag_processor.php', 'build_event' => 'OnBuild'), 'AutoLoad' => true, 'Hooks' => Array ( Array ( 'Mode' => hAFTER, 'Conditional' => false, 'HookToPrefix' => 'u', 'HookToSpecial' => 'register', 'HookToEvent' => Array ('OnBeforeItemCreate', 'OnBeforeItemUpdate'), 'DoPrefix' => '', 'DoSpecial' => 'register', 'DoEvent' => 'OnValidateAffiliate', ), Array ( 'Mode' => hAFTER, 'Conditional' => false, 'HookToPrefix' => 'u', 'HookToSpecial' => 'register', 'HookToEvent' => Array ('OnCreate'), 'DoPrefix' => '', 'DoSpecial' => 'register', 'DoEvent' => 'OnRegisterAffiliate', ), Array ( 'Mode' => hAFTER, 'Conditional' => false, 'HookToPrefix' => 'adm', 'HookToSpecial' => '', 'HookToEvent' => Array ('OnStartup'), 'DoPrefix' => '', 'DoSpecial' => '', 'DoEvent' => 'OnResetStatistics', ), Array ( 'Mode' => hAFTER, 'Conditional' => false, 'HookToPrefix' => 'adm', 'HookToSpecial' => '', 'HookToEvent' => Array ('OnStartup'), 'DoPrefix' => '', 'DoSpecial' => '', 'DoEvent' => 'OnStoreAffiliate', ), ), 'AggregateTags' => Array ( Array ( 'AggregateTo' => 'u', 'AggregatedTagName' => 'IsAffiliate', 'LocalTagName' => 'User_IsAffiliate', ), Array ( 'AggregateTo' => 'u', 'AggregatedTagName' => 'AffiliateIsActive', 'LocalTagName' => 'User_AffiliateIsActive', ), Array ( 'AggregateTo' => 'u', 'AggregatedTagName' => 'AffiliateField', 'LocalTagName' => 'CurrentUserAffiliateField', ), Array ( 'AggregateTo' => 'u', 'AggregatedTagName' => 'IsAffiliateOrRegisterAsAffiliateAllowed', 'LocalTagName' => 'IsAffiliateOrRegisterAsAffiliateAllowed', ), Array ( 'AggregateTo' => 'm', 'AggregatedTagName' => 'RequireAffiliate', 'LocalTagName' => 'Main_RequireAffiliate', ), Array ( 'AggregateTo' => 'm', 'AggregatedTagName' => 'AllowAffiliateRegistration', 'LocalTagName' => 'AllowAffiliateRegistration', ), ), 'QueryString' => Array ( 1 => 'id', 2 => 'Page', 3 => 'PerPage', 4 => 'event', 5 => 'mode', ), 'IDField' => 'AffiliateId', 'StatusField' => Array ('Status'), // field, that is affected by Approve/Decline events 'TitleField' => 'UserName', 'TitlePresets' => Array ( 'default' => Array ( 'new_status_labels' => Array ('affil' => '!la_title_Adding_Affiliate!'), 'edit_status_labels' => Array ('affil' => '!la_title_Editing_Affiliate!'), 'new_titlefield' => Array ('affil' => '!la_title_New_Affiliate!'), ), 'affiliates_list' => Array ('prefixes' => Array ('affil_List'), 'format' => "!la_title_Affiliates!"), 'affiliates_edit' => Array ('prefixes' => Array ('affil'), 'format' => "#affil_status# '#affil_titlefield#' - !la_title_General!"), 'affiliate_payments' => Array ('prefixes' => Array ('affil', 'apayments_List'), 'format' => "#affil_status# '#affil_titlefield#' - !la_title_Payments!"), 'affiliates_payout' => Array ('prefixes' => Array ('affil', 'apayments'), 'format' => "!la_title_PayOut_To! '#affil_titlefield#'"), ), 'Forms' => Array ( 'registration' => Array ( 'VirtualFields' => Array ( 'TermsAccepted' => Array ( 'type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'error_msgs' => Array ('required' => '!lu_comm_MustAgreeAffiliateTermsError!'), 'required' => 1, 'default' => NULL, ), ) ), ), 'EditTabPresets' => Array ( 'Default' => Array ( 'general' => Array ('title' => 'la_tab_General', 't' => 'in-commerce/affiliate_plans/affiliates_edit', 'priority' => 1), 'payments' => Array ('title' => 'la_tab_Payments', 't' => 'in-commerce/affiliate_plans/affiliate_edit_payments', 'priority' => 2), ), ), 'PermSection' => Array ('main' => 'in-commerce:affiliates'), 'Sections' => Array ( 'in-commerce:affiliates_folder' => Array ( 'parent' => 'in-commerce', 'icon' => 'affiliates', 'label' => 'la_tab_Affiliates', 'use_parent_header' => 1, 'permissions' => Array (), 'priority' => 5, 'type' => stTREE, ), 'in-commerce:affiliates' => Array ( 'parent' => 'in-commerce:affiliates_folder', 'icon' => 'affiliates', 'label' => 'la_tab_Affiliates', 'url' => Array ('t' => 'in-commerce/affiliate_plans/affiliates_list', 'pass' => 'm'), 'permissions' => Array ('view', 'add', 'edit', 'delete', 'advanced:approve', 'advanced:decline'), 'priority' => 5.1, // ., because this section replaces parent in tree 'type' => stTAB, ), ), 'TableName' => TABLE_PREFIX.'Affiliates', 'CalculatedFields' => Array ( '' => Array ( 'UserId' => 'u.PortalUserId', 'UserName' => 'IF(u.Username = "", u.Email, u.Username)', 'PlanName' => 'ap.Name', ), ), 'ListSQLs' => Array ( '' => ' SELECT %1$s.* %2$s FROM %1$s LEFT JOIN '.TABLE_PREFIX.'Users u ON %1$s.PortalUserId = u.PortalUserId LEFT JOIN '.TABLE_PREFIX.'AffiliatePlans ap ON %1$s.AffiliatePlanId = ap.AffiliatePlanId' ), 'SubItems' => Array ('apayments'), 'ListSortings' => Array ( '' => Array ( 'Sorting' => Array ('CreatedOn' => 'desc', 'UserName' => 'asc'), ) ), 'Fields' => Array ( 'AffiliateId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), 'PortalUserId' => Array ('type' => 'int', 'unique' => Array (), 'formatter' => 'kLEFTFormatter', 'error_msgs' => Array ('invalid_option' => '!la_error_UserNotFound!', 'unique' => '!la_affiliate_already_exists!'), 'options' => Array (USER_ROOT => 'root', USER_GUEST => 'Guest'), 'left_sql' => 'SELECT %s FROM ' . TABLE_PREFIX . 'Users WHERE %s', 'left_key_field' => 'PortalUserId', 'left_title_field' => USER_TITLE_FIELD, 'required' => 1, 'default' => null), 'AffiliatePlanId' => Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options_sql' => 'SELECT Name, AffiliatePlanId FROM '.TABLE_PREFIX.'AffiliatePlans WHERE Enabled = 1 ORDER BY Name', 'option_key_field' => 'AffiliatePlanId', 'option_title_field' => 'Name', 'not_null' => 1, 'default' => 0), 'AccumulatedAmount' => Array ('type' => 'double', 'formatter' => 'kFormatter', 'format' => '%.02f', 'not_null' => '1', 'default' => '0.00'), 'AmountToPay' => Array ('type' => 'double', 'formatter' => 'kFormatter', 'format' => '%.02f', 'not_null' => '1', 'default' => '0.00'), 'LastPaymentDate' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => NULL), 'LastOrderDate' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => NULL), 'Status' => Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options'=>Array (1=>'la_Active', 2=>'la_Pending', 0=>'la_Disabled'), 'use_phrases'=>1, 'not_null' => '1', 'default' => STATUS_PENDING), 'AffiliateCode' => Array ('type' => 'string', 'not_null' => '1', 'default' => ''), 'ItemsSold' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), 'PaymentTypeId' => Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (0 => ''), 'options_sql' => 'SELECT Name, PaymentTypeId FROM '.TABLE_PREFIX.'AffiliatePaymentTypes WHERE Status = 1 ORDER BY IsPrimary DESC, Priority DESC, Name ASC', 'option_key_field' => 'PaymentTypeId', 'option_title_field' => 'Name', 'not_null' => 1, 'default' => 0), - 'SSN' => Array ('type' => 'string', 'not_null' => '1', 'default' => '', 'required' => 1), 'Comments' => Array ('type' => 'string', 'formatter' => 'kFormatter', 'using_fck' => 1, 'default' => NULL), 'CreatedOn' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => '#NOW#'), ), 'VirtualFields' => Array ( 'UserName' => Array ('type' => 'string', 'default' => ''), 'PlanName' => Array ('type' => 'string', 'default' => ''), 'UserId' => Array ('type' => 'int', 'default' => 0), ), 'Grids' => Array ( 'Default' => Array ( 'Icons' => Array ( 'default' => 'icon16_item.png', 0 => 'icon16_disabled.png', 1 => 'icon16_item.png', 2 => 'icon16_pending.png', 'module' => 'core', ), 'Fields' => Array ( 'AffiliateId' => Array ( 'title' => 'column:la_fld_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 60, ), 'UserName' => Array ( 'data_block' => 'grid_userlink_td', 'filter_block' => 'grid_like_filter'), 'PlanName' => Array ( 'title' => 'la_col_PlanName', 'filter_block' => 'grid_like_filter'), 'PaymentTypeId' => Array ( 'title' => 'column:la_fld_PaymentType', 'filter_block' => 'grid_options_filter', 'width' => 120, ), 'CreatedOn' => Array ( 'title' => 'column:la_fld_RegisteredOn', 'format' => '_regional_DateFormat', 'filter_block' => 'grid_date_range_filter', 'width' => 140, ), 'Status' => Array ( 'filter_block' => 'grid_options_filter', 'width' => 100, ), ), ), ), -); \ No newline at end of file +); Index: branches/5.3.x/admin_templates/affiliate_plans/affiliates_edit.tpl =================================================================== --- branches/5.3.x/admin_templates/affiliate_plans/affiliates_edit.tpl (revision 16132) +++ branches/5.3.x/admin_templates/affiliate_plans/affiliates_edit.tpl (revision 16133) @@ -1,102 +1,101 @@
-
:  
- \ No newline at end of file + Index: branches/5.3.x/install/install_schema.sql =================================================================== --- branches/5.3.x/install/install_schema.sql (revision 16132) +++ branches/5.3.x/install/install_schema.sql (revision 16133) @@ -1,747 +1,746 @@ CREATE TABLE Addresses ( AddressId int(11) NOT NULL auto_increment, PortalUserId int(11) NOT NULL default '0', `To` varchar(255) NOT NULL default '', Company varchar(255) NOT NULL default '', Phone varchar(255) NOT NULL default '', Fax varchar(255) NOT NULL default '', Email varchar(255) NOT NULL default '', Address1 varchar(255) NOT NULL default '', Address2 varchar(255) NOT NULL default '', City varchar(255) NOT NULL default '', State char(2) NOT NULL default '', Zip varchar(20) NOT NULL default '', Country char(3) NOT NULL default '', LastUsedAsBilling tinyint(4) unsigned NOT NULL default '0', LastUsedAsShipping tinyint(4) unsigned NOT NULL default '0', IsProfileAddress tinyint(4) NOT NULL default '0', PRIMARY KEY (AddressId), KEY PortalUserId (PortalUserId), KEY LastUsedAsBilling (LastUsedAsBilling), KEY LastUsedAsShipping (LastUsedAsShipping), KEY IsProfileAddress (IsProfileAddress) ); CREATE TABLE Currencies ( CurrencyId int(11) NOT NULL AUTO_INCREMENT, ISO char(3) NOT NULL DEFAULT '', Symbol varchar(255) DEFAULT NULL, SymbolPosition tinyint(4) DEFAULT NULL, `Name` varchar(255) NOT NULL DEFAULT '', RateToPrimary double NOT NULL DEFAULT '1', Modified int(11) DEFAULT NULL, `Status` smallint(6) NOT NULL DEFAULT '1', IsPrimary smallint(6) NOT NULL DEFAULT '0', Priority int(11) NOT NULL DEFAULT '0', PRIMARY KEY (CurrencyId), KEY Priority (Priority), KEY IsPrimary (IsPrimary), KEY Modified (Modified) ); CREATE TABLE GatewayConfigFields ( GWConfigFieldId int(11) NOT NULL AUTO_INCREMENT, SystemFieldName varchar(50) NOT NULL DEFAULT '', FieldName varchar(100) NOT NULL DEFAULT '', ElementType varchar(30) NOT NULL DEFAULT 'text', ValueList mediumtext, GatewayId int(11) NOT NULL DEFAULT '0', PRIMARY KEY (GWConfigFieldId), KEY GatewayId (GatewayId) ); CREATE TABLE GatewayConfigValues ( GWConfigValueId int(11) NOT NULL auto_increment, GWConfigFieldId int(11) NOT NULL default '0', PaymentTypeId int(11) NOT NULL default '0', Value varchar(255) default NULL, PRIMARY KEY (GWConfigValueId), KEY GWConfigFieldId (GWConfigFieldId), KEY PaymentTypeId (PaymentTypeId) ); CREATE TABLE Gateways ( GatewayId int(11) NOT NULL auto_increment, Name varchar(100) NOT NULL default '', ClassName varchar(150) NOT NULL default '', ClassFile varchar(255) NOT NULL default '', RequireCCFields tinyint(4) NOT NULL default '0', PRIMARY KEY (GatewayId) ); CREATE TABLE Manufacturers ( ManufacturerId int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(255) NOT NULL DEFAULT '', Description text, URL varchar(255) NOT NULL DEFAULT '', Logo varchar(255) NOT NULL DEFAULT '', IsPopular int(10) unsigned NOT NULL DEFAULT '0', Address1 varchar(255) DEFAULT NULL, Address2 varchar(255) DEFAULT NULL, City varchar(255) DEFAULT NULL, State varchar(50) DEFAULT NULL, Zip varchar(50) DEFAULT NULL, Country varchar(255) DEFAULT NULL, Phone varchar(50) DEFAULT NULL, Fax varchar(50) DEFAULT NULL, Email varchar(255) DEFAULT NULL, PRIMARY KEY (ManufacturerId) ); CREATE TABLE OrderItems ( OrderItemId int(11) NOT NULL AUTO_INCREMENT, OrderId int(11) NOT NULL DEFAULT '0', ProductId int(11) NOT NULL DEFAULT '0', ProductName varchar(255) NOT NULL DEFAULT '', Quantity int(11) NOT NULL DEFAULT '0', QuantityReserved int(11) DEFAULT NULL, FlatPrice decimal(10,4) NOT NULL DEFAULT '0.0000', Price decimal(10,4) NOT NULL DEFAULT '0.0000', Cost double(10,4) NOT NULL DEFAULT '0.0000', BackOrderFlag tinyint(4) DEFAULT '0', Weight double DEFAULT NULL, ShippingTypeId varchar(255) DEFAULT NULL, ItemData text, OptionsSalt bigint(11) DEFAULT '0', SplitShippingGroup int(11) NOT NULL DEFAULT '0', PackageNum int(11) NOT NULL DEFAULT '0', ReturnType tinyint(3) unsigned NOT NULL DEFAULT '0', ReturnAmount decimal(10,2) NOT NULL DEFAULT '0.00', ReturnedOn int(10) unsigned DEFAULT NULL, PRIMARY KEY (OrderItemId), KEY OrderId (OrderId), KEY ProductId (ProductId), KEY BackOrderFlag (BackOrderFlag), KEY PackageNum (PackageNum), KEY ReturnType (ReturnType), KEY ReturnedOn (ReturnedOn), KEY Quantity (Quantity), KEY QuantityReserved (QuantityReserved), KEY OptionsSalt (OptionsSalt), KEY SplitShippingGroup (SplitShippingGroup) ); CREATE TABLE Orders ( OrderId int(11) NOT NULL AUTO_INCREMENT, Number mediumint(9) NOT NULL DEFAULT '0', SubNumber smallint(6) NOT NULL DEFAULT '0', `Status` tinyint(3) unsigned NOT NULL DEFAULT '0', OnHold tinyint(3) unsigned NOT NULL DEFAULT '0', OrderDate int(10) unsigned DEFAULT NULL, PortalUserId int(11) NOT NULL DEFAULT '-1', OrderIP varchar(30) NOT NULL DEFAULT '', UserComment text, AdminComment text, BillingTo varchar(255) NOT NULL DEFAULT '', BillingCompany varchar(255) NOT NULL DEFAULT '', BillingPhone varchar(255) NOT NULL DEFAULT '', BillingFax varchar(255) NOT NULL DEFAULT '', BillingEmail varchar(255) NOT NULL DEFAULT '', BillingAddress1 varchar(255) NOT NULL DEFAULT '', BillingAddress2 varchar(255) NOT NULL DEFAULT '', BillingCity varchar(255) NOT NULL DEFAULT '', BillingState varchar(255) NOT NULL DEFAULT '', BillingZip varchar(255) NOT NULL DEFAULT '', BillingCountry varchar(255) NOT NULL DEFAULT 'USA', VAT decimal(20,4) NOT NULL DEFAULT '0.0000', VATPercent decimal(20,4) NOT NULL DEFAULT '0.0000', PaymentType tinyint(3) unsigned NOT NULL DEFAULT '0', PaymentAccount varchar(255) NOT NULL DEFAULT '', PaymentExpires int(10) unsigned DEFAULT NULL, PaymentNameOnCard varchar(255) NOT NULL DEFAULT '', PaymentCCExpDate varchar(5) NOT NULL DEFAULT '', PaymentCardType varchar(255) NOT NULL DEFAULT '', ShippingTo varchar(255) NOT NULL DEFAULT '', ShippingCompany varchar(255) NOT NULL DEFAULT '', ShippingPhone varchar(255) NOT NULL DEFAULT '', ShippingFax varchar(255) NOT NULL DEFAULT '', ShippingEmail varchar(255) NOT NULL DEFAULT '', ShippingAddress1 varchar(255) NOT NULL DEFAULT '', ShippingAddress2 varchar(255) NOT NULL DEFAULT '', ShippingCity varchar(255) NOT NULL DEFAULT '', ShippingState varchar(255) NOT NULL DEFAULT '', ShippingZip varchar(255) NOT NULL DEFAULT '', ShippingCountry varchar(255) NOT NULL DEFAULT 'USA', ShippingType int(11) NOT NULL DEFAULT '0', ShippingCost decimal(20,4) NOT NULL DEFAULT '0.0000', ShippingCustomerAccount varchar(255) NOT NULL DEFAULT '', ShippingTracking varchar(255) NOT NULL DEFAULT '', ShippingDate int(11) DEFAULT NULL, SubTotal decimal(20,4) unsigned NOT NULL DEFAULT '0.0000', ReturnTotal decimal(20,4) NOT NULL DEFAULT '0.0000', CostTotal decimal(20,4) NOT NULL DEFAULT '0.0000', OriginalAmount decimal(20,4) NOT NULL DEFAULT '0.0000', ShippingOption tinyint(4) NOT NULL DEFAULT '0', ShippingInfo text, CouponId int(11) DEFAULT NULL, CouponDiscount decimal(20,4) NOT NULL DEFAULT '0.0000', DiscountTotal decimal(10,4) NOT NULL DEFAULT '0.0000', TransactionStatus tinyint(3) unsigned NOT NULL DEFAULT '2', GWResult1 mediumtext, GWResult2 mediumtext, AffiliateId int(10) unsigned NOT NULL DEFAULT '0', VisitId int(10) unsigned NOT NULL DEFAULT '0', AffiliateCommission decimal(10,4) NOT NULL DEFAULT '0.0000', ProcessingFee decimal(20,4) DEFAULT '0.0000', InsuranceFee decimal(20,4) NOT NULL DEFAULT '0.0000', ShippingTaxable tinyint(1) NOT NULL DEFAULT '0', ProcessingTaxable tinyint(1) NOT NULL DEFAULT '0', IsRecurringBilling tinyint(4) NOT NULL DEFAULT '0', NextCharge int(10) unsigned DEFAULT NULL, GroupId int(10) unsigned NOT NULL DEFAULT '0', ChargeOnNextApprove tinyint(4) NOT NULL DEFAULT '0', ShippingGroupOption tinyint(4) NOT NULL DEFAULT '0', GiftCertificateId int(11) DEFAULT NULL, GiftCertificateDiscount decimal(20,4) NOT NULL DEFAULT '0.0000', GoogleOrderNumber bigint(20) unsigned DEFAULT NULL, VATIncluded tinyint(1) unsigned NOT NULL DEFAULT 0, PRIMARY KEY (OrderId), KEY AffiliateId (AffiliateId), KEY VisitId (VisitId), KEY GoogleOrderNumber (GoogleOrderNumber), KEY Number (Number), KEY SubNumber (SubNumber), KEY `Status` (`Status`), KEY OrderDate (OrderDate), KEY PaymentType (PaymentType), KEY CouponId (CouponId), KEY GroupId (GroupId), KEY GiftCertificateId (GiftCertificateId) ); CREATE TABLE GiftCertificates ( GiftCertificateId int(11) NOT NULL AUTO_INCREMENT, OrderId int(11) DEFAULT '0', Purchaser varchar(64) DEFAULT NULL, Recipient varchar(64) DEFAULT NULL, SendVia tinyint(1) NOT NULL DEFAULT '0', RecipientEmail varchar(64) NOT NULL DEFAULT '', RecipientFirstname varchar(128) DEFAULT NULL, RecipientLastname varchar(128) DEFAULT NULL, RecipientAddress1 varchar(255) DEFAULT NULL, RecipientAddress2 varchar(255) DEFAULT NULL, RecipientCity varchar(64) DEFAULT NULL, RecipientState varchar(32) DEFAULT NULL, RecipientZipcode varchar(32) DEFAULT NULL, RecipientCountry char(3) NOT NULL DEFAULT 'USA', RecipientPhone varchar(32) DEFAULT NULL, Message text, Amount decimal(12,2) DEFAULT '0.00', Debit decimal(12,2) DEFAULT '0.00', `Status` tinyint(1) NOT NULL DEFAULT '2', AddDate int(11) DEFAULT '0', Expiration int(11) DEFAULT NULL, `Code` varchar(255) DEFAULT NULL, PRIMARY KEY (GiftCertificateId), UNIQUE KEY `Code` (`Code`), KEY OrderId (OrderId), KEY `Status` (`Status`), KEY AddDate (AddDate) ); CREATE TABLE PaymentTypeCurrencies ( PaymentTypeCurrencyId int(11) NOT NULL auto_increment, PaymentTypeId int(11) NOT NULL default '0', CurrencyId int(11) NOT NULL default '0', PRIMARY KEY (PaymentTypeCurrencyId), KEY PaymentTypeId (PaymentTypeId), KEY CurrencyId (CurrencyId) ); CREATE TABLE PaymentTypes ( PaymentTypeId int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(100) NOT NULL DEFAULT '', l1_Description varchar(255) DEFAULT '', l2_Description varchar(255) DEFAULT '', l3_Description varchar(255) DEFAULT '', l4_Description varchar(255) DEFAULT '', l5_Description varchar(255) DEFAULT '', l1_Instructions text, l2_Instructions text, l3_Instructions text, l4_Instructions text, l5_Instructions text, AdminComments text, `Status` int(11) NOT NULL DEFAULT '0', Priority int(11) NOT NULL DEFAULT '0', IsPrimary tinyint(4) NOT NULL DEFAULT '0', BuiltIn smallint(6) NOT NULL DEFAULT '0', GatewayId int(11) NOT NULL DEFAULT '1', PlacedOrdersEdit tinyint(4) NOT NULL DEFAULT '0', ProcessingFee double NOT NULL DEFAULT '0', PortalGroups text, PRIMARY KEY (PaymentTypeId), KEY `Status` (`Status`), KEY Priority (Priority), KEY GatewayId (GatewayId), KEY BuiltIn (BuiltIn), KEY IsPrimary (IsPrimary), KEY l1_Description (l1_Description(5)), KEY l2_Description (l2_Description(5)), KEY l3_Description (l3_Description(5)), KEY l4_Description (l4_Description(5)), KEY l5_Description (l5_Description(5)), KEY l1_Instructions (l1_Instructions(5)), KEY l2_Instructions (l2_Instructions(5)), KEY l3_Instructions (l3_Instructions(5)), KEY l4_Instructions (l4_Instructions(5)), KEY l5_Instructions (l5_Instructions(5)) ); CREATE TABLE Products ( ProductId int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(255) DEFAULT '', l1_Name varchar(255) DEFAULT NULL, l2_Name varchar(255) DEFAULT NULL, l3_Name varchar(255) DEFAULT NULL, l4_Name varchar(255) DEFAULT NULL, l5_Name varchar(255) DEFAULT NULL, AutomaticFilename tinyint(3) unsigned NOT NULL DEFAULT '1', SKU varchar(255) DEFAULT NULL, `Type` tinyint(2) unsigned NOT NULL DEFAULT '1', Description text, l1_Description text, l2_Description text, l3_Description text, l4_Description text, l5_Description text, DescriptionExcerpt text, l1_DescriptionExcerpt text, l2_DescriptionExcerpt text, l3_DescriptionExcerpt text, l4_DescriptionExcerpt text, l5_DescriptionExcerpt text, Weight double(10,4) DEFAULT NULL, ManufacturerId int(11) NOT NULL DEFAULT '0', MSRP double DEFAULT NULL, BackOrder tinyint(3) unsigned NOT NULL DEFAULT '2', BackOrderDate int(11) DEFAULT NULL, CreatedOn int(10) unsigned DEFAULT NULL, Modified int(10) unsigned DEFAULT NULL, Expire int(10) unsigned DEFAULT NULL, Hits double NOT NULL DEFAULT '0', CachedRating varchar(10) NOT NULL DEFAULT '0', CachedVotesQty int(11) NOT NULL DEFAULT '0', CachedReviewsQty int(11) NOT NULL DEFAULT '0', CreatedById int(11) DEFAULT NULL, ModifiedById int(11) DEFAULT NULL, Priority int(11) NOT NULL DEFAULT '0', `Status` tinyint(4) NOT NULL DEFAULT '2', EditorsPick tinyint(4) NOT NULL DEFAULT '0', Featured tinyint(4) NOT NULL DEFAULT '0', OnSale tinyint(1) NOT NULL DEFAULT '0', ResourceId int(11) DEFAULT NULL, HotItem tinyint(4) NOT NULL DEFAULT '2', PopItem tinyint(4) NOT NULL DEFAULT '2', NewItem tinyint(4) NOT NULL DEFAULT '2', InventoryStatus tinyint(4) NOT NULL DEFAULT '0', QtyInStock int(11) NOT NULL DEFAULT '0', QtyInStockMin int(11) NOT NULL DEFAULT '0', QtyReserved int(11) NOT NULL DEFAULT '0', QtyBackOrdered int(11) NOT NULL DEFAULT '0', QtyOnOrder int(11) NOT NULL DEFAULT '0', InventoryComment text, AccessGroupId int(11) DEFAULT NULL, AccessDuration int(11) DEFAULT NULL, AccessDurationType tinyint(4) DEFAULT NULL, AccessStart int(11) DEFAULT NULL, AccessEnd int(11) DEFAULT NULL, Virtual tinyint(4) NOT NULL DEFAULT '0', ProcessingData text, PackageContent mediumtext, OptionsSelectionMode tinyint(4) DEFAULT '0', HasRequiredOptions tinyint(1) NOT NULL DEFAULT '0', IsRecurringBilling tinyint(3) unsigned NOT NULL DEFAULT '0', ShippingMode tinyint(1) NOT NULL DEFAULT '0', ShippingLimitation text, AssignedCoupon int(11) NOT NULL DEFAULT '0', MinQtyFreePromoShipping int(11) NOT NULL DEFAULT '0', MetaKeywords varchar(255) DEFAULT NULL, MetaDescription text, PRIMARY KEY (ProductId), KEY ResourceId (ResourceId), KEY Hits (Hits), KEY `Name` (`Name`), KEY EditorsPick (EditorsPick), KEY CreatedOn (CreatedOn), KEY Modified (Modified,CreatedOn), KEY `Status` (`Status`), KEY l1_Name (l1_Name), KEY Priority (Priority), KEY ManufacturerId (ManufacturerId), KEY NewItem (NewItem), KEY PopItem (PopItem), KEY HotItem (HotItem), KEY Featured (Featured), KEY OnSale (OnSale), KEY Expire (Expire), KEY Virtual (Virtual), KEY AccessGroupId (AccessGroupId) ); CREATE TABLE ProductsCouponItems ( CouponItemId int(11) NOT NULL auto_increment, CouponId int(11) default NULL, ItemResourceId int(11) default NULL, ItemType TINYINT(4) NOT NULL DEFAULT '1', PRIMARY KEY (CouponItemId), KEY DiscountId (CouponId), KEY ItemResourceId (ItemResourceId), KEY ItemType (ItemType) ); CREATE TABLE ProductsCoupons ( CouponId int(11) NOT NULL auto_increment, `Status` tinyint(4) NOT NULL default '1', Name varchar(255) default NULL, Code varchar(255) default NULL, Expiration int(11) default NULL, GroupId int(11) default NULL, `Type` tinyint(1) NOT NULL default '1', Amount double default NULL, LastUsedBy int(11) default NULL, LastUsedOn int(11) default NULL, NumberOfUses int(11) default '1', PRIMARY KEY (CouponId), KEY `Status` (`Status`), KEY Code (Code) ); CREATE TABLE ProductsDiscountItems ( DiscountItemId int(11) NOT NULL auto_increment, DiscountId int(11) default NULL, ItemResourceId int(11) default NULL, ItemType TINYINT(4) NOT NULL DEFAULT '1', PRIMARY KEY (DiscountItemId), KEY DiscountId (DiscountId), KEY ItemResourceId (ItemResourceId), KEY ItemType (ItemType) ); CREATE TABLE ProductsDiscounts ( DiscountId int(11) NOT NULL auto_increment, `Status` tinyint(4) default '2', `Name` varchar(255) default NULL, `Start` int(11) default NULL, `End` int(11) default NULL, GroupId int(11) default NULL, `Type` tinyint(1) default '1', Amount double default NULL, PRIMARY KEY (DiscountId), KEY `Status` (`Status`) ); CREATE TABLE ProductsPricing ( PriceId int(11) NOT NULL auto_increment, ProductId int(11) NOT NULL default '0', MinQty int(11) default NULL, MaxQty int(11) default NULL, Cost decimal(10,4) default NULL, Price decimal(10,4) NOT NULL default '0.0000', Negotiated tinyint(1) default NULL, Points int(11) default NULL, AccessDuration int(11) NOT NULL default '0', AccessUnit int(11) NOT NULL default '0', Description varchar(255) default NULL, IsPrimary tinyint(4) NOT NULL default '0', GroupId int(11) NOT NULL default '0', PRIMARY KEY (PriceId), KEY ProductId (ProductId), KEY GroupId (GroupId), KEY IsPrimary (IsPrimary) ); CREATE TABLE ProductFiles ( FileId int(11) NOT NULL AUTO_INCREMENT, ProductId int(11) NOT NULL DEFAULT '0', `Name` varchar(255) NOT NULL DEFAULT '', Version varchar(100) NOT NULL DEFAULT '', FilePath varchar(255) NOT NULL DEFAULT '', RealPath varchar(255) NOT NULL DEFAULT '', Size int(11) NOT NULL DEFAULT '0', `Status` tinyint(4) NOT NULL DEFAULT '0', IsPrimary tinyint(4) NOT NULL DEFAULT '0', Priority smallint(6) NOT NULL DEFAULT '0', AddedOn int(11) DEFAULT NULL, AddedById int(11) DEFAULT NULL, MIMEType varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (FileId), KEY ProductId (ProductId), KEY `Status` (`Status`), KEY IsPrimary (IsPrimary), KEY Priority (Priority), KEY AddedOn (AddedOn) ); CREATE TABLE UserFileAccess ( FileAccessId int(11) NOT NULL AUTO_INCREMENT, ProductId int(11) NOT NULL DEFAULT '0', PortalUserId int(11) NOT NULL DEFAULT '0', PRIMARY KEY (FileAccessId), KEY ProductId (ProductId), KEY PortalUserId (PortalUserId) ); CREATE TABLE UserDownloads ( DownloadId int(11) NOT NULL AUTO_INCREMENT, PortalUserId int(11) NOT NULL DEFAULT '0', Username varchar(255) NOT NULL DEFAULT '', ProductId int(11) NOT NULL DEFAULT '0', ProductName varchar(255) NOT NULL DEFAULT '', FileId int(11) NOT NULL DEFAULT '0', Filename varchar(255) NOT NULL DEFAULT '', IPAddress varchar(100) NOT NULL DEFAULT '', StartedOn int(11) DEFAULT NULL, EndedOn int(11) DEFAULT NULL, PRIMARY KEY (DownloadId), KEY PortalUserId (PortalUserId), KEY ProductId (ProductId) ); CREATE TABLE ShippingBrackets ( BracketId int(11) NOT NULL auto_increment, ShippingTypeID int(11) NOT NULL default '0', Start double NOT NULL default '0', End double NOT NULL default '0', PRIMARY KEY (BracketId), KEY ShippingTypeID (ShippingTypeID), KEY Start (Start), KEY End (End) ); CREATE TABLE ShippingCosts ( ShippingCostId int(11) NOT NULL auto_increment, ZoneID int(11) NOT NULL default '0', BracketId int(11) NOT NULL default '0', Flat decimal(10,4) default NULL, PerUnit decimal(10,4) default NULL, PRIMARY KEY (ShippingCostId), KEY ZoneID (ZoneID), KEY BracketId (BracketId) ); CREATE TABLE ShippingQuoteEngines ( EngineId int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(255) NOT NULL DEFAULT '', FlatSurcharge double NOT NULL DEFAULT '0', PercentSurcharge double NOT NULL DEFAULT '0', `Status` smallint(6) NOT NULL DEFAULT '0', Properties text, ClassName varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (EngineId), KEY `Status` (`Status`) ); CREATE TABLE ShippingType ( ShippingID int(11) NOT NULL AUTO_INCREMENT, `Code` varchar(25) NOT NULL DEFAULT '', `Name` varchar(100) NOT NULL DEFAULT '', SpeedCode varchar(25) NOT NULL DEFAULT '', LocationFrom int(11) NOT NULL DEFAULT '1', `Type` int(11) NOT NULL DEFAULT '1', BaseFee double NOT NULL DEFAULT '0', CODFlatSurcharge double NOT NULL DEFAULT '0', CODPercentSurcharge double NOT NULL DEFAULT '0', `Status` tinyint(4) NOT NULL DEFAULT '1', CostType tinyint(4) NOT NULL DEFAULT '1', ZeroIfEmpty tinyint(4) NOT NULL DEFAULT '1', PrecisionBeforeSep tinyint(4) NOT NULL DEFAULT '2', PrecisionAfterSep tinyint(4) NOT NULL DEFAULT '2', PortalGroups text, FreeShippingMinAmount double(10,4) NOT NULL DEFAULT '0.0000', IsFreePromoShipping tinyint(1) NOT NULL DEFAULT '0', InsuranceFee decimal(10,2) DEFAULT NULL, InsuranceType tinyint(1) NOT NULL DEFAULT '2', PRIMARY KEY (ShippingID), KEY `Type` (`Type`), KEY `Status` (`Status`) ); CREATE TABLE ShippingZones ( ZoneID int(11) NOT NULL auto_increment, ShippingTypeID int(11) NOT NULL default '0', Name varchar(100) NOT NULL default '', Type int(11) NOT NULL default '1', CODallowed smallint(6) NOT NULL default '1', PRIMARY KEY (ZoneID), KEY ShippingTypeID (ShippingTypeID), KEY `Type` (`Type`) ); CREATE TABLE ShippingZonesDestinations ( ZoneDestId int(11) NOT NULL auto_increment, ShippingZoneId int(11) NOT NULL default '0', StdDestId int(11) default '0', DestValue varchar(255) default NULL, PRIMARY KEY (ZoneDestId), KEY ShippingZoneId (ShippingZoneId), KEY StdDestId (StdDestId) ); CREATE TABLE TaxZones ( TaxZoneId int(11) NOT NULL auto_increment, Name varchar(100) NOT NULL default '', Type int(11) NOT NULL default '1', TaxValue double NOT NULL default '0', ApplyToShipping TINYINT( 1 ) NOT NULL DEFAULT '0', ApplyToProcessing TINYINT( 1 ) NOT NULL DEFAULT '0', PRIMARY KEY (TaxZoneId) ); CREATE TABLE TaxZonesDestinations ( TaxZoneDestId int(11) NOT NULL auto_increment, TaxZoneId int(11) NOT NULL default '0', StdDestId int(11) default '0', DestValue varchar(255) default NULL, PRIMARY KEY (TaxZoneDestId), KEY TaxZoneId (TaxZoneId), KEY StdDestId (StdDestId) ); CREATE TABLE AffiliatePayments ( AffiliatePaymentId int(11) NOT NULL AUTO_INCREMENT, AffiliateId int(10) unsigned NOT NULL DEFAULT '0', PaymentDate int(10) unsigned DEFAULT NULL, Amount decimal(10,2) NOT NULL DEFAULT '0.00', `Comment` text, PaymentReference varchar(255) NOT NULL DEFAULT '', PaymentTypeId int(11) NOT NULL DEFAULT '0', PRIMARY KEY (AffiliatePaymentId), KEY AffiliateId (AffiliateId), KEY PaymentDate (PaymentDate), KEY PaymentTypeId (PaymentTypeId) ); CREATE TABLE AffiliatePaymentTypes ( PaymentTypeId int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(255) NOT NULL DEFAULT '', Description text, IsPrimary tinyint(4) NOT NULL DEFAULT '0', `Status` tinyint(4) NOT NULL DEFAULT '0', Priority tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (PaymentTypeId), KEY IsPrimary (IsPrimary), KEY `Status` (`Status`), KEY Priority (Priority) ); CREATE TABLE AffiliatePlans ( AffiliatePlanId int(11) NOT NULL auto_increment, Name varchar(255) NOT NULL default '', PlanType tinyint(3) unsigned NOT NULL default '1', ResetInterval int(10) unsigned NOT NULL default '0', PaymentType tinyint(4) NOT NULL default '0', MinPaymentAmount varchar(255) NOT NULL default '', Enabled tinyint(4) unsigned NOT NULL default '0', IsPrimary tinyint(4) NOT NULL default '0', PRIMARY KEY (AffiliatePlanId), KEY PaymentType (PaymentType), KEY Enabled (Enabled), KEY IsPrimary (IsPrimary) ); CREATE TABLE AffiliatePlansBrackets ( AffiliateBracketId int(11) NOT NULL auto_increment, AffiliatePlanId int(11) NOT NULL default '0', FromAmount decimal(10,4) NOT NULL default '0.0000', ToAmount decimal(10,4) NOT NULL default '0.0000', Percent decimal(10,2) NOT NULL default '0.00', PRIMARY KEY (AffiliateBracketId), KEY AffiliatePlanId (AffiliatePlanId) ); CREATE TABLE AffiliatePlansItems ( AffiliateItemId int(11) NOT NULL auto_increment, AffiliatePlanId int(11) NOT NULL default '0', ItemResourceId int(10) unsigned NOT NULL default '0', ItemType tinyint(4) NOT NULL default '1', PRIMARY KEY (AffiliateItemId), KEY AffiliatePlanId (AffiliatePlanId), KEY ItemResourceId (ItemResourceId), KEY ItemType (ItemType) ); CREATE TABLE Affiliates ( AffiliateId int(11) NOT NULL AUTO_INCREMENT, PortalUserId int(10) DEFAULT NULL, AffiliatePlanId int(10) unsigned NOT NULL DEFAULT '0', AccumulatedAmount decimal(10,2) NOT NULL DEFAULT '0.00', AmountToPay decimal(10,2) NOT NULL DEFAULT '0.00', LastPaymentDate int(11) unsigned DEFAULT NULL, LastOrderDate int(11) unsigned DEFAULT NULL, `Status` tinyint(4) NOT NULL DEFAULT '2', AffiliateCode varchar(30) NOT NULL DEFAULT '', ItemsSold int(10) unsigned NOT NULL DEFAULT '0', PaymentTypeId int(11) NOT NULL DEFAULT '0', - SSN varchar(100) NOT NULL DEFAULT '', Comments text, CreatedOn int(11) DEFAULT NULL, PRIMARY KEY (AffiliateId), UNIQUE KEY AffiliateCode (AffiliateCode), UNIQUE KEY PortalUserId (PortalUserId), KEY LastOrderDate (LastOrderDate), KEY AffiliatePlanId (AffiliatePlanId), KEY `Status` (`Status`), KEY PaymentTypeId (PaymentTypeId), KEY CreatedOn (CreatedOn) ); CREATE TABLE ProductOptionCombinations ( CombinationId int(11) NOT NULL AUTO_INCREMENT, ProductId int(11) NOT NULL DEFAULT '0', Combination text, CombinationCRC bigint(11) NOT NULL DEFAULT '0', PriceType tinyint(1) DEFAULT '3', Price float DEFAULT NULL, WeightType tinyint(1) DEFAULT '3', Weight float DEFAULT NULL, Availability tinyint(1) NOT NULL DEFAULT '1', Priority int(11) NOT NULL DEFAULT '0', QtyInStock int(11) NOT NULL DEFAULT '0', QtyReserved int(11) NOT NULL DEFAULT '0', QtyBackOrdered int(11) NOT NULL DEFAULT '0', QtyOnOrder int(11) NOT NULL DEFAULT '0', SKU varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (CombinationId), KEY CombinationCRC (CombinationCRC), KEY ProductId (ProductId), KEY Availability (Availability) ); CREATE TABLE ProductOptions ( ProductOptionId int(11) NOT NULL auto_increment, ProductId int(11) NOT NULL default '0', Name varchar(255) NOT NULL default '', OptionType TINYINT(4) NOT NULL DEFAULT '0', Required tinyint(4) NOT NULL default '0', Listable tinyint(4) NOT NULL default '0', Priority int(11) NOT NULL default '0', `Values` text, Prices text, PriceTypes text, PRIMARY KEY (ProductOptionId), KEY ProductId (ProductId,Priority), KEY OptionType (OptionType), KEY Listable (Listable) ); CREATE TABLE ProductsCustomData ( CustomDataId int(11) NOT NULL auto_increment, ResourceId int(10) unsigned NOT NULL default '0', KEY ResourceId (ResourceId), PRIMARY KEY (CustomDataId) ); ALTER TABLE SiteDomains ADD COLUMN BillingCountry varchar(3) NOT NULL DEFAULT '', ADD COLUMN ShippingCountry varchar(3) NOT NULL DEFAULT '', ADD COLUMN PrimaryCurrencyId int(11) NOT NULL DEFAULT '0', ADD COLUMN Currencies varchar(255) NOT NULL DEFAULT '', ADD COLUMN PrimaryPaymentTypeId int(11) NOT NULL DEFAULT '0', ADD COLUMN PaymentTypes varchar(255) NOT NULL DEFAULT '', ADD INDEX (BillingCountry), ADD INDEX (ShippingCountry), ADD INDEX (PrimaryCurrencyId), ADD INDEX (Currencies), ADD INDEX (PrimaryPaymentTypeId), - ADD INDEX (PaymentTypes); \ No newline at end of file + ADD INDEX (PaymentTypes); Index: branches/5.3.x/install/upgrades.sql =================================================================== --- branches/5.3.x/install/upgrades.sql (revision 16132) +++ branches/5.3.x/install/upgrades.sql (revision 16133) @@ -1,299 +1,301 @@ # ===== v 4.3.9 ===== INSERT INTO ImportScripts VALUES (DEFAULT, 'Products from CSV file [In-Commerce]', '', 'p', 'In-Commerce', '', 'CSV', '1'); ALTER TABLE Products ADD OnSale TINYINT(1) NOT NULL default '0' AFTER Featured, ADD INDEX (OnSale); UPDATE Phrase SET Module = 'In-Commerce' WHERE Phrase IN ('lu_comm_Images', 'lu_comm_ImagesHeader'); # ===== v 5.0.0 ===== UPDATE Category SET Template = '/in-commerce/designs/section' WHERE Template = 'in-commerce/store/category'; UPDATE Category SET CachedTemplate = '/in-commerce/designs/section' WHERE CachedTemplate = 'in-commerce/store/category'; UPDATE ConfigurationValues SET VariableValue = '/in-commerce/designs/section' WHERE VariableName = 'p_CategoryTemplate'; UPDATE ConfigurationValues SET VariableValue = 'in-commerce/designs/detail' WHERE VariableName = 'p_ItemTemplate'; DELETE FROM PersistantSessionData WHERE VariableName IN ('affil_columns_.', 'ap_columns_.', 'apayments_columns_.', 'apayments.log_columns_.', 'd_columns_.', 'coup_columns_.', 'file_columns_.', 'po_columns_.', 'z_columns_.', 'tax_columns_.'); DELETE FROM PersistantSessionData WHERE VariableName LIKE '%ord.%'; INSERT INTO Permissions VALUES (DEFAULT, 'in-commerce:products.view', 11, 1, 1, 0); INSERT INTO Permissions VALUES (DEFAULT, 'in-commerce:setting_folder.view', 11, 1, 1, 0); INSERT INTO ShippingQuoteEngines VALUES (DEFAULT, 'USPS.com', 0, 0, 0, 'a:21:{s:12:"AccountLogin";s:0:"";s:15:"AccountPassword";N;s:10:"UPSEnabled";N;s:10:"UPSAccount";s:0:"";s:11:"UPSInvoiced";N;s:10:"FDXEnabled";N;s:10:"FDXAccount";s:0:"";s:10:"DHLEnabled";N;s:10:"DHLAccount";s:0:"";s:11:"DHLInvoiced";N;s:10:"USPEnabled";N;s:10:"USPAccount";s:0:"";s:11:"USPInvoiced";N;s:10:"ARBEnabled";N;s:10:"ARBAccount";s:0:"";s:11:"ARBInvoiced";N;s:10:"1DYEnabled";N;s:10:"2DYEnabled";N;s:10:"3DYEnabled";N;s:10:"GNDEnabled";N;s:10:"ShipMethod";N;}', 'USPS'); INSERT INTO ConfigurationAdmin VALUES ('Comm_CompanyName', 'la_Text_ContactsGeneral', 'la_text_CompanyName', 'text', NULL, NULL, 10.01, 0, 0); INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Comm_CompanyName', '', 'In-Commerce', 'in-commerce:contacts'); UPDATE ConfigurationAdmin SET prompt = 'la_text_StoreName', DisplayOrder = 10.02 WHERE VariableName = 'Comm_StoreName'; INSERT INTO ConfigurationAdmin VALUES ('Comm_Contacts_Name', 'la_Text_ContactsGeneral', 'la_text_ContactName', 'text', NULL, NULL, 10.03, 0, 0); INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Comm_Contacts_Name', '', 'In-Commerce', 'in-commerce:contacts'); UPDATE ConfigurationAdmin SET DisplayOrder = 10.04 WHERE VariableName = 'Comm_Contacts_Phone'; UPDATE ConfigurationAdmin SET DisplayOrder = 10.05 WHERE VariableName = 'Comm_Contacts_Fax'; UPDATE ConfigurationAdmin SET DisplayOrder = 10.06 WHERE VariableName = 'Comm_Contacts_Email'; UPDATE ConfigurationAdmin SET DisplayOrder = 10.07 WHERE VariableName = 'Comm_Contacts_Additional'; DELETE FROM Phrase WHERE Phrase IN ('la_fld_ManufacturerId', 'la_fld_DiscountId', 'la_fld_CouponId', 'la_fld_AffiliatePlanId', 'la_fld_AffiliateId', 'la_fld_ZoneId', 'la_fld_EngineId', 'la_fld_ShippingId', 'la_fld_ProductId', 'la_fld_OptionId', 'la_fld_CurrencyId', 'la_fld_Zone_Name'); UPDATE Phrase SET Module = 'In-Commerce' WHERE ((Phrase LIKE '%Product%' OR Phrase LIKE '%Shipping%' OR Phrase LIKE '%Coupon%' OR Phrase LIKE '%Discount%' OR Phrase LIKE '%Report%' OR Phrase LIKE '%Currency%' OR Phrase LIKE '%Cart%') AND (Module = 'Core')); # ===== v 5.0.1 ===== UPDATE ConfigurationValues SET VariableValue = 'in-commerce/products/product_detail' WHERE VariableName = 'p_ItemTemplate'; UPDATE ConfigurationAdmin SET ValueList = '1=la_opt_Session,2=la_opt_PermanentCookie' WHERE VariableName = 'Comm_AffiliateStorageMethod'; UPDATE ConfigurationAdmin SET ValueList = 'ASC=la_common_Ascending,DESC=la_common_Descending' WHERE VariableName IN ('product_OrderProductsByDir', 'product_OrderProductsThenByDir'); UPDATE ConfigurationAdmin SET ValueList = '1=la_opt_PriceCalculationByPrimary,2=la_opt_PriceCalculationByOptimal' WHERE VariableName = 'Comm_PriceBracketCalculation'; UPDATE ConfigurationAdmin SET ValueList = '1=la_opt_Sec,60=la_opt_Min,3600=la_opt_Hour,86400=la_opt_Day,604800=la_opt_Week,2419200=la_opt_Month,29030400=la_opt_Year' WHERE VariableName IN ('product_ReviewDelay_Interval', 'product_RatingDelay_Interval'); UPDATE CustomField SET FieldLabel = 'la_fld_cust_p_ItemTemplate', Prompt = 'la_fld_cust_p_ItemTemplate' WHERE FieldName = 'p_ItemTemplate'; UPDATE Events SET Type = 1 WHERE Event = 'BACKORDER.FULLFILL'; UPDATE ConfigurationAdmin SET ValueList = 'style="width: 50px;"' WHERE VariableName IN ('product_RatingDelay_Value', 'product_ReviewDelay_Value'); # ===== v 5.0.2-B1 ===== ALTER TABLE AffiliatePayments CHANGE Comment Comment text NULL, CHANGE PaymentDate PaymentDate INT(10) UNSIGNED NULL DEFAULT NULL; ALTER TABLE AffiliatePaymentTypes CHANGE Description Description text NULL; ALTER TABLE Affiliates CHANGE Comments Comments text NULL, CHANGE CreatedOn CreatedOn INT(11) NULL DEFAULT NULL; ALTER TABLE Manufacturers CHANGE Description Description text NULL; ALTER TABLE Orders CHANGE UserComment UserComment text NULL, CHANGE AdminComment AdminComment text NULL, CHANGE GWResult1 GWResult1 MEDIUMTEXT NULL, CHANGE GWResult2 GWResult2 MEDIUMTEXT NULL, CHANGE OrderDate OrderDate INT(10) UNSIGNED NULL DEFAULT NULL, CHANGE PaymentExpires PaymentExpires INT(10) UNSIGNED NULL DEFAULT NULL; ALTER TABLE PaymentTypes CHANGE PortalGroups PortalGroups text NULL; ALTER TABLE ProductOptionCombinations CHANGE Combination Combination text NULL; ALTER TABLE Products CHANGE ShippingLimitation ShippingLimitation text NULL, CHANGE PackageContent PackageContent MEDIUMTEXT NULL; ALTER TABLE ShippingQuoteEngines CHANGE Properties Properties text NULL; ALTER TABLE ShippingType CHANGE PortalGroups PortalGroups text NULL; ALTER TABLE ProductFiles CHANGE ProductId ProductId INT(11) NOT NULL DEFAULT '0', CHANGE `Name` `Name` VARCHAR(255) NOT NULL DEFAULT '', CHANGE Version Version VARCHAR(100) NOT NULL DEFAULT '', CHANGE FilePath FilePath VARCHAR(255) NOT NULL DEFAULT '', CHANGE RealPath RealPath VARCHAR(255) NOT NULL DEFAULT '', CHANGE Size Size INT(11) NOT NULL DEFAULT '0', CHANGE AddedOn AddedOn INT(11) NULL DEFAULT NULL; ALTER TABLE UserFileAccess CHANGE ProductId ProductId INT( 11 ) NOT NULL DEFAULT '0', CHANGE PortalUserId PortalUserId INT( 11 ) NOT NULL DEFAULT '0'; ALTER TABLE GatewayConfigFields CHANGE ValueList ValueList MEDIUMTEXT NULL; ALTER TABLE Currencies CHANGE `Status` `Status` SMALLINT(6) NOT NULL DEFAULT '1', CHANGE Modified Modified INT(11) NULL DEFAULT NULL; ALTER TABLE GiftCertificates CHANGE `Status` `Status` TINYINT(1) NOT NULL DEFAULT '2'; ALTER TABLE UserDownloads CHANGE StartedOn StartedOn INT(11) NULL DEFAULT NULL, CHANGE EndedOn EndedOn INT(11) NULL DEFAULT NULL; # ===== v 5.0.2-B2 ===== # ===== v 5.0.2-RC1 ===== # ===== v 5.0.2 ===== # ===== v 5.0.3-B1 ===== UPDATE Phrase SET PhraseType = 1 WHERE Phrase IN ( 'la_ship_All_Together', 'la_ship_Backorders_Upon_Avail', 'la_ship_Backorder_Separately', 'lu_ship_Shipment', 'lu_ship_ShippingType' ); # ===== v 5.0.3-B2 ===== # ===== v 5.0.3-RC1 ===== # ===== v 5.0.3 ===== # ===== v 5.0.4-B1 ===== # ===== v 5.0.4-B2 ===== # ===== v 5.0.4 ===== # ===== v 5.1.0-B1 ===== UPDATE Modules SET Path = 'modules/in-commerce/' WHERE `Name` = 'In-Commerce'; UPDATE ConfigurationValues SET ValueList = '0=lu_none||SELECT l%3$s_Name AS OptionName, IsoCode AS OptionValue FROM CountryStates WHERE Type = 1 ORDER BY OptionName' WHERE ValueList = '0=lu_none||SELECT DestName AS OptionName, DestAbbr AS OptionValue FROM StdDestinations WHERE DestParentId IS NULL Order BY OptionName'; ALTER TABLE SiteDomains ADD COLUMN BillingCountry varchar(3) NOT NULL DEFAULT '', ADD COLUMN ShippingCountry varchar(3) NOT NULL DEFAULT '', ADD COLUMN PrimaryCurrencyId int(11) NOT NULL DEFAULT '0', ADD COLUMN Currencies varchar(255) NOT NULL DEFAULT '', ADD COLUMN PrimaryPaymentTypeId int(11) NOT NULL DEFAULT '0', ADD COLUMN PaymentTypes varchar(255) NOT NULL DEFAULT '', ADD INDEX (BillingCountry), ADD INDEX (ShippingCountry), ADD INDEX (PrimaryCurrencyId), ADD INDEX (Currencies), ADD INDEX (PrimaryPaymentTypeId), ADD INDEX (PaymentTypes); UPDATE Phrase SET Module = 'Core' WHERE Phrase IN ('la_btn_Add', 'la_fld_RecipientName', 'la_fld_SenderName'); DELETE FROM Permissions WHERE Permission LIKE 'in-commerce:incommerce_configemail%'; # ===== v 5.1.0-B2 ===== # ===== v 5.1.0-RC1 ===== UPDATE Phrase SET PhraseType = 1 WHERE Phrase IN ( 'la_col_Qty', 'la_col_QtyBackordered', 'la_ItemBackordered', 'la_ship_all_together', 'la_ship_backorders_upon_avail', 'la_ship_backorder_separately', 'la_tooltip_New_Coupon', 'la_tooltip_New_Discount' ); DELETE FROM Phrase WHERE Phrase = 'la_comm_ProductsByManuf'; # ===== v 5.1.0 ===== ALTER TABLE Products CHANGE CachedRating CachedRating varchar(10) NOT NULL default '0'; # ===== v 5.1.1-B1 ===== ALTER TABLE Orders CHANGE ShippingOption ShippingOption TINYINT(4) NOT NULL DEFAULT '0'; ALTER TABLE ProductFiles CHANGE AddedById AddedById INT(11) NULL DEFAULT NULL; UPDATE ProductFiles SET AddedById = NULL WHERE AddedById = 0; ALTER TABLE Products CHANGE CreatedById CreatedById INT(11) NULL DEFAULT NULL , CHANGE ModifiedById ModifiedById INT(11) NULL DEFAULT NULL; UPDATE Products SET CreatedById = NULL WHERE CreatedById = 0; UPDATE Products SET ModifiedById = NULL WHERE ModifiedById = 0; # ===== v 5.1.1-B2 ===== # ===== v 5.1.1-RC1 ===== # ===== v 5.1.1 ===== # ===== v 5.1.2-B1 ===== DELETE FROM Phrase WHERE PhraseKey = 'LA_TITLE_ADDING_ORDER_ITEM'; # ===== v 5.1.2-B2 ===== UPDATE Phrase SET l<%PRIMARY_LANGUAGE%>_Translation = REPLACE(l<%PRIMARY_LANGUAGE%>_Translation, 'Discounts & Coupons', 'Discounts & Certificates') WHERE PhraseKey = 'LA_TAB_DISCOUNTSANDCOUPONS'; # ===== v 5.1.2-RC1 ===== UPDATE Phrase SET Module = 'Core' WHERE PhraseKey = 'LA_FLD_ISOCODE' OR PhraseKey = 'LA_COL_ISOCODE'; # ===== v 5.1.2 ===== # ===== v 5.1.3-B1 ===== ALTER TABLE AffiliatePlansBrackets CHANGE Percent Percent DECIMAL (10,2) NOT NULL DEFAULT '0.00'; # ===== v 5.1.3-B2 ===== # ===== v 5.1.3-RC1 ===== UPDATE ConfigurationValues SET VariableValue = 'in-commerce/products/product_detail' WHERE VariableName = 'p_ItemTemplate' AND VariableValue = 'in-commerce/designs/detail'; # ===== v 5.1.3-RC2 ===== # ===== v 5.1.3 ===== # ===== v 5.2.0-B1 ===== UPDATE SearchConfig SET DisplayName = REPLACE(DisplayName, 'lu_', 'lc_') WHERE DisplayName IN ('lu_field_descriptionex', 'lu_field_manufacturer', 'lu_field_qtysold', 'lu_field_topseller'); INSERT INTO SystemSettings VALUES(DEFAULT, 'OrderVATIncluded', '0', 'In-Commerce', 'in-commerce:general', 'la_Text_Orders', 'la_config_OrderVATIncluded', 'checkbox', NULL, NULL, 10.12, '0', '0', NULL); ALTER TABLE Orders ADD VATIncluded TINYINT(1) UNSIGNED NOT NULL DEFAULT '0'; INSERT INTO ItemFilters VALUES (DEFAULT, 'p', 'ManufacturerId', 'checkbox', 1, NULL), (DEFAULT, 'p', 'Price', 'range', 1, 11), (DEFAULT, 'p', 'EditorsPick', 'radio', 1, NULL); DELETE FROM LanguageLabels WHERE PhraseKey = 'LA_COL_ITEMNAME'; DELETE FROM LanguageLabels WHERE PhraseKey IN ('LA_ALLOWORDERINGINNONPRIMARYCURRENCY', 'LA_ALLOWORDERDIFFERENTTYPES'); DELETE FROM SystemSettings WHERE VariableName IN ('Comm_AllowOrderingInNonPrimaryCurrency', 'Comm_Allow_Order_Different_Types'); UPDATE SystemSettings SET DisplayOrder = 20.01 WHERE VariableName = 'Comm_ExchangeRateSource'; UPDATE SystemSettings SET DisplayOrder = DisplayOrder - 0.01 WHERE VariableName IN ( 'Comm_Enable_Backordering', 'Comm_Process_Backorders_Auto', 'Comm_Next_Order_Number', 'Comm_Order_Number_Format_P', 'Comm_Order_Number_Format_S', 'Comm_RecurringChargeInverval', 'Comm_AutoProcessRecurringOrders', 'MaxAddresses', 'Comm_MaskProcessedCreditCards', 'OrderVATIncluded' ); INSERT INTO SystemSettings VALUES(DEFAULT, 'MaxCompareProducts', '3', 'In-Commerce', 'in-commerce:output', 'la_Text_Products', 'la_config_MaxCompareProducts', 'text', NULL, NULL, 10.12, 0, 1, NULL); # ===== v 5.2.0-B2 ===== UPDATE Products main_table SET main_table.CachedReviewsQty = (SELECT COUNT(*) FROM <%TABLE_PREFIX%>CatalogReviews review_table WHERE review_table.ItemId = main_table.ResourceId); # ===== v 5.2.0-B3 ===== ALTER TABLE OrderItems CHANGE OptionsSalt OptionsSalt BIGINT(11) NULL DEFAULT '0'; UPDATE OrderItems SET OptionsSalt = CAST((OptionsSalt & 0xFFFFFFFF) AS UNSIGNED INTEGER) WHERE OptionsSalt < 0; ALTER TABLE ProductOptionCombinations CHANGE CombinationCRC CombinationCRC BIGINT(11) NOT NULL DEFAULT '0'; UPDATE ProductOptionCombinations SET CombinationCRC = CAST((CombinationCRC & 0xFFFFFFFF) AS UNSIGNED INTEGER) WHERE CombinationCRC < 0; # ===== v 5.2.0-RC1 ===== DELETE FROM Currencies WHERE ISO = 'NZD' LIMIT 1; # ===== v 5.2.0 ===== INSERT INTO Permissions VALUES(DEFAULT, 'in-commerce:general.add', 11, 1, 1, 0); INSERT INTO Permissions VALUES(DEFAULT, 'in-commerce:output.add', 11, 1, 1, 0); INSERT INTO Permissions VALUES(DEFAULT, 'in-commerce:contacts.add', 11, 1, 1, 0); # ===== v 5.2.1-B1 ===== ALTER TABLE Affiliates CHANGE PortalUserId PortalUserId INT(10) NULL DEFAULT NULL; UPDATE Affiliates SET PortalUserId = NULL WHERE PortalUserId = 0; # ===== v 5.2.1-B2 ===== UPDATE Modules SET ClassNamespace = 'Intechnic\\InPortal\\Modules\\InCommerce' WHERE `Name` = 'In-Commerce'; # ===== v 5.2.1-RC1 ===== # ===== v 5.2.1 ===== # ===== v 5.3.0-B1 ===== +ALTER TABLE Affiliates DROP SSN; +DELETE FROM LanguageLabels WHERE PhraseKey IN ('LA_FLD_SSN', 'LU_COMM_SSNFIELD', 'LU_FLD_SSNFIELD'); Index: branches/5.3.x/install/english.lang =================================================================== --- branches/5.3.x/install/english.lang (revision 16132) +++ branches/5.3.x/install/english.lang (revision 16133) @@ -1,1048 +1,1047 @@ JGJvZHkNCjxici8+PGJyLz4NCg0KU2luY2VyZWx5LDxici8+PGJyLz4NCg0KV2Vic2l0ZSBhZG1pbmlzdHJhdGlvbi4NCg0KPCEtLSMjIDxpbnAyOmVtYWlsLWxvZ19JdGVtTGluayB0ZW1wbGF0ZT0icGxhdGZvcm0vbXlfYWNjb3VudC9lbWFpbCIvPiAjIy0tPg== QWNjb3VudA== QWRkcmVzcyBMaW5lIDE= QWRkcmVzcyBMaW5lIDI= QW5kb3JyYW4gUGVzZXRh VUFFIERpcmhhbQ== QWZnaGFuaQ== YWZmaWxpYXRlIGFscmVhZHkgZXhpc3Rz QWZnaGFuaQ== TGVjaw== QWxsb3dlZA== QWxsb3cgb3JkZXJpbmcgb2YgbW9yZSBxdWFudGl0eSB0aGFuIGF2YWlsYWJsZSBhcyBiYWNrb3JkZXI= QXJtZW5pYW4gRHJhbQ== TmV0aGVybGFuZHMgQW50aWxsYW4gR3VpbGRlcg== S3dhbnph QXJjaGl2ZWQ= QXJnZW50aW5lIFBlc28= QXVzdHJhbGlhbiBEb2xsYXI= QXV0byBCYWNrb3JkZXI= QXV0b21hdGljYWxseSBQcm9jZXNzIFJlY3VycmluZyBPcmRlcnM= QXZhaWxhYmlsaXR5 QXJ1YmFuIEd1aWxkZXI= QXplcmJhaWphbmlhbiBNYW5hdA== QmFja09yZGVycw== Q29udmVydGlibGUgTWFya3M= QmFuayBvZiBMYXR2aWEgLSB3d3cuYmFuay5sdg== QmFzZSBGZWU= QmFyYmFkb3MgRG9sbGFy VGFrYQ== TGV2 QnVsZ2FyaWFuIExldg== QmFocmFpbmkgRGluYXI= QnVydW5kaSBGcmFuYw== QmVybXVkaWFuIERvbGxhcg== QnJ1bmVpIERvbGxhcg== Qm9saXZpYW5v TXZkb2w= QnJhemlsaWFuIFJlYWw= QmFoYW1pYW4gRG9sbGFy Tmd1bHRydW0= QWRkIExvY2F0aW9u Q2FuY2VsIE9yZGVy T3JkZXI= UmVjZWl2ZSBPcmRlcg== UmVtb3Zl UmVtb3ZlIExvY2F0aW9ucw== QnVpbHQtSW4= QWRk UmVjZWl2ZSBvcmRlcg== UmVtb3Zl U2F2ZQ== UHVsYQ== YnkgYW1vdW50 QnkgU2VjdGlvbg== QnkgQ291bnRyeQ== YnkgaXRlbQ== QnkgUHJvZHVjdA== QmVsYXJ1c3NpYW4gUnVibGU= QnkgU3RhdGU= QnkgVXNlcg== Ynkgd2VpZ2h0 QnkgWklQ YnkgYW1vdW50 YnkgaXRlbXMgc29sZA== QnkgUHJvZHVjdCBPcHRpb25z QnkgUHJvZHVjdA== QnkgUmVxdWVzdA== QmVsaXplIERvbGxhcg== Q2FuYWRpYW4gRG9sbGFy RnJhbmMgQ29uZ29sYWlz U3dpc3MgRnJhbmM= Q2l0eQ== RG8geW91IHJlYWxseSB3YW50IHRvIHJlc2V0IHdob2xlIGNvc3RzIHRhYmxlPw== VW5pZGFkZXMgZGUgZm9tZW50bw== Q2xvbmluZyBhIENvdXBvbg== Q2hpbGVhbiBQZXNv Q2hpbmEgWXVhbiBSZW5taW5iaQ== Q09E Q09EIEZsYXQgU3VyY2hhcmdl Q09EIFBlcmNlbnQgU3VyY2hhcmdl QnVpbHQtSW4= Q09EIGZsYXQgc3VyZWNoYXJnZQ== Q29tYmluYXRpb24= QWZmaWxsaWF0ZSBDb21taXNzaW9u Q291cG9uIEl0ZW0gVHlwZQ== Q3VzdG9tZXIgTmFtZQ== RmlsZW5hbWU= UHJvZHVjdCBOYW1l RW5kZWQgT24= RXh0LiBQcmljZQ== RnJvbSBVc2Vy R01W RGlzY291bnQgSXRlbSBUeXBl TGFzdCBVcGRhdGVk TmFtZQ== TWFya2V0cGxhY2U= RGF0ZQ== T3JkZXIgVG90YWw= TmFtZQ== UGVyY2VudA== UGxhbiBOYW1l UHJvY2Vzc2luZw== UHJvZHVjdA== QmFja09yZGVyIERhdGU= Q3JlYXRlZCBPbg== TmFtZQ== UHJvZHVjdCBOYW1lIChJRCk= U0tV V2VpZ2h0 UHJvZml0 UXR5Lg== QXZhaWwu UmVzZXJ2ZWQ= UmV0LiBBbW91bnQ= UmV0LiBEYXRl UmV0LiBUeXBl U2hpcHBpbmc= RnJvbSBMb2NhdGlvbg== U2l6ZQ== U3RhcnRlZCBPbg== VGF4 Q29tYmluZWQ= KGxlYXZlIGJsYW5rIGZvciB1bmxpbWl0ZWQp QW55 T3JkZXIgQ29udGVudHM= U2hpcHBpbmcgJiBCaWxsaW5nIEluZm9ybWF0aW9u VGltZWZyYW1l TWF4aW1hbCBudW1iZXIgb2YgcHJvZHVjdHMgaW4gY29tcGFyaXNvbiBsaXN0 VGF4ZXMgaW5jbHVkZWQgaW4gcHJvZHVjdCBwcmljZSwgc2hpcHBpbmcgY29zdCAmIHByb2Nlc3NpbmcgZmVl U2hvdyBQcm9kdWN0IEltYWdlcyBpbiBPcmRlcnM= TnVtYmVyIG9mIGRheXMgZm9yIGEgcHJvZHVjdCB0byBiZSBOZXc= RGVmYXVsdCBjb3Vwb24gZHVyYXRpb24gKGRheXMp RGlzcGxheSBFZGl0b3IgUGlja3MgYWJvdmUgcmVndWxhciBwcm9kdWN0cw== T3JkZXIgcHJvZHVjdHMgYnk= VGhlbiBCeQ== Q29sb21iaWFuIFBlc28= Q09V Q291bGRuJ3QgcmV0cmlldmUgY3VycmVuY3kgcmF0ZSE= Q291bnRyeQ== Q291cG9uIENvZGU= Q29zdGEgUmljYW4gQ29sb24= Q3JlZGl0IERpcmVjdA== Q3JlZGl0IFByZS1BdXRob3JpemU= Q1NE Q3ViYW4gUGVzbw== Q2FwZSBWZXJkZSBFc2N1ZG8= Q3lwcnVzIFBvdW5k Q3plY2ggS29ydW5h ZGF5 RGVuaWVk VmlldyBEZXRhaWxz RGlzY291bnQ= RGppYm91dGkgRnJhbmM= RGFuaXNoIEtyb25l RG9taW5pY2FuIFBlc28= QWxnZXJpYW4gRGluYXI= U3VjcmU= VW5pZGFkIGRlIFZhbG9yIENvbnN0YW50ZSAoVVZDKQ== RWRpdCBVc2Vy S3Jvb24= RWd5cHRpYW4gUG91bmQ= RW5hYmxlIGJhY2tvcmRlciBhdmFpbGFiaWxpdHkgZGF0ZQ== RW5hYmxlIEJhY2tvcmRlcmluZw== RW5hYmxlIEhUTUw/ TnVtYmVyIE9mIENvcGllcw== VGhpcyB3aWxsIHJlbW92ZSBhbGwgc2VsZWN0ZWQgcHJvZHVjdHMhIEFyZSB5b3Ugc3VyZT8= TmFrZmE= VGhlIHByaW1hcnkgcGF5bWVudCB0eXBlIGNhbm5vdCBiZSBkZWxldGVkIQ== RW5hYmxlIENVUkwgZmlyc3Q= RmlsbCBpbiBTaGlwcGluZyBGcm9tIGFkZHJlc3MgaW4gQ29udGFjdCBJbmZvcm1hdGlvbiBiZWZvcmUgZW5hYmxpbmcgSW50ZXJzaGlwcGVy RXRoaW9waWFuIEJpcnI= RXVybw== RXVyb3BlYW4gQ2VudHJhbCBCYW5rIC0gd3d3LmVjYi5pbnQ= Q2hvb3NlIHRoZSBleGNoYW5nZSByYXRlIHNvdXJjZQ== RXhwaXJhdGlvbg== RmVhdHVyZXM= RmVkZXJhbCBSZXNlcnZlIEJhbmsgb2YgTmV3IFlvcmsgLSB3d3cubnkuZnJiLm9yZw== RmlqaSBEb2xsYXI= RmFsa2xhbmQgSXNsYW5kcyBQb3VuZA== RmxhdA== QWNjZXNzIER1cmF0aW9u QWNjZXNzIER1cmF0aW9uIFR5cGU= QWNjZXNzIER1cmF0aW9uIFVuaXQ= QWNjZXNzIEVuZA== QWNjZXNzIEdyb3Vw QWNjZXNzIFN0YXJ0 QWNjdW11bGF0ZWQgQW1vdW50 QWRkZWQgT24= QWRkcmVzcyBMaW5lIDE= QWRkcmVzcyBMaW5lIDI= QWRtaW4gQ29tbWVudA== QWRtaW4gQ29tbWVudHM= QWZmaWxpYXRlIENvZGU= QWZmaWxpYXRlIENvbW1pc3Npb24= QWZmaWxpYXRlIExpbms= QWZmaWxpYXRlIFBsYW4= UGF5bWVudA== QWZmaWxpYXRlIFVzZXI= U2VsZWN0ZWQ= QW1vdW50 QW1vdW50IFRvIFBheQ== QXNzaWduZWQgQ291cG9u QXV0aG9yaXphdGlvbiBSZXN1bHQ= QXZhaWxhYmxl QXZhaWxhYmxlIFVzZXIgR3JvdXBz QXZhaWxhYmxl QmFja09yZGVy QmFja29yZGVyIGF2YWlsYWJpbGl0eSBkYXRl QmFzZSBGZWU= QmlsbGluZyBBZGRyZXNzIExpbmUgMQ== QmlsbGluZyBBZGRyZXNzIExpbmUgMg== QmlsbGluZyBDaXR5 QmlsbGluZyBDb21wYW55 QmlsbGluZyBDb3VudHJ5 QmlsbGluZyBFbWFpbA== QmlsbGluZyBGYXg= QmlsbGluZyBQaG9uZQ== QmlsbGluZyBTdGF0ZQ== QmlsbGluZyBUbw== QmlsbGluZyBaaXBjb2Rl QmxvY2sgU2hpcHBpbmcgQWRkcmVzcyBFZGl0aW5n Q2FwdHVyZSBSZXN1bHQ= Q2hhcmdlIG9uIE5leHQgQXBwcm92ZQ== Q09EIEFsbG93ZWQ= Q29kZQ== Q09EIEZsYXQgU3VyY2hhcmdl Q09EIFBlcmNlbnQgU3VyY2hhcmdl Q29tbWVudA== Q29zdA== Q29zdCBUeXBl Q291cG9uIENvZGU= Q3JlZGl0IENhcmQgTnVtYmVy Q3VycmVuY2llcw== Q3VycmVuY3k= TmFtZQ== U3ltYm9s U3ltYm9sIFBvc2l0aW9u UHJvZHVjdCBJdGVtIFRlbXBsYXRl RGF0ZQ== RGVsaXZlcnkgTWV0aG9k RXhjZXJwdA== RGlzY291bnQ= RGlzcGxheSBvbiBGcm9udC1FbmQ= RW1wdHkgQ2VsbHMgQXJl RW5kIERhdGU= RXhwaXJhdGlvbg== RmVhdHVyZWQ= Rmlyc3QgRGF5 RmxhdCBTdXJjaGFyZ2U= TWluaW11bSBPcmRlciBUb3RhbCBmb3IgRnJlZSBTaGlwcGluZw== RnJvbQ== RnJvbSBBbW91bnQ= RnJvbSBkYXRlL3RpbWU= R2F0ZXdheQ== R2lmdCBDZXJ0aWZpY2F0ZSBhbW91bnQ= R2lmdCBDZXJ0aWZpY2F0ZSBudW1iZXI= R3JvdW5kIERlbGl2ZXJ5 VXNlciBHcm91cHMgU2VsZWN0aW9u SW5zdHJ1Y3Rpb25z SW5zdXJhbmNlIENvc3Q= SW5zdXJhbmNlIENvc3Q= SW5zdXJhbmNlIFR5cGU= RW5hYmxlZA== VXNlIGFzIEZyZWUgUHJvbW8gU2hpcHBpbmc= UHJvZmlsZSBBZGRyZXNz UmVjdXJyaW5nIEJpbGxpbmc= SXRlbXMgU29sZA== TGFzdCBQYXltZW50IERhdGU= TGFzdCBVc2VkIGFzIEJpbGxpbmc= TGFzdCBVc2VkIGFzIFNoaXBwaW5n TGFzdCBVc2VkIEJ5 TGFzdCBVc2VkIE9u TGlzdGFibGU= TWFuYWdlIE9wdGlvbnMgQ29tYmluYXRpb25z TWFuYWdlIFNoaXBwaW5nIFR5cGVz TWFudWZhY3R1cmVy TWF4IFF0eQ== TWluaW1hbCBQYXltZW50IEFtb3VudA== TWluIFF0eQ== TVNSUA== TmVnb3RpYXRlZA== TmV4dCBDaGFyZ2UgRGF0ZQ== TnVtYmVyIE9mIFVzZXM= T24gSG9sZA== UHJvZHVjdCBvbiBTYWxl T3B0aW9uIFByaWNl T3B0aW9ucyBTZWxlY3Rpb24gTW9kZQ== T3B0aW9uIFR5cGU= T3B0aW9uIFZhbHVl T3B0aW9uIFZhbHVlcw== T3JkZXIgSUQ= SVAgQWRkcmVzcw== TnVtYmVy T3JpZ2luYWw= T3JpZ2luYWwgQW1vdW50 UGF5bWVudCBBY2NvdW50 Q2FyZCBUeXBl Q2FyZCBFeHBpcmF0aW9u Q1ZWMg== UGF5bWVudCBEYXRl UGF5bWVudCBEYXRlL0V4cGlyYXRpb24= UGF5bWVudCBJbnRlcnZhbA== TmFtZSBvbiB0aGUgQ2FyZA== UGF5bWVudCBSZWZlcmVuY2U= UGF5bWVudCBUeXBl QXZhaWxhYmxlIEN1cnJlbmNpZXM= UGF5bWVudCBUeXBlIElk UGF5bWVudCBUeXBlcw== UGVyY2VudCBTdXJjaGFyZ2U= UGVyaW9k QWxsb3cgUGxhY2VkIE9yZGVycyBFZGl0aW5n UGxhbiBUeXBl UG9pbnRz UHJpY2U= UHJpY2UgTW9kaWZpZXIgVHlwZQ== UHJvY2Vzc2luZyBGZWU= TWluaW11bSBxdWFudGl0eSBmb3IgRnJlZSBTaGlwcGluZw== UHJvZHVjdCBUeXBl TWF4aW11bSBudW1iZXIgb2YgVG9wIFNlbGxlciBpdGVtcw== TWluaW11bSByYXRpbmcgdG8gY29uc2lkZXIgaXRlbSBQT1A= TWluaW11bSBudW1iZXIgb2Ygc29sZCBpdGVtcyB0byBjb25zaWRlciBpdGVtIFBPUA== UXR5IEJhY2tPcmRlcmVk UXR5IEluIFN0b2Nr TWluaW11bSBxdWFudGl0eSBpbiBzdG9jayB0aHJlc2hvbGQ= UXR5IE9uIE9yZGVy UXR5IFJlc2VydmVk UXR5IFNvbGQ= UmF0ZSBUbyBQcmltYXJ5 UmVnaXN0ZXJlZCBPbg== UmVtYWluaW5nIEFtb3VudA== UmVwb3J0IFR5cGU= U2Vjb25kIERheQ== U2VsZWN0ZWQgVXNlciBHcm91cHM= U2hpcCBNZXRob2Q= U2hpcHBpbmcgQWRkcmVzcyBMaW5lIDE= U2hpcHBpbmcgQWRkcmVzcyBMaW5lIDI= U2hpcHBpbmcgQ2l0eQ== Q29kZQ== U2hpcHBpbmcgQ29tcGFueQ== U2hpcHBpbmcgQ29udHJvbA== U2hpcHBpbmcgQ29zdA== U2hpcHBpbmcgQ291bnRyeQ== U2hpcHBpbmcgQ3VzdG9tZXIgQWNjb3VudA== U2hpcHBpbmcgRGF0ZS9UaW1l U2hpcHBpbmcgRW1haWw= U2hpcHBpbmcgRmF4 QWxsb3dlZCBTaGlwcGluZyBUeXBlcw== TmFtZQ== U2hpcHBpbmcgT3B0aW9u U2hpcHBpbmcgT3B0aW9ucw== U2hpcHBpbmcgUGhvbmU= TmFtZQ== U2hpcHBpbmcgU3RhdGU= U2hpcHBpbmcgVG8= U2hpcHBpbmcgVHJhY2tpbmcvUmVmZXJlbmNl U2hpcHBpbmcgVHlwZQ== U2hpcHBpbmcgVHlwZSBJRA== U2hpcHBpbmcgVHlwZXM= U2hpcHBpbmcgWmlwY29kZQ== U2hpcHBpbmcgWm9uZSBOYW1l U0tV U3BlZWQgQ29kZQ== - U1NOL1RheCBJZC9WQVQgTnVtYmVy U3RhcnQgRGF0ZQ== U3VidG90YWw= QXBwbHkgdG8gUHJvY2Vzc2luZw== QXBwbHkgdG8gU2hpcHBpbmc= VGF4IFZhbHVl TmFtZSBvZiBUYXggWm9uZQ== VGhpcmQgRGF5 VGltZQ== VG8gQW1vdW50 VG8gZGF0ZS90aW1l VG9wIFNlbGxlcg== VG90YWwgQW1vdW50 VG90YWwgUmV0dXJucw== VG90YWwgU2F2aW5ncw== TGluaXQ= VXNlciBDb21tZW50 U2FsZXMgVGF4L1ZBVA== VkFUIEluY2x1ZGVk VmVyaWZpY2F0aW9uIFJlc3VsdA== V2VpZ2h0 V2VpZ2h0IE1vZGlmaWVyIFR5cGU= Wm9uZSBOYW1l VHlwZQ== VHlwZQ== Rm9udCBDb2xvcg== RnJlZSBTaGlwcGluZw== UG91bmQgU3Rlcmxpbmc= TGFyaQ== R2VuZXJhdGUgQ29kZQ== Q2VkaQ== R2licmFsdGFyIFBvdW5k RGFsYXNp R3VpbmVhIEZyYW5j UXVldHphbA== R3VpbmVhLUJpc3NhdSBQZXNv R3V5YW5hIERvbGxhcg== aGFuZGxpbmc= SGVscA== SG9uZyBLb25nIERvbGxhcg== TGVtcGlyYQ== Q3JvYXRpYW4ga3VuYQ== R291cmRl Rm9yaW50 UnVwaWFo TmV3IElzcmFlbGkgU2hlcWVs SW4tQ29tbWVyY2U= SW5jb21wbGV0ZQ== SW5kaWFuIFJ1cGVl SW5zdXJhbmNl U3RhdGUgaXMgaW52YWxpZA== SW52b2ljZWQ= SXJhcWkgRGluYXI= SXJhbmlhbiBSaWFs SWNlbGFuZCBLcm9uYQ== SVNPIENvZGUgd2lsbCBiZSB1c2VkIGlmIGxlZnQgYmxhbms= YmFja29yZGVyZWQ= UHJvZHVjdHM= SmFtYWljYW4gRG9sbGFy Sm9yZGFuaWFuIERpbmFy WWVu S2VueWFuIFNoaWxsaW5n a2c= U29t UmllbA== Q29tb3JvIEZyYW5j Tm9ydGggS29yZWFuIFdvbg== V29u S3V3YWl0aSBEaW5hcg== Q2F5bWFuIElzbGFuZHMgRG9sbGFy VGVuZ2U= S2lw TGViYW5lc2UgUG91bmQ= cG91bmRz TGVmdA== U3JpIExhbmthIFJ1cGVl TGliZXJpYW4gRG9sbGFy TG90aQ== TGl0aHVhbmlhbiBMaXR1cw== TGF0dmlhbiBMYXRz THliaWFuIERpbmFy TW9yb2NjYW4gRGlyaGFt TWFudWFs TWFzayBQcm9jZXNzZWQgQ3JlZGl0IENhcmRz TnVtYmVyIG9mIGFsbG93ZWQgYWRkcmVzc2Vz TW9sZG92YW4gTGV1 TUdB TWFsYWdhc3kgRnJhbmM= RGVuYXI= S3lhdA== VHVncmlr VmFsdWU= T3BlcmF0aW9u bW9udGg= UGF0YWNh T3VndWl5YQ== UGxlYXNlIGNvbmZpcm0geW91IHdhbnQgdG8gZGVsZXRlIHRoZSBQcmljaW5nIGZvciB0aGlzIFVzZXIgR3JvdXAuIENsaWNrIE9LIHRvIHByb2NlZWQgd2l0aCBkZWxldGlvbiwgb3IgY2xpY2sgQ2FuY2VsIHRvIGNhbmNlbCBpdC4= TWFsdGVzZSBMaXJh TWF1cml0aXVzIFJ1cGVl UnVmaXlhYQ== S3dhY2hh TWV4aWNhbiBQZXNv TWV4aWNhbiBVbmlkYWQgZGUgSW52ZXJzaW9uIChVREkp TWFsYXlzaWFuIFJpbmdnaXQ= TWV0aWNhbA== TmFtaWJpYSBEb2xsYXI= TmFpcmE= Q29yZG9iYSBPcm8= Tm9yd2VnaWFuIEtyb25l Tm8gU2hpcG1lbnRz Tm90IEFsbG93ZWQ= WW91IG11c3QgaGF2ZSBib3RoIHpvbmVzIGFuZCBicmFja2V0cyBkZWZpbmVkIGJlZm9yZSBlZGl0aW5nIHNoaXBwaW5nIGNvc3Rz TmVwYWxlc2UgUnVwZWU= TmV3IFplYWxhbmQgRG9sbGFy UmlhbCBPbWFuaQ== T25saW5lIFN0b3Jl QXV0by1ncm91cCBzaGlwbWVudHM= RGF0ZQ== RXhjaGFuZ2U= SW50ZXJ2YWw= TGlzdGluZw== R3JvdXAgc2hpcG1lbnRzIG1hbnVhbGx5 UGVybWFuZW50IENvb2tpZQ== UG9zdGFsIE1haWw= T3B0aW1hbCBQcmljZQ== UHJpbWFyeSBQcmljZQ== UmVmdW5k U2VsZWN0aW9u U2Vzc2lvbg== VmVyaWZpZWQ= V2FycmFudHk= T3JkZXIgbWFpbiBudW1iZXIgZGlnaXRz T3JkZXIgc3VibnVtYmVyIGRpZ2l0cw== U3VidG90YWw= TmV4dCBPcmRlciBOdW1iZXI= UmVxdWlyZSBsb2dpbiBiZWZvcmUgY2hlY2tvdXQ= T3JkZXIgQmlsbGluZyBJbmZvcm1hdGlvbg== T3JkZXIgUHJldmlldw== T3ZlcmFsbA== b3VuY2Vz QmFsYm9h TnVldm8gU29s UGVyY2VudA== RW5hYmxlIEFmZmlsaWF0ZXM= RGlzYWJsZSBBZmZpbGlhdGVz RW5hYmxlIEFmZmlsaWF0ZSBQYXltZW50IFR5cGU= RGlzYWJsZSBBZmZpbGlhdGUgUGF5bWVudCBUeXBl TW92ZS1kb3duIEFmZmlsaWF0ZSBQYXltZW50IFR5cGU= TW92ZS11cCBBZmZpbGlhdGUgUGF5bWVudCBUeXBl U2V0IFByaW1hcnkgQWZmaWxpYXRlIFBheW1lbnQgVHlwZQ== RW5hYmxlIEFmZmlsaWF0ZSBQbGFucw== RGlzYWJsZSBBZmZpbGlhdGUgUGxhbnM= U2V0IFByaW1hcnkgQWZmaWxpYXRlIFBsYW4= RW5hYmxlIENvdXBvbnM= RGlzYWJsZSBDb3Vwb25z TW92ZS1kb3duIFByaW9yaXR5IGZvciBDdXJyZW5jeQ== TW92ZS11cCBQcmlvcml0eSBmb3IgQ3VycmVuY3k= U2V0IFByaW1hcnkgQ3VycmVuY3k= VXBkYXRlIEN1cnJlbmN5IFJhdGVz RW5hYmxlIERpc2NvdW50cw== RGlzYWJsZSBEaXNjb3VudHM= RW5hYmxlIEdpZnQgQ2VydGlmaWNhdGVz RGlzYWJsZSBHaWZ0IENlcnRpZmljYXRlcw== QXBwcm92ZSBPcmRlcnM= QXJjaGl2ZSBPcmRlcnM= RGVueSBPcmRlcnM= UGxhY2UgT3JkZXJz UHJvY2VzcyBPcmRlcnM= UmVzZXQgT3JkZXJzIHRvIFBlbmRpbmc= U2hpcCBPcmRlcnM= RW5hYmxlIFNoaXBwaW5nIFR5cGU= RGlzYWJsZSBTaGlwcGluZyBUeXBl RW5hYmxlIFNoaXBwaW5nIFF1b3RpbmcgRW5naW5lcw== RGlzYWJsZSBTaGlwcGluZyBRdW90aW5nIEVuZ2luZXM= QWRkIFByb2R1Y3Q= RGVsZXRlIFByb2R1Y3Q= TW9kaWZ5IFByb2R1Y3Q= UmF0ZSBQcm9kdWN0 Q29tbWVudCBQcm9kdWN0 Q29tbWVudCBQcm9kdWN0IFBlbmRpbmc= VmlldyBQcm9kdWN0 TWFudWZhY3R1cmVycyBwZXIgcGFnZQ== TWFudWZhY3R1cmVycyBwZXIgcGFnZSBvbiBhIHNob3J0IGxpc3Rpbmc= TnVtYmVyIG9mIHByb2R1Y3RzIHBlciBwYWdl TnVtYmVyIG9mIHByb2R1Y3RzIHBlciBwYWdlIG9uIGEgc2hvcnQgbGlzdGluZw== UGVyIFVuaXQ= S2luYQ== UGhpbGlwcGluZSBQZXNv UGFraXN0YW4gUnVwZWU= WmxvdHk= UHJlY2lzaW9u T3JkZXI= UHJvY2VzcyBiYWNrb3JkZXJzIGF1dG9tYXRpY2FsbHk= UHJvY2Vzc2Vk UHJvY2Vzc2luZyBGZWU= UHJvZHVjdA== UHJvZHVjdCBEZWxldGVk RG93bmxvYWRhYmxl UGFja2FnZQ== U2VydmljZQ== U3Vic2NyaXB0aW9u VGFuZ2libGU= QWZmaWxpYXRlIENvb2tpZSBEdXJhdGlvbiAoaW4gZGF5cyk= QWZmaWxpYXRlIEdyb3Vw QWZmaWxpYXRlIFN0b3JhZ2UgTWV0aG9k TXVsdGlsaW5ndWFs Q2FsY3VsYXRlIFByaWNpbmcgYnk= QWxsb3cgcmVnaXN0cmF0aW9uIGFzIGFmZmlsaWF0ZQ== UHJvcGFnYXRlIFZhbHVlcw== R3VhcmFuaQ== UWF0YXJpIFJpYWw= cXVhcnRlcg== UmVjYWxjdWxhdGUgT3JkZXI= Q2hhcmdlIFJlY3VycmluZyBPcmRlcnMgKGRheXMgaW4gYWR2YW5jZSk= UmVjdXJyaW5nIE9yZGVyIERlbmllZA== UmVjdXJyaW5nIE9yZGVyIFByb2Nlc3NlZA== UmVzZXQgYmFja29yZGVyIGZsYWcgYXV0b21hdGljYWxseSB3aGVuIEF2YWlsYWJsZSBxdWFudGl0eSBpcyBlcXVhbCB0bywgb3IgYWJvdmU= UmVzZXQgVG8gQmFzZQ== UmlnaHQ= TGV1 UnVzc2lhbiBSdWJsZQ== UnVzc2lhbiBSdWJsZQ== UndhbmRhIEZyYW5j U2F1ZGkgUml5YWw= U29sb21vbiBJc2xhbmRzIERvbGxhcg== U2V5Y2hlbGxlcyBSdXBlZQ== U3VkYW5lc2UgRGluYXI= QWR2ZXJ0aXNpbmcgTWF0ZXJpYWxz QWZmaWxpYXRl QmFja29yZGVyaW5n Q29tbWVudHM= Q3JlZGl0IENhcmQ= Q3VycmVuY3k= U2VuZCB2aWEgRS1tYWlsIHRv RmlsZXM= IFRoaXMgaGVscCBzZWN0aW9uIGRvZXMgbm90IHlldCBleGlzdCwgaXQncyBjb21pbmcgc29vbiE= QmlsbGluZyBJbmZvcm1hdGlvbg== U2hpcHBpbmcgSW5mb3JtYXRpb24= U2VuZCB2aWEgUG9zdGFsIE1haWwgdG8= UHJpY2UgQnJhY2tldA== UHJvZHVjdA== U2hpcHBpbmcgQ29zdHM= U2hpcHBpbmcgWm9uZQ== U3RhdGlzdGljcw== U3RvcmUgU2V0dGluZ3M= VGF4IFpvbmU= U3dlZGlzaCBLcm9uYQ== U2VsZWN0ZWQgUHJvZHVjdHMgT25seQ== U2V0IGJhY2tvcmRlciBmbGFnIGF1dG9tYXRpY2FsbHkgd2hlbiBBdmFpbGFibGUgcXVhbnRpdHkgaXMgZXF1YWwgdG8= U2luZ2Fwb3JlIERvbGxhcg== U2hpcHBpbmcgYW5kIEhhbmRsaW5n SUQ= QW55ICsgU2VsZWN0ZWQ= U2hpcHBpbmcgQ29kZQ== RnJvbSBMb2NhdGlvbg== U2VsZWN0ZWQgT25seQ== TmFtZQ== VHlwZQ== U2hpcCBhbGwgaXRlbXMgdG9nZXRoZXI= U2hpcCBiYWNrb3JkZXJzIHVwb24gYXZhaWxhYmxl U2hpcCBiYWNrb3JkZXJlZCBpdGVtcyBzZXBhcmF0ZWx5 U2FpbnQgSGVsZW5hIFBvdW5k VG9sYXI= U2xvdmFrIEtvcnVuYQ== TGVvbmU= U29tYWxpIFNoaWxsaW5n U3BlZWQgQ29kZQ== U1JE U3VyaW5hbWUgR3VpbGRlcg== U3RhcnRpbmcgb3JkZXIgbnVtYmVy U3RhdGU= RG9icmE= TmFtZQ== U3VidG90YWw= RWwgU2FsdmFkb3IgQ29sb24= U3lyaWFuIFBvdW5k TGlsYW5nZW5p QWNjZXNz QWNjZXNzICYgUHJpY2luZw== QWRkcmVzc2Vz QWZmaWxpYXRlIFBheW1lbnQgVHlwZXM= QWZmaWxpYXRlIFBsYW5z QWZmaWxpYXRlcw== QXJjaGl2ZWQ= QmFja29yZGVycw== QmlsbGluZw== QnJhY2tldHM= Q29udGFjdCBJbmZvcm1hdGlvbg== Q29zdHM= Q291cG9ucw== SXRlbXM= Q3VycmVuY2llcw== Q3VzdG9tIFNoaXBwaW5nIFR5cGVz RGVuaWVk SXRlbXM= RGlzY291bnRz RGlzY291bnRzICYgQ2VydGlmaWNhdGVz RG93bmxvYWQgTG9n RWRpdGluZyBTaGlwcGluZyB0eXBl RmlsZXMgJiBQcmljaW5n R2F0ZXdheQ== R2lmdCBDZXJ0aWZpY2F0ZXM= SW5jb21wbGV0ZQ== SW52ZW50b3J5 TWFudWZhY3R1cmVycw== TkVXIFJlZ2lvbmFs T3B0aW9ucw== T3JkZXJz VHJhbnNhY3Rpb25z UGF5bWVudHM= UGF5bWVudCBUeXBlcw== UGVuZGluZw== UHJldmlldw== UHJpY2luZw== UHJvY2Vzc2Vk UHJvZHVjdHM= UmV0dXJuZWQ= U2FsZXMgUmVwb3J0 U2hpcHBpbmc= U2hpcHBpbmcgUXVvdGUgRW5naW5lcw== U2hpcHBpbmcgWm9uZXM= RWRpdGluZyBTaGlwcGluZyBUeXBlcw== VGF4ZXM= VG8gU2hpcA== VXNlciBHcm91cHM= QWRkaXRpb25hbA== QWZmaWxpYXRlcw== Q2FycmllcnM= Q29tYmluYXRpb24= Q29tcGFueSBOYW1l Q29udGFjdCBOYW1l R2VuZXJhbCBjb250YWN0IGluZm9ybWF0aW9u Q291cG9ucw== Q3VycmVuY2llcw== RGVsaXZlcnk= RmF4 TWFudWZhY3R1cmVycw== T3B0aW9u T3JkZXJz T3RoZXI= T3RoZXJz UHJpY2UgQnJha2V0IENhbGN1bGF0aW9u UHJvZHVjdA== UHJvZHVjdHM= UHJvcGVydGllcw== UHJvZHVjdCBDYXRlZ29yaWVzIGJ5 UHJvZHVjdHMgYnk= U2hpcHBpbmcgRnJvbSBhZGRyZXNz U2hpcHBpbmcgVHlwZQ== Q29udGFjdCBBZGRyZXNz U3RvcmUgTmFtZQ== VG9wIHNlbGxlcnM= QmFodA== QWRkaW5nIEFkZHJlc3M= QWRkaW5nIEN1cnJlbmN5 QWRkaW5nIEdpZnQgQ2VydGlmaWNhdGU= QWRkaW5nIG1hbnVmYWN0dXJlcg== QWRkaW5nIFBheW1lbnQgVHlwZQ== QWRkaW5nIFNoaXBwaW5nIFR5cGU= QWRkaW5nIFNoaXBwaW5nIFpvbmU= QWRkaW5nIFRheCBab25l QWRkaW5nIEFmZmlsaWF0ZQ== QWRkaW5nIEFmZmlsaWF0ZSBQYXltZW50IFR5cGU= QWRkaW5nIEFmZmlsaWF0ZSBQbGFu QWRkaW5nIENvdXBvbg== QWRkaW5nIERpc2NvdW50 QWRkaW5nIEZpbGU= QWRkaW5nIE9wdGlvbg== QWRkaW5nIE9yZGVy QWRkaW5nIFByaWNlIEJyYWNrZXQ= QWRkaW5nIFByb2R1Y3Q= QWRkcmVzc2Vz QWZmaWxpYXRlIFBheW1lbnRz QWZmaWxpYXRlIFBheW1lbnQgVHlwZXM= QWZmaWxpYXRlIFBsYW5z QnJhY2tldHM= QWZmaWxpYXRlcw== QXBwbHkgTW9kaWZpZXI= QmFja29yZGVycyBMaXN0 QnJhY2tldHM= Q29zdHM= Q291cG9uIEl0ZW1z Q291cG9ucw== Q291cG9uIFNlbGVjdG9y Q3VycmVuY2llcw== RGlzY291bnQgSXRlbXM= RGlzY291bnRz RWRpdGluZyBBZGRyZXNz RWRpdGluZyBDdXJyZW5jeQ== RWRpdGluZyBHaWZ0IENlcnRpZmljYXRl RWRpdGluZyBNYW51ZmFjdHVyZXI= RWRpdGluZyBQYXltZW50IFR5cGU= RWRpdGluZyBTaGlwcGluZyBRdW90ZSBFbmdpbmU= RWRpdGluZyBTaGlwcGluZyBUeXBl RWRpdGluZyBTaGlwcGluZyBab25l RWRpdGluZyBUYXggWm9uZQ== RWRpdGluZyBBZmZpbGlhdGU= RWRpdGluZyBBZmZpbGlhdGUgUGF5bWVudCBUeXBl RWRpdGluZyBBZmZpbGlhdGUgUGxhbg== RWRpdGluZyBDb3Vwb24= RWRpdGluZyBEaXNjb3VudA== RWRpdGluZyBGaWxl RWRpdGluZyBPcHRpb24= RWRpdGluZyBPcmRlcg== RWRpdGluZyBPcmRlciBJdGVt RWRpdGluZyBQcmljZSBCcmFja2V0 RWRpdGluZyBQcm9kdWN0 RmlsZSBEb3dubG9hZHM= R2F0ZXdheQ== R2lmdCBDZXJ0aWZpY2F0ZXM= SW1wb3J0IFByb2R1Y3Rz RS1jb21tZXJjZQ== SW5jb21wbGV0ZSBPcmRlcnMgTGlzdA== TWFuYWdpbmcgT3B0aW9uIENvbWJpbmF0aW9ucw== TWFuYWdlIFNoaXBwaW5nIFR5cGVz TWFudWZhY3R1cmVycw== TmV3IEN1cnJlbmN5 TmV3IEdpZnQgQ2VydGlmaWNhdGU= TmV3IG1hbnVmYWN0dXJlcg== TmV3IFBheW1lbnQgVHlwZQ== TmV3IFByb2R1Y3Q= TmV3IFNoaXBwaW5nIFR5cGU= TmV3IFNoaXBwaW5nIFpvbmU= TmV3IFRheCBab25l TmV3IEFmZmlsaWF0ZQ== TmV3IEFmZmlsaWF0ZSBQYXltZW50IFR5cGU= TmV3IEFmZmlsaWF0ZSBQbGFu TmV3IENvdXBvbg== TmV3IERpc2NvdW50 TmV3IEZpbGU= TmV3IE9wdGlvbg== TmV3IE9yZGVy TmV3IFByaWNlIEJyYWNrZXQ= QmlsbGluZw== VHJhbnNhY3Rpb24gRGV0YWlscw== SXRlbXM= UHJldmlldw== T3JkZXJz QXJjaGl2ZWQgT3JkZXJzIExpc3Q= RGVuaWVkIE9yZGVycyBMaXN0 T3JkZXJzIEV4cG9ydA== U2hpcHBpbmc= UHJvY2Vzc2VkIE9yZGVycyBMaXN0 T3JkZXJzIHdpdGggUmV0dXJucw== Rm91bmQgT3JkZXJzIExpc3Q= VG8gU2hpcCBPcmRlcnMgTGlzdA== UGF5bWVudHM= UGF5bWVudCBUeXBlcw== UGF5IE91dCBUbw== UGVuZGluZyBPcmRlcnMgTGlzdA== UHJvZHVjdHM= UHJvZHVjdHMgRXhwb3J0 QWNjZXNz UHJpY2luZw== RmlsZXM= SW52ZW50b3J5 UHJvZHVjdCBPcHRpb25z UGFja2FnZSBDb250ZW50 UHJpY2luZw== U2FsZXMgUmVwb3J0IC0gT3B0aW9ucw== U2FsZXMgUmVwb3J0IFJlc3VsdHM= U2FsZXMgUmVwb3J0IENoYXJ0 U2hpcHBpbmcgUXVvdGUgRW5naW5lcw== U2hpcHBpbmcgVHlwZXM= VGF4ZXM= Wm9uZXM= U29tb25p TWFuYXQ= VHVuaXNpYW4gRGluYXI= QWRkIEl0ZW1z QWRkIFByb2R1Y3Q= QXJjaGl2ZQ== QXJyYW5nZQ== Q2xlYXIgQWxs RW50aXJlIE9yZGVy RmxpcA== R28gdG8gT3JkZXI= SW5maW5pdHk= TW9kaWZ5 TW9yZSBCcmFja2V0cw== TmV3IEFkZHJlc3M= TmV3IEFmZmlsaWF0ZSBQYXltZW50IFR5cGU= TmV3IEdpZnQgQ2VydGlmaWNhdGU= TmV3IE1hbnVmYWN0dXJlcg== TmV3IE9wdGlvbg== TmV3IFBheW1lbnQgVHlwZQ== TmV3IFByaWNpbmc= TmV3IFByb2R1Y3Q= TmV3IFNoaXBwaW5nIFpvbmU= TmV3IFRheCBab25l TmV3IEFmZmlsaWF0ZQ== TmV3IEFmZmlsaWF0ZSBQbGFu TmV3IENvdXBvbg== TmV3IERpc2NvdW50 TmV3IE9yZGVy TmV3IFByaWNpbmcgTGltaXQ= QWRkIG5ldyBwcm9kdWN0cw== TmV3IFNoaXBwaW5nIHR5cGU= TmV3IFpvbmU= UGF5IE91dA== UERG UGxhY2UgT3JkZXI= UHJvY2Vzcw== UmVzZXQgVG8gQmlsbGluZw== UmVzZXQgVG8gUGVuZGluZw== UmVzZXQgVG8gU2hpcHBpbmc= UmVzZXQgVG8gVXNlcg== UnVuIFJlcG9ydA== U2F2ZSAmIFByaW50 U2hpcA== VXBkYXRlIFJhdGVz VmlldyBDaGFydA== UGFgYW5nYQ== VG8gU2hpcA== VG90YWwgU2F2aW5ncw== VGltb3IgRXNjdWRv VHVya2lzaCBMaXJh VFJZ VHJpbmlkYWQgYW5kIFRvYmFnbyBEb2xsYXI= TmV3IFRhaXdhbiBEb2xsYXI= RXF1YWxz VGFuemFuaWFuIFNoaWxsaW5n SHJ5dm5pYQ== VWdhbmRhIFNoaWxsaW5n VXBkYXRlIFJhdGUgVG8gUHJpbWFyeQ== VVMgRG9sbGFy VXNlZA== VXNlciBEZWZpbmVk VVMgRG9sbGFyIChOZXh0IGRheSk= VVMgRG9sbGFyIChTYW1lIGRheSk= UGVzbyBVcnVndWF5bw== VXpiZWtpc3RhbiBTdW0= U2FsZXMgVGF4L1ZBVA== Qm9saXZhcg== VmlldyBMYWJlbA== RG9uZw== VmF0dQ== Rm9sbG93aW5nIGN1cnJlbmNpZXMgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gYW55IHBheW1lbnQgdHlwZXM= V291bGQgeW91IGxpa2UgdG8gZGlzYWJsZSB0aGVt QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNoYW5nZSBJbnZlbnRvcnkgU3RhdHVzPyBDaGFuZ2luZyB0aGUgc3RhdHVzIG1heSBhZmZlY3QgY3VycmVudCBvcmRlcnMgYW5kIHByb2R1Y3QgcXVhbnRpdGllcy4= U2VsZWN0IG9wdGlvbiBjb21iaW5hdGlvbiB0byB1c2U= RG8geW91IHdhbnQgdG8gdXBkYXRlIGFsbCByYXRlcw== QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVwZGF0ZSB0aGUgc2VsZWN0ZWQgcmF0ZXM= V2hvbGUgT3JkZXI= VGFsYQ== Q0ZBIEZyYW5jIEJFQUM= RWFzdCBDYXJpYmJlYW4gRG9sbGFy WERS Q0ZBIEZyYW5jIEJDRUFP Q0ZQIEZyYW5j WWVtZW5pIFJpYWw= WXVnb3NsYXZpYW4gRGluYXI= UmFuZA== WmVyb3M= WklQ S3dhY2hh QXZhaWxhYmxlIGNvdW50cmllcw== QXZhaWxhYmxlIHN0YXRlcw== QXZhaWxhYmxlIFpJUCBjb2Rlcw== U2hpcCB0byBDb3VudHJpZXM= U2hpcCB0byBTdGF0ZXMvUHJvdmljZXM= U2hpcCB0byBaSVAgY29kZXM= WmltYmFid2UgRG9sbGFy TWFudWZhY3R1cmVy VGhpcyBpcyB5b3VyIHByb2ZpbGUgYWRkcmVzcy4gSXQgd2lsbCBiZSB1cGRhdGVkIGlmIHlvdSBlZGl0IHRoZSBhZGRyZXNzIGJlbG93Lg== U2hpcG1lbnQ= U2hpcHBpbmcgVHlwZQ== QWZmaWxpYXRlIGNvbW1pc3Npb24gcGF5bWVudCBoYXMgYmVlbiBpc3N1ZWQ= WW91ciBhZmZpbGlhdGUgY29tbWlzc2lvbiBwYXltZW50IGhhcyBiZWVuIGlzc3VlZCwgcGxlYXNlIGxvZ2luIHRvIFlvdXIgQWNjb3VudCwgQWZmaWxpYXRlIFBheW1lbnRzIHNlY3Rpb24gdG8gY2hlY2sgdGhlIGRldGFpbHMu QWZmaWxpYXRlIGNvbW1pc3Npb24gcGF5bWVudCBpc3N1ZWQ= QWZmaWxpYXRlIGNvbW1pc3Npb24gcGF5bWVudCBoYXMgYmVlbiBpc3N1ZWQu QWZmaWxpYXRlIHBheW1lbnQgdHlwZSBoYXMgY2hhbmdlZA== QWZmaWxpYXRlIHBheW1lbnQgdHlwZSBoYXMgY2hhbmdlZA== QWZmaWxpYXRlIHBheW1lbnQgdHlwZSBjaGFuZ2Vk QWZmaWxpYXRlIHBheW1lbnQgdHlwZSBjaGFuZ2Vk TmV3IEFmZmlsaWF0ZSBSZWdpc3RyYXRpb24= SGVsbG8sPGJyLz48YnIvPg0KDQpUaGFuayB5b3UgZm9yIHJlZ2lzdGVyaW5nIGFzIGFmZmlsaWF0ZS4gWW91IHdpbGwgYmUgbm90aWZpZWQgdmlhIGUtbWFpbCB3aGVuIHlvdXIgcmVnaXN0cmF0aW9uIGlzIGFwcHJvdmVkLg== TmV3IEFmZmlsaWF0ZSBSZWdpc3RlcmVk TmV3IGFmZmlsaWF0ZSB1c2VyIGhhcyByZWdpc3RlcmVkLiBQbGVhc2UgcHJvY2VlZCB0byBBZG1pbmlzdHJhdGl2ZSBDb25zb2xlIHRvIHJldmlldyB0aGUgcmVnaXN0cmF0aW9uLg== QWZmaWxpYXRlIHJlZ2lzdHJhdGlvbiBhcHByb3ZlZA== QWZmaWxpYXRlIHJlZ2lzdHJhdGlvbiBoYXMgYmVlbiBhcHByb3ZlZC4= QWZmaWxpYXRlIHJlZ2lzdHJhdGlvbiBhcHByb3ZlZA== TmV3IEFmZmlsaWF0ZSByZWdpc3RyYXRpb24gaGFzIGJlZW4gYXBwcm92ZWQu QWZmaWxpYXRlIHJlZ2lzdHJhdGlvbiBkZW5pZWQ= TmV3IEFmZmlsaWF0ZSByZWdpc3RyYXRpb24gaGFzIGJlZW4gZGVuaWVkLg== QWZmaWxpYXRlIHJlZ2lzdHJhdGlvbiBkZW5pZWQ= TmV3IEFmZmlsaWF0ZSByZWdpc3RyYXRpb24gaGFzIGJlZW4gZGVuaWVkLg== TmV3IEJhY2tvcmRlciBhZGRlZA== RGVhciA8aW5wMjpvcmRfRmllbGQgbmFtZT0iQmlsbGluZ1RvIi8+LDxici8+PGJyLz4NCg0KWW91ciBiYWNrIG9yZGVyIG51bWJlciA8aW5wMjpvcmRfRmllbGQgbmFtZT0iT3JkZXJOdW1iZXIiLz4gaGFzIGJlZW4gYWNjZXB0ZWQuIDxici8+PGJyLz4NCg0KWW91IHdpbGwgYmUgbm90aWZpZWQgYnkgZW1haWwgb25jZSB0aGUgb3JkZXIgaXMgcHJvY2Vzc2VkLg== TmV3IEJhY2tvcmRlciBhZGRlZA== TmV3IGJhY2sgb3JkZXIgbnVtYmVyIDxpbnAyOm9yZF9GaWVsZCBuYW1lPSJPcmRlck51bWJlciIvPiBoYXMgYmVlbiBhZGRlZC4gPGJyLz48YnIvPg0KDQpQbGVhc2UgcHJvY2VlZCB0byBhZG1pbmlzdHJhdGl2ZSBjb25zb2xlIHRvIHJldmlldyB0aGUgb3JkZXIu QmFja29yZGVyIGhhcyBiZWVuIFByb2Nlc3NlZA== RGVhciA8aW5wMjpvcmQuLWludl9GaWVsZCBuYW1lPSJCaWxsaW5nVG8iLz4sPGJyLz48YnIvPg0KDQpZb3VyIGJhY2sgb3JkZXIgbnVtYmVyIDxpbnAyOm9yZC4taW52X0ZpZWxkIG5hbWU9Ik9yZGVyTnVtYmVyIi8+IGhhcyBiZWVuIHByb2Nlc3NlZCBhbmQgZnVsZmlsbGVkLg== WW91IEJhY2tvcmRlciAjPGlucDI6b3JkLi1pbnZfRmllbGQgbmFtZT0iT3JkZXJOdW1iZXIiLz4gLSBQcm9jZXNzZWQh RGVhciA8aW5wMjpvcmQuLWludl9GaWVsZCBuYW1lPSJCaWxsaW5nVG8iLz4sPGJyLz48YnIvPg0KDQpZb3VyIGJhY2sgb3JkZXIgKG51bWJlciA8aW5wMjpvcmQuLWludl9GaWVsZCBuYW1lPSJPcmRlck51bWJlciIvPikgaGFzIGJlZW4gcHJvY2Vzc2VkLg== WW91ciBPcmRlciBpcyBBcHByb3ZlZA== RGVhciA8aW5wMjpvcmQuLWludl9GaWVsZCBuYW1lPSJCaWxsaW5nVG8iLz4sPGJyLz48YnIvPg0KDQpZb3VyIG9yZGVyIG51bWJlciA8aW5wMjpvcmQuLWludl9GaWVsZCBuYW1lPSJPcmRlck51bWJlciIvPiBoYXMgYmVlbiBhcHByb3ZlZC48YnIvPjxici8+DQoNCjxpbnAyOm1faWYgY2hlY2s9Im1fZ2V0IiB2YXI9Im9yZGVyX2NvdXBvbnMiPg0KWW91IGNhbiB1c2UgY291cG9uczo8YnIvPjxici8+DQo8aW5wMjptX2dldCB2YXI9Im9yZGVyX2NvdXBvbnMiLz4NCjwvaW5wMjptX2lmPg== WW91ciBPcmRlciBpcyBEZW5pZWQ= RGVhciA8aW5wMjpvcmQuLWludl9GaWVsZCBuYW1lPSJCaWxsaW5nVG8iLz4sPGJyLz48YnIvPg0KDQpTb3JyeSwgYnV0IHlvdXIgb3JkZXIgKG51bWJlciA8aW5wMjpvcmQuLWludl9GaWVsZCBuYW1lPSJPcmRlck51bWJlciIvPikgaGFzIGJlZW4gZGVuaWVkLjxici8+PGJyLz4NCg0KUGxlYXNlIGZlZWwgZnJlZSB0byBjb250YWN0IHVzIGFyZSA8YSBocmVmPSIiPjwvYT4= UmVjdXJyaW5nIE9yZGVyIGlzIERlbmllZA== RGVhciA8aW5wMjpvcmQucmVjdXJyaW5nX0ZpZWxkIG5hbWU9IkJpbGxpbmdUbyIvPiw8YnIvPjxici8+DQoNClNvcnJ5LCBidXQgeW91ciByZWN1cnJpbmcgb3JkZXIgKG51bWJlciA8aW5wMjpvcmQucmVjdXJyaW5nX0ZpZWxkIG5hbWU9Ik9yZGVyTnVtYmVyIi8+KSBoYXMgYmVlbiBkZW5pZWQuPGJyLz48YnIvPg0KDQpQbGVhc2UgY29udGFjdCB3ZWJzaXRlIGFkbWluaXN0cmF0b3IgYXQgPGEgaHJlZj0ibWFpbHRvOjxpbnAyOm1fR2V0Q29uZmlnIHZhcj0iU210cF9BZG1pbk1haWxGcm9tIi8+PjxpbnAyOm1fR2V0Q29uZmlnIHZhcj0iU210cF9BZG1pbk1haWxGcm9tIi8+PC9hPg== UmVjdXJyaW5nIE9yZGVyICM8aW5wMjpvcmQucmVjdXJyaW5nX0ZpZWxkIG5hbWU9Ik9yZGVyTnVtYmVyIi8+IGlzIERlbmllZCBieSB0aGUgc3lzdGVt UmVjdXJyaW5nIG9yZGVyIG51bWJlciA8aW5wMjpvcmQucmVjdXJyaW5nX0ZpZWxkIG5hbWU9Ik9yZGVyTnVtYmVyIi8+IGhhcyBiZWVuIGRlbmllZC48YnIvPjxici8+DQoNClBsZWFzZSBwcm9jZWVkIHRvIGFkbWluaXN0cmF0aXZlIGNvbnNvbGUgdG8gcmV2aWV3IHRoZSBvcmRlci4= UmVjdXJyaW5nIE9yZGVyIFN1Y2Nlc3NmdWxseSBQcm9jZXNzZWQ= RGVhciA8aW5wMjpvcmQucmVjdXJyaW5nX0ZpZWxkIG5hbWU9IkJpbGxpbmdUbyIvPiw8YnIvPjxici8+DQoNCllvdXIgcmVjdXJyaW5nIG9yZGVyIChudW1iZXIgPGlucDI6b3JkLnJlY3VycmluZ19GaWVsZCBuYW1lPSJPcmRlck51bWJlciIvPikgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZC48YnIvPjxici8+DQoNCk5vIGZ1cnRoZXIgYWN0aW9uIGlzIHJlcXVpcmVkIGF0IHRoaXMgdGltZS48YnIvPjxici8+ UmVjdXJyaW5nIE9yZGVyICgjPGlucDI6b3JkLnJlY3VycmluZ19GaWVsZCBuYW1lPSJPcmRlck51bWJlciIvPikgaXMgUHJvY2Vzc2Vk UmVjdXJyaW5nIG9yZGVyIG51bWJlciA8aW5wMjpvcmQucmVjdXJyaW5nX0ZpZWxkIG5hbWU9Ik9yZGVyTnVtYmVyIi8+IGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBwcm9jZXNzZWQuPGJyLz48YnIvPg0KDQpObyBmdXJ0aGVyIGFjdGlvbiBpcyByZXF1aXJlZCBhdCB0aGlzIHRpbWUuDQo= WW91ciBPcmRlciB3YXMgc2hpcHBlZA== RGVhciA8aW5wMjpvcmQuLWludl9GaWVsZCBuYW1lPSJTaGlwcGluZ1RvIi8+LDxici8+PGJyLz4NCg0KWW91ciBvcmRlciAobnVtYmVyIDxpbnAyOm9yZC4taW52X0ZpZWxkIG5hbWU9Ik9yZGVyTnVtYmVyIi8+KSBoYXMgYmVlbiBzaGlwcGVkLg== VGhhbmsgeW91IGZvciBZb3VyIE9yZGVyICg8aW5wMjpvcmRfRmllbGQgbmFtZT0iT3JkZXJOdW1iZXIiIC8+KSE= PGlucDI6bV9EZWZpbmVFbGVtZW50IG5hbWU9Im9yZGVyaXRlbV9lbGVtIj4NCgk8aW5wMjpGaWVsZCBuYW1lPSJQcm9kdWN0TmFtZSIgcGFkPSIzNCIvPiAocXR5IDxpbnAyOkZpZWxkIG5hbWU9IlF1YW50aXR5Ii8+KSA8aW5wMjpGaWVsZCBuYW1lPSJFeHRlbmRlZFByaWNlIiBjdXJyZW5jeT0ic2VsZWN0ZWQiLz48YnIvPg0KPC9pbnAyOm1fRGVmaW5lRWxlbWVudD4NCg0KDQpEZWFyIDxpbnAyOm9yZF9GaWVsZCBuYW1lPSJCaWxsaW5nVG8iIC8+LDxici8+PGJyLz4NCg0KVGhhbmsgeW91IGZvciB5b3VyIHB1cmNoYXNlITxici8+PGJyLz4NCg0KPGlucDI6bV9pZiBjaGVjaz0ib3JkX1VzaW5nQ3JlZGl0Q2FyZCI+DQpQbGVhc2UgYWxsb3cgMjQgaG91cnMgZm9yIHVzIHRvIGNvbmZpcm0gYW5kIHByb2Nlc3MgeW91ciBvcmRlci4NCjxpbnAyOm1fZWxzZSAvPg0KUGxlYXNlIHNlbmQgYSBjaGVjayBvciBhIG1vbmV5IG9yZGVyIGluIHRoZSBhbW91bnQgb2YgPGlucDI6b3JkX0ZpZWxkIGZpZWxkPSJUb3RhbEFtb3VudCIgY3VycmVuY3k9InNlbGVjdGVkIi8+IHRvOg0KPGJyLz4NCkFkZHJlc3MNCjxici8+DQpBbGwgY2hlY2tzIG11c3QgYmUgZHJhd24gaW4gVS5TLiBmdW5kcyBmcm9tIGEgVS5TLiBiYW5rLg0KUGxlYXNlIGF0dGFjaCBhIHByaW50b3V0IG9mIHRoaXMgcmVjZWlwdCB3aXRoIHlvdXIgY2hlY2sgYW5kDQp3cml0ZSBkb3duIHlvdXIgb3JkZXIgbnVtYmVyLiAgWW91ciBvcmRlciB3aWxsIGJlIGFwcHJvdmVkDQp3aXRoaW4gOCBidXNpbmVzcyBkYXlzIGFmdGVyIHRoZSBkYXkgd2UgcmVjZWl2ZSB5b3VyIGNoZWNrLA0Kb3Igd2l0aGluIDIgYnVzaW5lc3MgZGF5cyBhZnRlciB3ZSByZWNlaXZlIGEgbW9uZXkgb3JkZXIgb3INCmJhbmsgZHJhZnQuDQo8L2lucDI6bV9pZj4NCjxici8+PGJyLz48YnIvPg0KDQoNCkJlbG93IGFyZSB0aGUgZGV0YWlscyBvZiB5b3VyIG9yZGVyOjxici8+PGJyLz4NCg0KT3JkZXIgQ29udGVudHM6DQo8aHIvPg0KPGlucDI6b3JkX1ByaW50Q2FydCBpdGVtX3JlbmRlcl9hcz0ib3JkZXJpdGVtX2VsZW0iIGhlYWRlcl9yZW5kZXJfYXM9Imh0bWw6IiBmb290ZXJfcmVuZGVyX2FzPSJodG1sOiIgZW1wdHlfY2FydF9yZW5kZXJfYXM9Imh0bWw6IiBwZXJfcGFnZT0iLTEiLz4gDQo8aHIvPg0KU3ViIFRvdGFsOiAgIDxpbnAyOm9yZF9GaWVsZCBmaWVsZD0iU3VidG90YWxXaXRoRGlzY291bnQiIGN1cnJlbmN5PSJzZWxlY3RlZCIvPjxici8+DQpUYXhlczogICAgICAgPGlucDI6b3JkX0ZpZWxkIG5hbWU9IlZBVCIgY3VycmVuY3k9InNlbGVjdGVkIi8+PGJyLz4NClRvdGFsOiAgICAgICA8aW5wMjpvcmRfRmllbGQgZmllbGQ9IlRvdGFsQW1vdW50IiBjdXJyZW5jeT0ic2VsZWN0ZWQiLz4gPGJyLz48YnIvPg0KDQpCaWxsaW5nIEluZm9ybWF0aW9uOg0KPGhyLz4NCkFtb3VudCBCaWxsZWQ6ICAgIDxpbnAyOm9yZF9GaWVsZCBmaWVsZD0iVG90YWxBbW91bnQiIGN1cnJlbmN5PSJzZWxlY3RlZCIvPg0KPGlucDI6bV9pZiBjaGVjaz0ib3JkX1VzaW5nQ3JlZGl0Q2FyZCI+DQpQYXltZW50IFR5cGU6ICAgICA8aW5wMjpvcmRfRmllbGQgbmFtZT0iUGF5bWVudFR5cGUiIC8+DQpDcmVkaXQgQ2FyZDogICAgICA8aW5wMjpvcmRfRmllbGQgbmFtZT0iUGF5bWVudEFjY291bnQiIG1hc2tlZD0ibWFza2VkIi8+DQo8aW5wMjptX2Vsc2UgLz4NClBheW1lbnQgVHlwZTogICAgIDxpbnAyOm9yZF9GaWVsZCBuYW1lPSJQYXltZW50VHlwZSIgLz4NCjwvaW5wMjptX2lmPjxicj48YnIvPg0KDQpDb250YWN0IEluZm9ybWF0aW9uOg0KPGhyLz4NCk5hbWU6ICAgICAgICAgICAgIDxpbnAyOm9yZF9GaWVsZCBmaWVsZD0iQmlsbGluZ1RvIi8+PGJyLz4NCkUtbWFpbDoJCQk8aW5wMjptX2lmIGNoZWNrPSJvcmRfRmllbGQiIG5hbWU9IkJpbGxpbmdFbWFpbCI+DQogIDxhIGhyZWY9Im1haWx0bzo8aW5wMjpvcmRfRmllbGQgZmllbGQ9IkJpbGxpbmdFbWFpbCIvPiI+PGlucDI6b3JkX0ZpZWxkIGZpZWxkPSJCaWxsaW5nRW1haWwiLz48L2E+DQo8aW5wMjptX2Vsc2UgLz4NCiAgPGEgaHJlZj0ibWFpbHRvOjxpbnAyOnVfRmllbGQgZmllbGQ9IkVtYWlsIi8+Ij48aW5wMjp1X0ZpZWxkIGZpZWxkPSJFbWFpbCIvPjwvYT4NCjwvaW5wMjptX2lmPjxici8+DQpDb21wYW55L09yZ2FuaXphdGlvbjogICAgPGlucDI6b3JkX0ZpZWxkIGZpZWxkPSJCaWxsaW5nQ29tcGFueSIvPjxici8+DQpQaG9uZTogICAgICAgICAgICA8aW5wMjpvcmRfRmllbGQgZmllbGQ9IkJpbGxpbmdQaG9uZSIvPjxici8+DQpGYXg6ICAgICAgICAgICAgICA8aW5wMjpvcmRfRmllbGQgZmllbGQ9IkJpbGxpbmdGYXgiLz48YnIvPg0KQWRkcmVzcyBMaW5lIDE6ICAgPGlucDI6b3JkX0ZpZWxkIGZpZWxkPSJCaWxsaW5nQWRkcmVzczEiLz48YnIvPg0KQWRkcmVzcyBMaW5lIDI6ICAgPGlucDI6b3JkX0ZpZWxkIGZpZWxkPSJCaWxsaW5nQWRkcmVzczIiLz48YnIvPg0KQ2l0eTogICAgICAgICAgICAgPGlucDI6b3JkX0ZpZWxkIGZpZWxkPSJCaWxsaW5nQ2l0eSIvPjxici8+DQpTdGF0ZTogICAgICAgICAgICA8aW5wMjpvcmRfRmllbGQgZmllbGQ9IkJpbGxpbmdTdGF0ZSIvPiA8YnIvPg0KWklQIENvZGU6ICAgICAgICAgPGlucDI6b3JkX0ZpZWxkIGZpZWxkPSJCaWxsaW5nWmlwIi8+PGJyLz4NCkNvdW50cnk6ICAgICAgICAgIDxpbnAyOm9yZF9GaWVsZCBmaWVsZD0iQmlsbGluZ0NvdW50cnkiLz48YnIvPg0K TmV3IE9yZGVyIFN1Ym1pdHRlZCAoPGlucDI6b3JkX0ZpZWxkIG5hbWU9Ik9yZGVyTnVtYmVyIi8+KQ== PGlucDI6bV9EZWZpbmVFbGVtZW50IG5hbWU9Im9yZGVyaXRlbV9lbGVtIj4NCjxpbnAyOkZpZWxkIG5hbWU9IlByb2R1Y3ROYW1lIiBwYWQ9IjM0Ii8+IChxdHkgPGlucDI6RmllbGQgbmFtZT0iUXVhbnRpdHkiLz4pIDxpbnAyOkZpZWxkIG5hbWU9IkV4dGVuZGVkUHJpY2UiIGN1cnJlbmN5PSJzZWxlY3RlZCIvPjxici8+DQo8L2lucDI6bV9EZWZpbmVFbGVtZW50Pg0KDQoNCkEgbmV3IG9yZGVyIGhhcyBiZWVuIHBsYWNlZC4gQmVsb3cgaXMgdGhlIHJlY2VpcHQgdGhhdCBoYXMgYmVlbiBzZW50IHRvIHRoZSBjdXN0b21lci48YnIvPg0KUGxlYXNlIHByb2NlZWQgdG8gYWRtaW5pc3RyYXRpb24gc2VjdGlvbiB0byBhcHByb3ZlIHRoaXMgb3JkZXIuPGJyLz48YnIvPg0KDQpPcmRlciBOdW1iZXI6IDxpbnAyOm9yZF9GaWVsZCBuYW1lPSJPcmRlck51bWJlciIgLz48YnIvPg0KRGF0ZS9UaW1lOiA8aW5wMjpvcmRfRmllbGQgbmFtZT0iT3JkZXJEYXRlIiAvPjxici8+PGJyLz48YnIvPg0KDQpEZWFyIDxpbnAyOm9yZF9GaWVsZCBuYW1lPSJCaWxsaW5nVG8iIC8+LDxici8+PGJyLz4NCg0KVGhhbmsgeW91IGZvciB5b3VyIHB1cmNoYXNlITxici8+PGJyLz4NCg0KPGlucDI6bV9pZiBjaGVjaz0ib3JkX1VzaW5nQ3JlZGl0Q2FyZCI+DQpQbGVhc2UgYWxsb3cgMjQgaG91cnMgZm9yIHVzIHRvIGNvbmZpcm0gYW5kIHByb2Nlc3MgeW91ciBvcmRlci4NCjxpbnAyOm1fZWxzZSAvPg0KUGxlYXNlIHNlbmQgYSBjaGVjayBvciBhIG1vbmV5IG9yZGVyIGluIHRoZSBhbW91bnQgb2YgPGlucDI6b3JkX0ZpZWxkIGZpZWxkPSJUb3RhbEFtb3VudCIgY3VycmVuY3k9InNlbGVjdGVkIi8+IHRvOg0KPGJyPg0KQWRkcmVzcw0KPGJyPg0KQWxsIGNoZWNrcyBtdXN0IGJlIGRyYXduIGluIFUuUy4gZnVuZHMgZnJvbSBhIFUuUy4gYmFuay4NClBsZWFzZSBhdHRhY2ggYSBwcmludG91dCBvZiB0aGlzIHJlY2VpcHQgd2l0aCB5b3VyIGNoZWNrIGFuZA0Kd3JpdGUgZG93biB5b3VyIG9yZGVyIG51bWJlci4gIFlvdXIgb3JkZXIgd2lsbCBiZSBhcHByb3ZlZA0Kd2l0aGluIDggYnVzaW5lc3MgZGF5cyBhZnRlciB0aGUgZGF5IHdlIHJlY2VpdmUgeW91ciBjaGVjaywNCm9yIHdpdGhpbiAyIGJ1c2luZXNzIGRheXMgYWZ0ZXIgd2UgcmVjZWl2ZSBhIG1vbmV5IG9yZGVyIG9yDQpiYW5rIGRyYWZ0Lg0KPC9pbnAyOm1faWY+DQoNCg0KQmVsb3cgYXJlIHRoZSBkZXRhaWxzIG9mIHlvdXIgb3JkZXI6PGJyLz48YnIvPg0KDQpPcmRlciBDb250ZW50czo8YnIvPg0KPGhyLz4NCjxpbnAyOm9yZF9QcmludENhcnQgaXRlbV9yZW5kZXJfYXM9Im9yZGVyaXRlbV9lbGVtIiBoZWFkZXJfcmVuZGVyX2FzPSJodG1sOiIgZm9vdGVyX3JlbmRlcl9hcz0iaHRtbDoiIGVtcHR5X2NhcnRfcmVuZGVyX2FzPSJodG1sOiIgcGVyX3BhZ2U9Ii0xIi8+IA0KPGhyLz4NClN1YiBUb3RhbDogICA8aW5wMjpvcmRfRmllbGQgZmllbGQ9IlN1YnRvdGFsV2l0aERpc2NvdW50IiBjdXJyZW5jeT0ic2VsZWN0ZWQiLz48YnIvPg0KVGF4ZXM6ICAgICAgIDxpbnAyOm9yZF9GaWVsZCBuYW1lPSJWQVQiIGN1cnJlbmN5PSJzZWxlY3RlZCIvPjxici8+DQpUb3RhbDogICAgICAgPGlucDI6b3JkX0ZpZWxkIGZpZWxkPSJUb3RhbEFtb3VudCIgY3VycmVuY3k9InNlbGVjdGVkIi8+PGJyLz4NCg0KQmlsbGluZyBJbmZvcm1hdGlvbjoNCjxoci8+DQpBbW91bnQgQmlsbGVkOgk8aW5wMjpvcmRfRmllbGQgZmllbGQ9IlRvdGFsQW1vdW50IiBjdXJyZW5jeT0ic2VsZWN0ZWQiLz48YnIvPg0KPGlucDI6bV9pZiBjaGVjaz0ib3JkX1VzaW5nQ3JlZGl0Q2FyZCI+DQpQYXltZW50IFR5cGU6CTxpbnAyOm9yZF9GaWVsZCBuYW1lPSJQYXltZW50VHlwZSIgLz48YnIvPg0KQ3JlZGl0IENhcmQ6CTxpbnAyOm9yZF9GaWVsZCBuYW1lPSJQYXltZW50QWNjb3VudCIgbWFza2VkPSJtYXNrZWQiLz4NCjxpbnAyOm1fZWxzZSAvPg0KUGF5bWVudCBUeXBlOgk8aW5wMjpvcmRfRmllbGQgbmFtZT0iUGF5bWVudFR5cGUiIC8+DQo8L2lucDI6bV9pZj48YnIvPjxici8+DQoNCkNvbnRhY3QgSW5mb3JtYXRpb246PGJyLz4NCjxoci8+DQpOYW1lOiA8aW5wMjpvcmRfRmllbGQgZmllbGQ9IkJpbGxpbmdUbyIvPjxici8+IA0KRS1tYWlsOgkJCTxpbnAyOm1faWYgY2hlY2s9Im9yZF9GaWVsZCIgbmFtZT0iQmlsbGluZ0VtYWlsIj4NCiAgPGEgaHJlZj0ibWFpbHRvOjxpbnAyOm9yZF9GaWVsZCBmaWVsZD0iQmlsbGluZ0VtYWlsIi8+Ij48aW5wMjpvcmRfRmllbGQgZmllbGQ9IkJpbGxpbmdFbWFpbCIvPjwvYT4NCjxpbnAyOm1fZWxzZSAvPg0KICA8YSBocmVmPSJtYWlsdG86PGlucDI6dV9GaWVsZCBmaWVsZD0iRW1haWwiLz4iPjxpbnAyOnVfRmllbGQgZmllbGQ9IkVtYWlsIi8+PC9hPg0KPC9pbnAyOm1faWY+PGJyLz4NCkNvbXBhbnkvT3JnYW5pemF0aW9uOiA8aW5wMjpvcmRfRmllbGQgZmllbGQ9IkJpbGxpbmdDb21wYW55Ii8+PGJyLz4NClBob25lOiAgICAgICAgICAgIDxpbnAyOm9yZF9GaWVsZCBmaWVsZD0iQmlsbGluZ1Bob25lIi8+PGJyLz4NCkZheDogICAgICAgICAgICAgIDxpbnAyOm9yZF9GaWVsZCBmaWVsZD0iQmlsbGluZ0ZheCIvPjxici8+DQpBZGRyZXNzIExpbmUgMTogICA8aW5wMjpvcmRfRmllbGQgZmllbGQ9IkJpbGxpbmdBZGRyZXNzMSIvPjxici8+DQpBZGRyZXNzIExpbmUgMjogICA8aW5wMjpvcmRfRmllbGQgZmllbGQ9IkJpbGxpbmdBZGRyZXNzMiIvPjxici8+DQpDaXR5OiAgICAgICAgICAgICA8aW5wMjpvcmRfRmllbGQgZmllbGQ9IkJpbGxpbmdDaXR5Ii8+PGJyLz4NClN0YXRlOiAgICAgICAgICAgIDxpbnAyOm9yZF9GaWVsZCBmaWVsZD0iQmlsbGluZ1N0YXRlIi8+PGJyLz4NClpJUCBDb2RlOiAgICAgICAgIDxpbnAyOm9yZF9GaWVsZCBmaWVsZD0iQmlsbGluZ1ppcCIvPjxici8+DQpDb3VudHJ5OiAgICAgICAgICA8aW5wMjpvcmRfRmllbGQgZmllbGQ9IkJpbGxpbmdDb3VudHJ5Ii8+PGJyLz4= WW91ciBGcmllbmQgcmVjb21tZW5kcyB0byBsb29rIGF0IHRoaXMgaXRlbQ== RGVhciA8aW5wMjptX3BhcmFtIG5hbWU9InRvX25hbWUiIC8+LDxici8+PGJyLz4NCg0KPGlucDI6bV9wYXJhbSBuYW1lPSJmcm9tX25hbWUiIC8+IHRoaW5rcyB0aGF0IHRoaXMgaXRlbSBpbiBvdXIgb25saW5lIHN0b3JlIG1pZ2h0IGJlIG9mIGludGVyZXN0IHRvIHlvdS4gPGlucDI6bV9wYXJhbSBuYW1lPSJmcm9tX25hbWUiIC8+IHdyaXRlczo8YnI+DQotLS0tPGJyPg0KPGJsb2NrcXVvdGU+DQo8aW5wMjptX3BhcmFtIG5hbWU9Im1lc3NhZ2VfdGV4dCIvPg0KPC9ibG9ja3F1b3RlPg0KLS0tLTxicj4NCjxicj4NClRvIHNlZSB0aGUgaXRlbSBkZXRhaWxzLCBwbGVhc2UgPGEgaHJlZj0iPGlucDI6cF9Qcm9kdWN0TGluayB0ZW1wbGF0ZT0iaW4tY29tbWVyY2UvcHJvZHVjdC9kZXRhaWxzIi8+Ij5jbGljayBoZXJlPC9hPi48YnI+DQo8YnI+DQpTaW5jZXJlbHksPGJyPg0KPGlucDI6Y29uZl9Db25maWdWYWx1ZSBuYW1lPSJTaXRlX05hbWUiLz4gb25saW5lIHN0b3JlIEFkbWluaXN0cmF0aW9uPGJyPg0KPGJyPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogc21hbGw7IGNvbG9yOiAjNTU1Ij4NClRoaXMgZW1haWwgd2FzIGdlbmVyYXRlZCBiZWNhdXNlIHNvbWVvbmUgd2hvIGtub3dzIHlvdXIgZW1haWwgYWRkcmVzcyBoYXMgY2hvc2VuIHRvIG5vdGlmeSB5b3UgYWJvdXQgb25lIG9mIG91ciBwcm9kdWN0cy4gVGhpcyBpcyBhbiBhdXRvbWF0aWMgZmVhdHVyZSBvZiBvdXIgb25saW5lIHN0b3JlLiBZb3VyIGVtYWlsIGFkZHJlc3MgaGFzIG5vdCBiZWVuIHJlY29yZGVkLCBhbmQgeW91IGhhdmUgbm90IGJlZW4gc3Vic2NyaWJlZCB0byBhbnkgbWFpbGluZyBsaXN0cy4gV2UgYXBvbG9naXplIGZvciBhbnkgaW5jb252ZW5pZW5jZSB0aGlzIG1lc3NhZ2UgbWlnaHQgaGF2ZSBjYXVzZWQuDQo8L3NtYWxsPg== T25lIG9mIHlvdXIgUHJvZHVjdHMgaGFzIGJlZW4gUmVjb21tZW5kZWQ= QSBwcm9kdWN0IGZyb20gaGFzIGJlZW4gc3VnZ2VzdGVkLjxici8+PGJyLz4NCg0KU3VnZ2VzdGVkIHByb2R1Y3QgZGV0YWlsczogPGEgaHJlZj0iPGlucDI6cF9Qcm9kdWN0TGluayB0ZW1wbGF0ZT0iX19kZWZhdWx0X18iLz4iPjxpbnAyOnBfRmllbGQgbmFtZT0iTmFtZSIvPjwvYT48YnI+DQo= WW91ciBHaWZ0IENlcnRpZmljYXRl RGVhciA8aW5wMjptX3BhcmFtIG5hbWU9InRvX25hbWUiLz4sPGJyLz48YnIvPg0KDQpQbGVhc2UgYWNjZXB0IHRoaXMgZ2lmdCBjZXJ0aWZpY2F0ZSBmb3IgdGhlIGFtb3VudCBvZiA8aW5wMjptX3BhcmFtIG5hbWU9ImFtb3VudCIvPiAuPGJyLz48YnIvPg0KDQpDZXJ0aWZpY2F0ZSBjb2RlIGlzOiA8aW5wMjptX3BhcmFtIG5hbWU9ImdpZmNlcnRfaWQiLz4gYW5kIGNhbiBiZSB1c2VkIGZvciBhbnkgcHVyY2hhc2Ugb24gb3VyIHdlYnNpdGUuPGJyLz48YnIvPg0KDQo8aW5wMjptX2lmIGNoZWNrPSJtX3BhcmFtIiBuYW1lPSJtZXNzYWdlIj4NCjxpbnAyOm1fcGFyYW0gbmFtZT0ibWVzc2FnZSIvPjxici8+DQo8L2lucDI6bV9pZj4NCjxici8+DQoNClRoYW5rIHlvdSBmb3Igc2hvcHBpbmcgd2l0aCB1cyENCg0KDQoNCg0K R2lmdCBDZXJ0aWZpY2F0ZSAtIEVtYWlsIENvbmZpcm1hdGlvbg== VGhpcyBpcyBhbiBlbWFpbCBjb25maXJtYXRpb24gdGhhdCBHaWZ0IENlcnRpZmljYXRlICI8aW5wMjptX3BhcmFtIG5hbWU9ImdpZmNlcnRfaWQiLz4iIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBlbWFpbGVkIHRvIDxpbnAyOm1fcGFyYW0gbmFtZT0idG9fbmFtZSIvPiAoPGEgaHJlZj0ibWFpbHRvOjxpbnAyOm1fcGFyYW0gbmFtZT0idG9fZW1haWwiLz4iPjxpbnAyOm1fcGFyYW0gbmFtZT0idG9fZW1haWwiLz48L2E+KSAu - \ No newline at end of file +